From 670f8cb8722ab3fde2115ae2313cfc3c064c392a Mon Sep 17 00:00:00 2001 From: Steffion Date: Sat, 27 Jul 2013 23:46:06 +0200 Subject: [PATCH] Added List command. Shows a list of avaible arenas. --- .../Steffion/BlockHunt/Commands/CMDlist.java | 69 +++++++++++++++++++ .../Steffion/BlockHunt/Managers/CommandC.java | 26 ++++--- .../Steffion/BlockHunt/Managers/ConfigC.java | 2 + .../Steffion/BlockHunt/Managers/PlayerM.java | 3 +- src/nl/Steffion/BlockHunt/W.java | 2 + 5 files changed, 92 insertions(+), 10 deletions(-) create mode 100644 src/nl/Steffion/BlockHunt/Commands/CMDlist.java diff --git a/src/nl/Steffion/BlockHunt/Commands/CMDlist.java b/src/nl/Steffion/BlockHunt/Commands/CMDlist.java new file mode 100644 index 0000000..424b345 --- /dev/null +++ b/src/nl/Steffion/BlockHunt/Commands/CMDlist.java @@ -0,0 +1,69 @@ +package nl.Steffion.BlockHunt.Commands; + +import java.io.File; +import java.util.ArrayList; + +import nl.Steffion.BlockHunt.W; +import nl.Steffion.BlockHunt.Managers.ConfigC; +import nl.Steffion.BlockHunt.Managers.MessageM; +import nl.Steffion.BlockHunt.Managers.PlayerM; +import nl.Steffion.BlockHunt.Managers.PlayerM.PermsC; + +import org.bukkit.command.Command; +import org.bukkit.entity.Player; + +public class CMDlist extends DefaultCMD { + + @Override + public boolean exectue(Player player, Command cmd, String label, + String[] args) { + if (PlayerM.hasPerm(player, PermsC.list, true)) { + MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false, + "header-" + W.pluginName); + File arenaworldFolder = new File("plugins/" + W.pluginName + + "/defaultArenas/"); + ArrayList arenas = new ArrayList(); + for (String file : arenaworldFolder.list()) { + File arenaCheck = new File(arenaworldFolder, file); + if (arenaCheck.isDirectory()) { + arenas.add(arenaCheck.getName()); + } + } + if (arenas.size() >= 1) { + for (String arena : arenas) { + MessageM.sendMessage(player, "%A" + arena, false); + } + } else { + MessageM.sendMessage(player, "&7&oNo arenas available...", + false); + MessageM.sendMessage(player, "&7&oAdd arenas in the '" + + W.pluginName + "/defaultArenas/' folder.", false); + MessageM.sendMessage( + player, + "&7&oWhile adding maps, be sure you REMOVE the uid.dat file. To prevent crashes.", + false); + } + MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false, + "header-&oArenas list"); + } + return true; + } + + public static boolean isAnArena(String worldname) { + File arenaworldFolder = new File("plugins/" + W.pluginName + + "/defaultArenas/"); + + ArrayList arenas = new ArrayList(); + for (String file : arenaworldFolder.list()) { + File arenaCheck = new File(arenaworldFolder, file); + if (arenaCheck.isDirectory()) { + arenas.add(arenaCheck.getName()); + } + } + + if (arenas.contains(worldname)) { + return true; + } + return false; + } +} diff --git a/src/nl/Steffion/BlockHunt/Managers/CommandC.java b/src/nl/Steffion/BlockHunt/Managers/CommandC.java index f6a94dd..1e78154 100644 --- a/src/nl/Steffion/BlockHunt/Managers/CommandC.java +++ b/src/nl/Steffion/BlockHunt/Managers/CommandC.java @@ -9,24 +9,24 @@ public enum CommandC { * Made by @author Steffion, © 2013. */ - INFO ("SteffionDefault%_", - "SteffionDefault%_", + INFO ("BlockHunt%_", + "BlockHunt%_", new CMDinfo(), ConfigC.commandEnabled_info, PermsC.info, ConfigC.help_info, 0, "-"), - INFO2 ("SteffionDefault%info_", - "SteffionDefault%i_", + INFO2 ("BlockHunt%info_", + "BlockHunt%i_", new CMDinfo(), ConfigC.commandEnabled_info, PermsC.info, ConfigC.help_info, 1, W.pluginName + " [info|i]"), - HELP ("SteffionDefault%help_", - "SteffionDefault%h_", + HELP ("BlockHunt%help_", + "BlockHunt%h_", new CMDhelp(), ConfigC.commandEnabled_help, @@ -34,14 +34,22 @@ public enum CommandC { ConfigC.help_help, 1, W.pluginName + " [pagenumber]"), - RELOAD ("SteffionDefault%reload_", - "SteffionDefault%r_", + RELOAD ("BlockHunt%reload_", + "BlockHunt%r_", new CMDreload(), ConfigC.commandEnabled_reload, PermsC.reload, ConfigC.help_reload, 1, W.pluginName + " "), + LIST ("BlockHunt%list_", + "BlockHunt%l_", + new CMDlist(), + ConfigC.commandEnabled_list, + PermsC.list, + ConfigC.help_list, + 1, + W.pluginName + " "), NOT_FOUND ("%_", "%_", new CMDnotfound(), @@ -72,4 +80,4 @@ public enum CommandC { this.minLenght = minLenght; this.usage = usage; } -} +} \ No newline at end of file diff --git a/src/nl/Steffion/BlockHunt/Managers/ConfigC.java b/src/nl/Steffion/BlockHunt/Managers/ConfigC.java index 6c4fc94..58fb5ca 100644 --- a/src/nl/Steffion/BlockHunt/Managers/ConfigC.java +++ b/src/nl/Steffion/BlockHunt/Managers/ConfigC.java @@ -18,6 +18,7 @@ public enum ConfigC { commandEnabled_info (true, W.config), commandEnabled_help (true, W.config), commandEnabled_reload (true, W.config), + commandEnabled_list (true, W.config), log_Enabled ("%N%name%&a&k + %N%version% is now Enabled. Made by %A%autors%%N.", W.messages), @@ -27,6 +28,7 @@ public enum ConfigC { help_info ("%NDisplays the plugin's info.", W.messages), help_help ("%NShows a list of commands.", W.messages), help_reload ("%NReloads all configs.", W.messages), + help_list ("%NDisplays a list of available arenas.", W.messages), normal_reloadedConfigs ("&aReloaded all configs!", W.messages), diff --git a/src/nl/Steffion/BlockHunt/Managers/PlayerM.java b/src/nl/Steffion/BlockHunt/Managers/PlayerM.java index 5082080..c33beb7 100644 --- a/src/nl/Steffion/BlockHunt/Managers/PlayerM.java +++ b/src/nl/Steffion/BlockHunt/Managers/PlayerM.java @@ -18,7 +18,8 @@ public class PlayerM { public enum PermsC { info (main + "info", PType.ALL), help (main + "help", PType.ALL), - reload (main + "reload", PType.MODERATOR); + reload (main + "reload", PType.MODERATOR), + list (main + "list", PType.MODERATOR); public String perm; public PType type; diff --git a/src/nl/Steffion/BlockHunt/W.java b/src/nl/Steffion/BlockHunt/W.java index fac9d2b..abfb63d 100644 --- a/src/nl/Steffion/BlockHunt/W.java +++ b/src/nl/Steffion/BlockHunt/W.java @@ -19,6 +19,8 @@ public class W { public static ArrayList newFiles = new ArrayList(); public static ConfigM config = new ConfigM("config", ""); public static ConfigM messages = new ConfigM("messages", ""); + public static ConfigM note1 = new ConfigM("PLACE WORLD FOLDERS HERE!", + "defaultArenas/"); public static void newFiles() { ConfigM.setDefaults();