From cd62f040c04a986e19eed6e49514c154ffa4bf68 Mon Sep 17 00:00:00 2001 From: garbagemule Date: Thu, 29 Aug 2013 02:01:36 +0200 Subject: [PATCH] Remove obsolete commands, remove "selected arena" The notion of a "selected arena" disappears with this commit. All commands that previously did not require an arena name in the case of multiple arenas now do, i.e. it is no longer possible to "set" an arena to be the target of commands. This should not be an issue, however, since Setup Mode replaces all the commands that previously were the main reason for the notion of a selected arena. --- .../garbagemule/MobArena/ArenaMasterImpl.java | 11 --- src/com/garbagemule/MobArena/MAUtils.java | 1 - .../MobArena/commands/CommandHandler.java | 18 ----- .../commands/setup/AddArenaCommand.java | 5 +- .../commands/setup/AddContainerCommand.java | 43 ---------- .../commands/setup/AddSpawnpointCommand.java | 70 ----------------- .../MobArena/commands/setup/ArenaCommand.java | 37 --------- .../commands/setup/CheckDataCommand.java | 24 +++--- .../commands/setup/CheckSpawnsCommand.java | 32 ++++---- .../commands/setup/ContainersCommand.java | 38 --------- .../commands/setup/EditArenaCommand.java | 67 +++++++--------- .../setup/ExpandLobbyRegionCommand.java | 45 ----------- .../commands/setup/ExpandRegionCommand.java | 45 ----------- .../commands/setup/ProtectCommand.java | 69 ---------------- .../commands/setup/RemoveArenaCommand.java | 6 -- .../setup/RemoveContainerCommand.java | 30 +++++-- .../setup/RemoveLeaderboardCommand.java | 39 +++++----- .../setup/RemoveSpawnpointCommand.java | 30 +++++-- .../commands/setup/SetArenaCommand.java | 33 -------- .../commands/setup/SetLobbyRegionCommand.java | 48 ------------ .../commands/setup/SetRegionCommand.java | 49 ------------ .../commands/setup/SetWarpCommand.java | 78 ------------------- .../setup/ShowLobbyRegionCommand.java | 64 --------------- .../commands/setup/ShowRegionCommand.java | 62 --------------- .../commands/setup/ShowSpawnsCommand.java | 56 ------------- .../commands/setup/SpawnpointsCommand.java | 36 --------- .../MobArena/framework/ArenaMaster.java | 4 - 27 files changed, 124 insertions(+), 916 deletions(-) delete mode 100644 src/com/garbagemule/MobArena/commands/setup/AddContainerCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/AddSpawnpointCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ArenaCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ContainersCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ExpandLobbyRegionCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ExpandRegionCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ProtectCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/SetArenaCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/SetLobbyRegionCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/SetRegionCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/SetWarpCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ShowLobbyRegionCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ShowRegionCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java delete mode 100644 src/com/garbagemule/MobArena/commands/setup/SpawnpointsCommand.java diff --git a/src/com/garbagemule/MobArena/ArenaMasterImpl.java b/src/com/garbagemule/MobArena/ArenaMasterImpl.java index 1e422fa..db1b410 100644 --- a/src/com/garbagemule/MobArena/ArenaMasterImpl.java +++ b/src/com/garbagemule/MobArena/ArenaMasterImpl.java @@ -86,17 +86,6 @@ public class ArenaMasterImpl implements ArenaMaster return config.getBoolean("global-settings.update-notification", false); } - public Arena getSelectedArena() { - if (selectedArena == null && !arenas.isEmpty()) { - selectedArena = arenas.get(0); - } - return selectedArena; - } - - public void setSelectedArena(Arena arena) { - selectedArena = arena; - } - public List getArenas() { return arenas; } diff --git a/src/com/garbagemule/MobArena/MAUtils.java b/src/com/garbagemule/MobArena/MAUtils.java index e40a1b6..264593d 100644 --- a/src/com/garbagemule/MobArena/MAUtils.java +++ b/src/com/garbagemule/MobArena/MAUtils.java @@ -283,7 +283,6 @@ public class MAUtils // Create the arena node in the config-file. World world = loc.getWorld(); Arena arena = am.createArenaNode(name, world); - am.setSelectedArena(arena); // Get the hippie bounds. int x1 = (int)loc.getX() - radius; diff --git a/src/com/garbagemule/MobArena/commands/CommandHandler.java b/src/com/garbagemule/MobArena/commands/CommandHandler.java index 219c033..8c6fd98 100644 --- a/src/com/garbagemule/MobArena/commands/CommandHandler.java +++ b/src/com/garbagemule/MobArena/commands/CommandHandler.java @@ -194,27 +194,10 @@ public class CommandHandler implements CommandExecutor register(AddArenaCommand.class); register(RemoveArenaCommand.class); register(EditArenaCommand.class); - - register(ArenaCommand.class); - register(SetArenaCommand.class); - - register(SetWarpCommand.class); - register(SetRegionCommand.class); - register(SetLobbyRegionCommand.class); - register(ExpandRegionCommand.class); - register(ExpandLobbyRegionCommand.class); - register(ShowRegionCommand.class); - register(ShowLobbyRegionCommand.class); register(CheckDataCommand.class); - register(ShowSpawnsCommand.class); - register(SpawnpointsCommand.class); - register(AddSpawnpointCommand.class); register(RemoveSpawnpointCommand.class); register(CheckSpawnsCommand.class); - - register(ContainersCommand.class); - register(AddContainerCommand.class); register(RemoveContainerCommand.class); register(ListClassesCommand.class); @@ -225,7 +208,6 @@ public class CommandHandler implements CommandExecutor register(AddClassPermCommand.class); register(RemoveClassPermCommand.class); - register(ProtectCommand.class); register(RemoveLeaderboardCommand.class); register(AutoGenerateCommand.class); register(AutoDegenerateCommand.class); diff --git a/src/com/garbagemule/MobArena/commands/setup/AddArenaCommand.java b/src/com/garbagemule/MobArena/commands/setup/AddArenaCommand.java index e682730..3e649b2 100644 --- a/src/com/garbagemule/MobArena/commands/setup/AddArenaCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/AddArenaCommand.java @@ -35,10 +35,7 @@ public class AddArenaCommand implements Command Messenger.tell(sender, "An arena with that name already exists."); return true; } - - arena = am.createArenaNode(args[0], p.getWorld()); - am.setSelectedArena(arena); - + am.createArenaNode(args[0], p.getWorld()); Messenger.tell(sender, "New arena with name '" + args[0] + "' created!"); return true; } diff --git a/src/com/garbagemule/MobArena/commands/setup/AddContainerCommand.java b/src/com/garbagemule/MobArena/commands/setup/AddContainerCommand.java deleted file mode 100644 index 222a35b..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/AddContainerCommand.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.inventory.InventoryHolder; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "addcontainer", - pattern = "add(chest|container)", - usage = "/ma addcontainer ", - desc = "add a new container for the selected arena", - permission = "mobarena.setup.containers" -) -public class AddContainerCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Require a point name - if (args.length != 1 || args[0].matches("^[a-zA-Z][a-zA-Z0-9]*$")) return false; - - // Cast the sender. - Player p = (Player) sender; - - // Make sure we're looking at a container - if (!(p.getTargetBlock(null, 50).getState() instanceof InventoryHolder)) { - Messenger.tell(sender, "You must look at container."); - return true; - } - - am.getSelectedArena().getRegion().addChest(args[0], p.getTargetBlock(null, 50).getLocation()); - Messenger.tell(sender, "Container '" + args[0] + "' added for arena \"" + am.getSelectedArena().configName() + "\""); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/AddSpawnpointCommand.java b/src/com/garbagemule/MobArena/commands/setup/AddSpawnpointCommand.java deleted file mode 100644 index e07f04f..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/AddSpawnpointCommand.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import com.garbagemule.MobArena.framework.Arena; -import org.bukkit.World; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "addspawn", - pattern = "addspawn(point)?", - usage = "/ma addspawn ", - desc = "add a new spawnpoint for the selected arena", - permission = "mobarena.setup.spawnpoints" -) -public class AddSpawnpointCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Require a point name - if (args.length != 1 || args[0].matches("^[a-zA-Z][a-zA-Z0-9]*$")) return false; - - // Cast the sender. - Player p = (Player) sender; - - // Make a world check first - Arena arena = am.getSelectedArena(); - World aw = arena.getWorld(); - World pw = p.getLocation().getWorld(); - boolean changeWorld = !aw.getName().equals(pw.getName()); - - // Change worlds to make sure the region check doesn't fail - if (changeWorld) arena.setWorld(pw); - - // Make sure we're inside the region - if (!am.getSelectedArena().getRegion().contains(p.getLocation())) { - if (arena.getRegion().isDefined()) { - Messenger.tell(sender, "You must be inside the arena region!"); - } else { - Messenger.tell(sender, "You must first set the region points p1 and p2"); - } - - // Restore the world reference in the arena - if (changeWorld) arena.setWorld(aw); - } else { - // Add the spawnpoint - am.getSelectedArena().getRegion().addSpawn(args[0], p.getLocation()); - - // Notify the player if world changed - if (changeWorld) { - Messenger.tell(sender, "Changed world of arena '" + arena.configName() + - "' from '" + aw.getName() + - "' to '" + pw.getName() + "'"); - } - - // Then notify about point set - Messenger.tell(sender, "Spawnpoint '" + args[0] + "' added for arena '" + am.getSelectedArena().configName() + "'"); - arena.getRegion().checkData(am.getPlugin(), sender, false, false, false, true); - } - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/ArenaCommand.java b/src/com/garbagemule/MobArena/commands/setup/ArenaCommand.java deleted file mode 100644 index 93cdc55..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ArenaCommand.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import org.bukkit.ChatColor; -import org.bukkit.command.CommandSender; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "arena", - pattern = "arena", - usage = "/ma arena", - desc = "list the currently selected arena", - permission = "mobarena.setup.arena" -) -public class ArenaCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - Messenger.tell(sender, "Currently selected arena: " + ChatColor.GREEN + am.getSelectedArena().configName()); - - StringBuffer buffy = new StringBuffer(); - if (am.getArenas().size() > 1) { - for (Arena arena : am.getArenas()) { - if (!arena.equals(am.getSelectedArena())) { - buffy.append(arena.configName() + " "); - } - } - } - else buffy.append(Msg.MISC_NONE); - - Messenger.tell(sender, "Other arenas: " + buffy.toString()); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/CheckDataCommand.java b/src/com/garbagemule/MobArena/commands/setup/CheckDataCommand.java index 47f2e10..4b053d9 100644 --- a/src/com/garbagemule/MobArena/commands/setup/CheckDataCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/CheckDataCommand.java @@ -10,7 +10,7 @@ import com.garbagemule.MobArena.framework.ArenaMaster; @CommandInfo( name = "checkdata", pattern = "checkdata", - usage = "/ma checkdata ()", + usage = "/ma checkdata ", desc = "check if all required points are set up", permission = "mobarena.setup.checkdata" ) @@ -18,15 +18,21 @@ public class CheckDataCommand implements Command { @Override public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - - Arena arena = arg1.equals("") ? am.getSelectedArena() : am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); - return true; + Arena arena; + if (args.length == 1) { + if (am.getArenas().size() > 1) { + Messenger.tell(sender, "There are multiple arenas."); + return true; + } else { + arena = am.getArenas().get(0); + } + } else { + arena = am.getArenaWithName(args[0]); + if (arena == null) { + Messenger.tell(sender, "There is no arena named " + args[0]); + return true; + } } - arena.getRegion().checkData(am.getPlugin(), sender, true, true, true, true); return true; } diff --git a/src/com/garbagemule/MobArena/commands/setup/CheckSpawnsCommand.java b/src/com/garbagemule/MobArena/commands/setup/CheckSpawnsCommand.java index 6637f1f..63860b3 100644 --- a/src/com/garbagemule/MobArena/commands/setup/CheckSpawnsCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/CheckSpawnsCommand.java @@ -13,7 +13,7 @@ import org.bukkit.entity.Player; @CommandInfo( name = "checkspawns", pattern = "checkspawn(point)?s", - usage = "/ma checkspawns ()", + usage = "/ma checkspawns ", desc = "show spawnpoints that cover your location", permission = "mobarena.setup.checkspawns" ) @@ -25,30 +25,28 @@ public class CheckSpawnsCommand implements Command Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); return true; } - - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - - // Cast the sender. - Player p = (Player) sender; - + Arena arena; - if (arg1.equals("")) { - arena = am.getArenaAtLocation(p.getLocation()); - if (arena == null) { - arena = am.getSelectedArena(); - } - if (arena.getRegion().getSpawnpoints().isEmpty()) { - Messenger.tell(sender, "There are no spawnpoints in the selected arena."); + if (args.length == 1) { + if (am.getArenas().size() > 1) { + Messenger.tell(sender, "There are multiple arenas."); return true; + } else { + arena = am.getArenas().get(0); } } else { - arena = am.getArenaWithName(arg1); + arena = am.getArenaWithName(args[0]); if (arena == null) { - Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); + Messenger.tell(sender, "There is no arena named " + args[0]); return true; } } + + if (arena.getRegion().getSpawnpoints().isEmpty()) { + Messenger.tell(sender, "There are no spawnpoints in the selected arena."); + return true; + } + Player p = (Player) sender; arena.getRegion().checkSpawns(p); return true; } diff --git a/src/com/garbagemule/MobArena/commands/setup/ContainersCommand.java b/src/com/garbagemule/MobArena/commands/setup/ContainersCommand.java deleted file mode 100644 index dfad021..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ContainersCommand.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import java.util.Set; - -import org.bukkit.command.CommandSender; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "containers", - pattern = "(containers|chests)", - usage = "/ma containers", - desc = "list containers for the selected arena", - permission = "mobarena.setup.containers" -) -public class ContainersCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - StringBuilder buffy = new StringBuilder(); - Set containers = am.getPlugin().getConfig().getConfigurationSection("arenas." + am.getSelectedArena().configName() + ".coords.containers").getKeys(false); - - if (containers != null) { - for (String c : containers) { - buffy.append(c); - buffy.append(" "); - } - } - else { - buffy.append(Msg.MISC_NONE); - } - - Messenger.tell(sender, "Containers for arena '" + am.getSelectedArena().configName() + "': " + buffy.toString()); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/EditArenaCommand.java b/src/com/garbagemule/MobArena/commands/setup/EditArenaCommand.java index 96c32e4..43003d3 100644 --- a/src/com/garbagemule/MobArena/commands/setup/EditArenaCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/EditArenaCommand.java @@ -11,7 +11,7 @@ import com.garbagemule.MobArena.framework.ArenaMaster; @CommandInfo( name = "editarena", pattern = "edit(arena)?", - usage = "/ma editarena () (true|false)", + usage = "/ma editarena (true|false)", desc = "set edit mode of an arena", permission = "mobarena.setup.editarena" ) @@ -19,49 +19,36 @@ public class EditArenaCommand implements Command { @Override public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - String arg2 = (args.length > 1 ? args[1] : ""); - + boolean value; Arena arena; - - // No arguments. - if (arg1.equals("")) { - arena = am.getSelectedArena(); - arena.setEditMode(!arena.inEditMode()); - } - - // One argument. - else if (arg2.equals("")) { - // Argument is [true|false] - if (arg1.matches("true|on") || arg1.matches("false|off")) { - arena = am.getSelectedArena(); - arena.setEditMode(arg1.matches("true|on")); - } - // Argument is - else { - arena = am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, "There is no arena with that name."); - return true; - } - arena.setEditMode(!arena.inEditMode()); - } - } - - // Two arguments - else { - if (!(arg2.matches("true|on") || arg2.matches("false|off"))) { - return false; - } - arena = am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, "There is no arena with that name."); + if (args.length == 0) { + if (am.getArenas().size() > 1) { + Messenger.tell(sender, "There are multiple arenas."); return true; } - arena.setEditMode(arg2.matches("true|on")); + arena = am.getArenas().get(0); + value = !arena.inEditMode(); + } else if (args.length == 1) { + if (args[0].matches("on|off|true|false")) { + if (am.getArenas().size() > 1) { + Messenger.tell(sender, "There are multiple arenas."); + return true; + } + arena = am.getArenas().get(0); + value = args[0].matches("on|true"); + } else { + arena = am.getArenaWithName(args[0]); + if (arena == null) { + Messenger.tell(sender, "There is no arena named " + args[0]); + return true; + } + value = !arena.inEditMode(); + } + } else { + arena = am.getArenaWithName(args[0]); + value = args[1].matches("on|true"); } - + arena.setEditMode(value); Messenger.tell(sender, "Edit mode for arena '" + arena.configName() + "': " + ((arena.inEditMode()) ? ChatColor.GREEN + "true" : ChatColor.RED + "false")); if (arena.inEditMode()) Messenger.tell(sender, "Remember to turn it back off after editing!"); return true; diff --git a/src/com/garbagemule/MobArena/commands/setup/ExpandLobbyRegionCommand.java b/src/com/garbagemule/MobArena/commands/setup/ExpandLobbyRegionCommand.java deleted file mode 100644 index 0fb8112..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ExpandLobbyRegionCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import org.bukkit.command.CommandSender; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "expandlobbyregion", - pattern = "expandlobby(region)?", - usage = "/ma expandlobbyregion up|down|out", - desc = "expand the arena lobby region", - permission = "mobarena.setup.expandlobbyregion" -) -public class ExpandLobbyRegionCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Require amount and direction - if (args.length != 2 || !args[0].matches("(-)?[0-9]+")) return false; - - if (!am.getSelectedArena().getRegion().isLobbyDefined()) { - Messenger.tell(sender, "You must first define l1 and l2"); - return true; - } - - if (args[1].equals("up")) { - am.getSelectedArena().getRegion().expandLobbyUp(Integer.parseInt(args[0])); - } else if (args[1].equals("down")) { - am.getSelectedArena().getRegion().expandLobbyDown(Integer.parseInt(args[0])); - } else if (args[1].equals("out")) { - am.getSelectedArena().getRegion().expandLobbyOut(Integer.parseInt(args[0])); - } else { - return false; - } - - // In case of a "negative" region, fix it! - am.getSelectedArena().getRegion().fixLobbyRegion(); - - Messenger.tell(sender, "Lobby region for '" + am.getSelectedArena().configName() + "' expanded " + args[1] + " by " + args[0] + " blocks."); - am.getSelectedArena().getRegion().save(); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/ExpandRegionCommand.java b/src/com/garbagemule/MobArena/commands/setup/ExpandRegionCommand.java deleted file mode 100644 index c187b26..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ExpandRegionCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import org.bukkit.command.CommandSender; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "expandregion", - pattern = "expand(region)?", - usage = "/ma expandregion up|down|out", - desc = "expand the arena region", - permission = "mobarena.setup.expandregion" -) -public class ExpandRegionCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Require amount and direction - if (args.length != 2 || !args[0].matches("(-)?[0-9]+")) return false; - - if (!am.getSelectedArena().getRegion().isDefined()) { - Messenger.tell(sender, "You must first define p1 and p2"); - return true; - } - - if (args[1].equals("up")) { - am.getSelectedArena().getRegion().expandUp(Integer.parseInt(args[0])); - } else if (args[1].equals("down")) { - am.getSelectedArena().getRegion().expandDown(Integer.parseInt(args[0])); - } else if (args[1].equals("out")) { - am.getSelectedArena().getRegion().expandOut(Integer.parseInt(args[0])); - } else { - return false; - } - - // In case of a "negative" region, fix it! - am.getSelectedArena().getRegion().fixRegion(); - - Messenger.tell(sender, "Region for '" + am.getSelectedArena().configName() + "' expanded " + args[1] + " by " + args[0] + " blocks."); - am.getSelectedArena().getRegion().save(); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/ProtectCommand.java b/src/com/garbagemule/MobArena/commands/setup/ProtectCommand.java deleted file mode 100644 index 81ebf7e..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ProtectCommand.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import org.bukkit.ChatColor; -import org.bukkit.command.CommandSender; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "protect", - pattern = "protect", - usage = "/ma protect () (true|false)", - desc = "set the protection of an arena", - permission = "mobarena.setup.protect" -) -public class ProtectCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - String arg2 = (args.length > 1 ? args[1] : ""); - - Arena arena; - - // No arguments - if (arg1.equals("")) { - arena = am.getSelectedArena(); - arena.setProtected(!arena.isProtected()); - } - - // One argument - else if (arg2.equals("")) { - // true/false - if (arg1.matches("true|on") || arg1.matches("false|off")) { - arena = am.getSelectedArena(); - arena.setProtected(arg1.matches("true|on")); - } - // Arena name - else { - arena = am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, "There is no arena with that name."); - return true; - } - arena.setProtected(!arena.isProtected()); - } - } - - // Two arguments - else { - if (!(arg2.matches("true|on") || arg2.matches("false|off"))) { - return false; - } - arena = am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, "There is no arena with that name."); - return true; - } - arena.setProtected(arg2.matches("true|on")); - } - - arena.getPlugin().saveConfig(); - Messenger.tell(sender, "Protection for arena '" + arena.configName() + "': " + ((arena.isProtected()) ? ChatColor.GREEN + "on" : ChatColor.RED + "off")); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/RemoveArenaCommand.java b/src/com/garbagemule/MobArena/commands/setup/RemoveArenaCommand.java index 21bdb68..95f557d 100644 --- a/src/com/garbagemule/MobArena/commands/setup/RemoveArenaCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/RemoveArenaCommand.java @@ -31,13 +31,7 @@ public class RemoveArenaCommand implements Command Messenger.tell(sender, "There is no arena with that name."); return true; } - am.removeArenaNode(arena); - - if (am.getSelectedArena().equals(arena)) { - am.setSelectedArena(am.getArenas().get(0)); - } - Messenger.tell(sender, "Arena '" + arena.configName() + "' deleted."); return true; } diff --git a/src/com/garbagemule/MobArena/commands/setup/RemoveContainerCommand.java b/src/com/garbagemule/MobArena/commands/setup/RemoveContainerCommand.java index 9d429b4..d3c1246 100644 --- a/src/com/garbagemule/MobArena/commands/setup/RemoveContainerCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/RemoveContainerCommand.java @@ -1,5 +1,6 @@ package com.garbagemule.MobArena.commands.setup; +import com.garbagemule.MobArena.framework.Arena; import org.bukkit.command.CommandSender; import com.garbagemule.MobArena.*; @@ -9,7 +10,7 @@ import com.garbagemule.MobArena.framework.ArenaMaster; @CommandInfo( name = "removecontainer", pattern = "(del(.)*|r(e)?m(ove)?)(container|chest)", - usage = "/ma removecontainer ", + usage = "/ma removecontainer ", desc = "remove a container from the selected arena", permission = "mobarena.setup.containers" ) @@ -17,13 +18,30 @@ public class RemoveContainerCommand implements Command { @Override public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Require a point name - if (args.length != 1 || !args[0].matches("^[a-zA-Z][a-zA-Z0-9]*$")) return false; + if (args.length < 1) return false; - if (am.getSelectedArena().getRegion().removeChest(args[0])) { - Messenger.tell(sender, "Container " + args[0] + " removed for arena '" + am.getSelectedArena().configName() + "'"); + Arena arena; + String chest; + if (args.length == 1) { + if (am.getArenas().size() > 1) { + Messenger.tell(sender, "There are multiple arenas."); + return true; + } + arena = am.getArenas().get(0); + chest = args[0]; } else { - Messenger.tell(sender, "Could not find the container " + args[0] + "for the arena '" + am.getSelectedArena().configName() + "'"); + arena = am.getArenaWithName(args[0]); + if (arena == null) { + Messenger.tell(sender, "There is no arena named " + args[0]); + return true; + } + chest = args[1]; + } + + if (arena.getRegion().removeChest(chest)) { + Messenger.tell(sender, "Container " + chest + " removed for arena '" + arena.configName() + "'"); + } else { + Messenger.tell(sender, "Could not find the container " + chest + " for the arena '" + arena.configName() + "'"); } return true; } diff --git a/src/com/garbagemule/MobArena/commands/setup/RemoveLeaderboardCommand.java b/src/com/garbagemule/MobArena/commands/setup/RemoveLeaderboardCommand.java index 760139f..0cde48d 100644 --- a/src/com/garbagemule/MobArena/commands/setup/RemoveLeaderboardCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/RemoveLeaderboardCommand.java @@ -1,5 +1,6 @@ package com.garbagemule.MobArena.commands.setup; +import com.garbagemule.MobArena.framework.Arena; import org.bukkit.command.CommandSender; import com.garbagemule.MobArena.Messenger; @@ -11,7 +12,7 @@ import com.garbagemule.MobArena.framework.ArenaMaster; @CommandInfo( name = "removeleaderboard", pattern = "(del(.)*|r(e)?m(ove)?)leaderboard", - usage = "/ma removeleaderboard ()", + usage = "/ma removeleaderboard ", desc = "remove the selected arena's leaderboard", permission = "mobarena.setup.leaderboards" ) @@ -19,31 +20,27 @@ public class RemoveLeaderboardCommand implements Command { @Override public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - - // If no argument, use the currently selected arena - if (arg1.equals("")) { - if (am.getSelectedArena().getRegion().getLeaderboard() != null) { - am.getSelectedArena().getRegion().set("leaderboard", null); - Messenger.tell(sender, "Leaderboard for " + am.getSelectedArena().arenaName() + " successfully removed!"); + Arena arena; + if (args.length == 0) { + if (am.getArenas().size() > 1) { + Messenger.tell(sender, "There are multiple arenas."); return true; - } else { - Messenger.tell(sender, Msg.ARENA_LBOARD_NOT_FOUND); } + arena = am.getArenas().get(0); } else { - if (am.getArenaWithName(arg1) != null) { - if (am.getSelectedArena().getRegion().getLeaderboard() != null) { - am.getArenaWithName(arg1).getRegion().set("leaderboard", null); - Messenger.tell(sender, "Leaderboard for " + am.getArenaWithName(arg1).arenaName() + " successfully removed!"); - return true; - } else { - Messenger.tell(sender, Msg.ARENA_LBOARD_NOT_FOUND); - } - } else { - Messenger.tell(sender, "No arena with that name exists."); + arena = am.getArenaWithName(args[0]); + if (arena == null) { + Messenger.tell(sender, "There is no arena named " + args[0]); + return true; } } + + if (arena.getRegion().getLeaderboard() != null) { + arena.getRegion().set("leaderboard", null); + Messenger.tell(sender, "Leaderboard for " + arena.configName() + " successfully removed!"); + } else { + Messenger.tell(sender, Msg.ARENA_LBOARD_NOT_FOUND); + } return true; } } \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/commands/setup/RemoveSpawnpointCommand.java b/src/com/garbagemule/MobArena/commands/setup/RemoveSpawnpointCommand.java index 98ad73c..f671030 100644 --- a/src/com/garbagemule/MobArena/commands/setup/RemoveSpawnpointCommand.java +++ b/src/com/garbagemule/MobArena/commands/setup/RemoveSpawnpointCommand.java @@ -1,5 +1,6 @@ package com.garbagemule.MobArena.commands.setup; +import com.garbagemule.MobArena.framework.Arena; import org.bukkit.command.CommandSender; import com.garbagemule.MobArena.*; @@ -9,7 +10,7 @@ import com.garbagemule.MobArena.framework.ArenaMaster; @CommandInfo( name = "delspawn", pattern = "(del(.)*|r(e)?m(ove)?)spawn(point)?", - usage = "/ma delspawn ", + usage = "/ma delspawn ", desc = "delete a spawnpoint", permission = "mobarena.setup.spawnpoints" ) @@ -17,13 +18,30 @@ public class RemoveSpawnpointCommand implements Command { @Override public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Require a point name - if (args.length != 1 || !args[0].matches("^[a-zA-Z][a-zA-Z0-9]*$")) return false; + if (args.length < 1) return false; - if (am.getSelectedArena().getRegion().removeSpawn(args[0])) { - Messenger.tell(sender, "Spawnpoint " + args[0] + " removed for arena '" + am.getSelectedArena().configName() + "'"); + Arena arena; + String point; + if (args.length == 1) { + if (am.getArenas().size() > 1) { + Messenger.tell(sender, "There are multiple arenas."); + return true; + } + arena = am.getArenas().get(0); + point = args[0]; } else { - Messenger.tell(sender, "Could not find the spawnpoint " + args[0] + " for the arena '" + am.getSelectedArena().configName() + "'"); + arena = am.getArenaWithName(args[0]); + if (arena == null) { + Messenger.tell(sender, "There is no arena named " + args[0]); + return true; + } + point = args[1]; + } + + if (arena.getRegion().removeSpawn(point)) { + Messenger.tell(sender, "Spawnpoint " + point + " removed for arena '" + arena.configName() + "'"); + } else { + Messenger.tell(sender, "Could not find the spawnpoint " + point + " for the arena '" + arena.configName() + "'"); } return true; } diff --git a/src/com/garbagemule/MobArena/commands/setup/SetArenaCommand.java b/src/com/garbagemule/MobArena/commands/setup/SetArenaCommand.java deleted file mode 100644 index 8a4c64e..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/SetArenaCommand.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import org.bukkit.command.CommandSender; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "setarena", - pattern = "(set|select)arena", - usage = "/ma setarena ", - desc = "set an arena as the selected arena", - permission = "mobarena.setup.setarena" -) -public class SetArenaCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - // Require an arena name - if (args.length != 1) return false; - - Arena arena = am.getArenaWithName(args[0]); - if (arena != null) { - am.setSelectedArena(arena); - Messenger.tell(sender, "Currently selected arena: " + arena.configName()); - } else { - Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); - } - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/SetLobbyRegionCommand.java b/src/com/garbagemule/MobArena/commands/setup/SetLobbyRegionCommand.java deleted file mode 100644 index ca785f6..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/SetLobbyRegionCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import com.garbagemule.MobArena.framework.Arena; -import org.bukkit.World; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "setlobbyregion", - pattern = "set(lobbyregion|l)", - usage = "/ma setlobbyregion l1|l2", - desc = "set the lobby region points of an arena", - permission = "mobarena.setup.setlobbyregion" -) -public class SetLobbyRegionCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Require a region point - if (args.length != 1 || !args[0].matches("l1|l2")) return false; - - // Cast the sender. - Player p = (Player) sender; - - Arena arena = am.getSelectedArena(); - World aw = arena.getWorld(); - World pw = p.getLocation().getWorld(); - - if (!aw.getName().equals(pw.getName())) { - String msg = String.format("Changing world of arena '%s' from '%s' to '%s'", arena.configName(), aw.getName(), pw.getName()); - Messenger.tell(sender, msg); - } - - arena.setWorld(p.getWorld()); - arena.getRegion().set(args[0], p.getLocation()); - Messenger.tell(sender, "Lobby region point " + args[0] + " for arena '" + am.getSelectedArena().configName() + "' set."); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/SetRegionCommand.java b/src/com/garbagemule/MobArena/commands/setup/SetRegionCommand.java deleted file mode 100644 index 062f4a6..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/SetRegionCommand.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import com.garbagemule.MobArena.framework.Arena; -import org.bukkit.World; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "setregion", - pattern = "set(region|p)", - usage = "/ma setregion p1|p2", - desc = "set the region points of an arena", - permission = "mobarena.setup.setregion" -) -public class SetRegionCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Require a region point - if (args.length != 1 || !args[0].matches("p1|p2")) return false; - - // Cast the sender. - Player p = (Player) sender; - - Arena arena = am.getSelectedArena(); - World aw = arena.getWorld(); - World pw = p.getLocation().getWorld(); - - if (!aw.getName().equals(pw.getName())) { - String msg = String.format("Changing world of arena '%s' from '%s' to '%s'", arena.configName(), aw.getName(), pw.getName()); - Messenger.tell(sender, msg); - } - - arena.setWorld(p.getWorld()); - arena.getRegion().set(args[0], p.getLocation()); - Messenger.tell(sender, "Region point " + args[0] + " for arena '" + am.getSelectedArena().configName() + "' set."); - arena.getRegion().checkData(am.getPlugin(), sender, true, true, false, false); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/SetWarpCommand.java b/src/com/garbagemule/MobArena/commands/setup/SetWarpCommand.java deleted file mode 100644 index 99b990b..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/SetWarpCommand.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import com.garbagemule.MobArena.framework.Arena; -import org.bukkit.World; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "setwarp", - pattern = "set(warp|point)", - usage = "/ma setwarp arena|lobby|spectator|exit", - desc = "set a warp point for an arena", - permission = "mobarena.setup.setwarp" -) -public class SetWarpCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Require a point name - if (args.length != 1) return false; - - // Cast the sender. - Player p = (Player) sender; - - // spec -> spectator - if (args[0].equals("spec")) args[0] = "spectator"; - - // Check that the point is valid - if (!args[0].matches("arena|lobby|spectator|exit")) { - Messenger.tell(sender, "There's no warp called '" + args[0] + "'."); - return true; - } - - // Make a world check first - Arena arena = am.getSelectedArena(); - World aw = arena.getWorld(); - World pw = p.getLocation().getWorld(); - boolean changeWorld = !args[0].equals("exit") && !aw.getName().equals(pw.getName()); - - // Change worlds to make sure the region check doesn't fail - if (changeWorld) arena.setWorld(pw); - - // Make sure the arena warp is inside the region - if (args[0].equals("arena") && !arena.getRegion().contains(p.getLocation())) { - if (arena.getRegion().isDefined()) { - Messenger.tell(sender, "You must be inside the arena region!"); - } else { - Messenger.tell(sender, "You must first set the region points p1 and p2"); - } - - // Restore the world reference in the arena - if (changeWorld) arena.setWorld(aw); - } else { - // Set the region point - arena.getRegion().set(args[0], p.getLocation()); - - // Notify the player if world changed - if (changeWorld) { - String msg = String.format("Changed world of arena '%s' from '%s' to '%s'", arena.configName(), aw.getName(), pw.getName()); - Messenger.tell(sender, msg); - } - - // Then notify about point set - Messenger.tell(sender, "Warp point '" + args[0] + "' was set for arena '" + am.getSelectedArena().configName() + "'"); - arena.getRegion().checkData(am.getPlugin(), sender, true, false, true, false); - } - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/ShowLobbyRegionCommand.java b/src/com/garbagemule/MobArena/commands/setup/ShowLobbyRegionCommand.java deleted file mode 100644 index a7d69f2..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ShowLobbyRegionCommand.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import com.garbagemule.MobArena.Messenger; -import com.garbagemule.MobArena.Msg; -import com.garbagemule.MobArena.commands.Command; -import com.garbagemule.MobArena.commands.CommandInfo; -import com.garbagemule.MobArena.commands.Commands; -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.framework.ArenaMaster; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -@CommandInfo( - name = "showlobbyregion", - pattern = "showlobby(region)?", - usage = "/ma showlobbyregion ()", - desc = "show a lobby region", - permission = "mobarena.setup.showlobbyregion" -) -public class ShowLobbyRegionCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - - // Cast the sender. - Player p = (Player) sender; - - Arena arena; - if (arg1.equals("")) { - arena = am.getArenaAtLocation(p.getLocation()); - if (arena == null) { - arena = am.getSelectedArena(); - } - } else { - arena = am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); - return true; - } - } - - if (!arena.getRegion().isLobbyDefined()) { - Messenger.tell(sender, "The lobby region is not defined for the selected arena."); - return true; - } - - // Show an error message if we aren't in the right world - if (!arena.getWorld().getName().equals(arena.getWorld().getName())) { - Messenger.tell(sender, "Arena '" + arena.configName() + - "' is in world '" + arena.getWorld().getName() + - "' and you are in world '" + p.getWorld().getName() + "'"); - return true; - } - arena.getRegion().showLobbyRegion(p); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/ShowRegionCommand.java b/src/com/garbagemule/MobArena/commands/setup/ShowRegionCommand.java deleted file mode 100644 index 7c4ffb0..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ShowRegionCommand.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "showregion", - pattern = "show(region|arena)", - usage = "/ma showregion ()", - desc = "show an arena region", - permission = "mobarena.setup.showregion" -) -public class ShowRegionCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - - // Cast the sender. - Player p = (Player) sender; - - Arena arena; - if (arg1.equals("")) { - arena = am.getArenaAtLocation(p.getLocation()); - if (arena == null) { - arena = am.getSelectedArena(); - } - } else { - arena = am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); - return true; - } - } - - if (!arena.getRegion().isDefined()) { - Messenger.tell(sender, "The region is not defined for the selected arena."); - return true; - } - - // Show an error message if we aren't in the right world - if (!arena.getWorld().getName().equals(arena.getWorld().getName())) { - Messenger.tell(sender, "Arena '" + arena.configName() + - "' is in world '" + arena.getWorld().getName() + - "' and you are in world '" + p.getWorld().getName() + "'"); - return true; - } - arena.getRegion().showRegion(p); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java b/src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java deleted file mode 100644 index 0660ed0..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import com.garbagemule.MobArena.Messenger; -import com.garbagemule.MobArena.Msg; -import com.garbagemule.MobArena.commands.Command; -import com.garbagemule.MobArena.commands.CommandInfo; -import com.garbagemule.MobArena.commands.Commands; -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.framework.ArenaMaster; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -@CommandInfo( - name = "showspawns", - pattern = "showspawn(point)?s", - usage = "/ma showspawns ()", - desc = "show spawnpoints of an arena", - permission = "mobarena.setup.showspawns" -) -public class ShowSpawnsCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - if (!Commands.isPlayer(sender)) { - Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); - return true; - } - - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - - // Cast the sender. - Player p = (Player) sender; - - Arena arena; - if (arg1.equals("")) { - arena = am.getArenaAtLocation(p.getLocation()); - if (arena == null) { - arena = am.getSelectedArena(); - } - - if (arena.getRegion().getSpawnpoints().isEmpty()) { - Messenger.tell(sender, "There are no spawnpoints in the selected arena."); - return true; - } - } else { - arena = am.getArenaWithName(arg1); - if (arena == null) { - Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); - return true; - } - } - arena.getRegion().showSpawns(p); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/commands/setup/SpawnpointsCommand.java b/src/com/garbagemule/MobArena/commands/setup/SpawnpointsCommand.java deleted file mode 100644 index e58709b..0000000 --- a/src/com/garbagemule/MobArena/commands/setup/SpawnpointsCommand.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.garbagemule.MobArena.commands.setup; - -import java.util.Set; - -import org.bukkit.command.CommandSender; - -import com.garbagemule.MobArena.*; -import com.garbagemule.MobArena.commands.*; -import com.garbagemule.MobArena.framework.ArenaMaster; - -@CommandInfo( - name = "spawnpoints", - pattern = "spawn(point)?s", - usage = "/ma spawnpoints", - desc = "list spawnpoints for the selected arena", - permission = "mobarena.setup.spawnpoints" -) -public class SpawnpointsCommand implements Command -{ - @Override - public boolean execute(ArenaMaster am, CommandSender sender, String... args) { - StringBuilder buffy = new StringBuilder(); - Set spawnpoints = am.getPlugin().getConfig().getConfigurationSection("arenas." + am.getSelectedArena().configName() + ".coords.spawnpoints").getKeys(false); - - if (spawnpoints != null) { - for (String s : spawnpoints) { - buffy.append(s); - buffy.append(" "); - } - } else { - buffy.append(Msg.MISC_NONE); - } - Messenger.tell(sender, "Spawnpoints for arena '" + am.getSelectedArena().configName() + "': " + buffy.toString()); - return true; - } -} diff --git a/src/com/garbagemule/MobArena/framework/ArenaMaster.java b/src/com/garbagemule/MobArena/framework/ArenaMaster.java index 44f3a65..fef3f76 100644 --- a/src/com/garbagemule/MobArena/framework/ArenaMaster.java +++ b/src/com/garbagemule/MobArena/framework/ArenaMaster.java @@ -30,10 +30,6 @@ public interface ArenaMaster public void setEnabled(boolean value); public boolean notifyOnUpdates(); - - public Arena getSelectedArena(); - - public void setSelectedArena(Arena arena); public List getArenas();