Added List command.

Shows a list of avaible arenas.
This commit is contained in:
Steffion 2013-07-27 23:46:06 +02:00
parent c9dfa4e8bc
commit 670f8cb872
5 changed files with 92 additions and 10 deletions

View File

@ -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<String> arenas = new ArrayList<String>();
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<String> arenas = new ArrayList<String>();
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;
}
}

View File

@ -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 + " <help|h> [pagenumber]"),
RELOAD ("SteffionDefault%reload_",
"SteffionDefault%r_",
RELOAD ("BlockHunt%reload_",
"BlockHunt%r_",
new CMDreload(),
ConfigC.commandEnabled_reload,
PermsC.reload,
ConfigC.help_reload,
1,
W.pluginName + " <reload|r>"),
LIST ("BlockHunt%list_",
"BlockHunt%l_",
new CMDlist(),
ConfigC.commandEnabled_list,
PermsC.list,
ConfigC.help_list,
1,
W.pluginName + " <list|l>"),
NOT_FOUND ("%_",
"%_",
new CMDnotfound(),
@ -72,4 +80,4 @@ public enum CommandC {
this.minLenght = minLenght;
this.usage = usage;
}
}
}

View File

@ -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),

View File

@ -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;

View File

@ -19,6 +19,8 @@ public class W {
public static ArrayList<String> newFiles = new ArrayList<String>();
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();