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.
This commit is contained in:
@@ -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<Arena> getArenas() {
|
||||
return arenas;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 <point name>",
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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 <point name>",
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import com.garbagemule.MobArena.framework.ArenaMaster;
|
||||
@CommandInfo(
|
||||
name = "checkdata",
|
||||
pattern = "checkdata",
|
||||
usage = "/ma checkdata (<arena>)",
|
||||
usage = "/ma checkdata <arena>",
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.bukkit.entity.Player;
|
||||
@CommandInfo(
|
||||
name = "checkspawns",
|
||||
pattern = "checkspawn(point)?s",
|
||||
usage = "/ma checkspawns (<arena>)",
|
||||
usage = "/ma checkspawns <arena>",
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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<String> 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;
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import com.garbagemule.MobArena.framework.ArenaMaster;
|
||||
@CommandInfo(
|
||||
name = "editarena",
|
||||
pattern = "edit(arena)?",
|
||||
usage = "/ma editarena (<arena>) (true|false)",
|
||||
usage = "/ma editarena <arena> (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 <arena name>
|
||||
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;
|
||||
|
||||
@@ -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 <amount> 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;
|
||||
}
|
||||
}
|
||||
@@ -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 <amount> 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;
|
||||
}
|
||||
}
|
||||
@@ -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 (<arena>) (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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 <point name>",
|
||||
usage = "/ma removecontainer <arena> <chest>",
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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 (<arena>)",
|
||||
usage = "/ma removeleaderboard <arena>",
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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 <point name>",
|
||||
usage = "/ma delspawn <arena> <point>",
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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 <arena>",
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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 (<arena>)",
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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 (<arena>)",
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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 (<arena>)",
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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<String> 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;
|
||||
}
|
||||
}
|
||||
@@ -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<Arena> getArenas();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user