From 325b252696509a3891d0b151a3fc287a389f6332 Mon Sep 17 00:00:00 2001 From: garbagemule Date: Mon, 24 Jun 2013 21:44:18 +0200 Subject: [PATCH] Add showspawns command. --- .../MobArena/commands/CommandHandler.java | 1 + .../commands/setup/ShowSpawnsCommand.java | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java diff --git a/src/com/garbagemule/MobArena/commands/CommandHandler.java b/src/com/garbagemule/MobArena/commands/CommandHandler.java index c49eaa4..effbef1 100644 --- a/src/com/garbagemule/MobArena/commands/CommandHandler.java +++ b/src/com/garbagemule/MobArena/commands/CommandHandler.java @@ -193,6 +193,7 @@ public class CommandHandler implements CommandExecutor register(SetRegionCommand.class); register(SetWarpCommand.class); register(ShowRegionCommand.class); + register(ShowSpawnsCommand.class); register(SpawnpointsCommand.class); register(AutoGenerateCommand.class); register(AutoDegenerateCommand.class); diff --git a/src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java b/src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java new file mode 100644 index 0000000..f5bc15e --- /dev/null +++ b/src/com/garbagemule/MobArena/commands/setup/ShowSpawnsCommand.java @@ -0,0 +1,61 @@ +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.tellPlayer(sender, Msg.MISC_NOT_FROM_CONSOLE); + return false; + } + + // 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.tellPlayer(sender, "There are no spawnpoints in the selected arena."); + return false; + } + } + else { + arena = am.getArenaWithName(arg1); + + if (arena == null) { + Messenger.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); + return false; + } + } + + arena.getRegion().showSpawns(p); + + return true; + } +}