Refactor Messenger to allow for custom prefixes.

- Messenger no longer has a static nature and must be instantiated to be used. The prefix is provided in the constructor.
- MobArena instantiates a global Messenger in onEnable() with a prefix string from global-settings. This instance is used by anything that isn't arena-specific, as well as for arenas with no prefix.
- ArenaImpl instantiates a local Messenger in its constructor if, and only if, its arena-specific prefix setting is non-empty. Otherwise it uses the plugin's global instance.
This commit is contained in:
Andreas Troelsen
2017-03-10 23:32:52 +01:00
parent 5d6a7768e8
commit 56dc504bec
54 changed files with 271 additions and 237 deletions
@@ -45,6 +45,7 @@ public class ArenaImpl implements Arena
private MobArena plugin; private MobArena plugin;
private String name; private String name;
private World world; private World world;
private Messenger messenger;
// Settings section of the config-file for this arena. // Settings section of the config-file for this arena.
private ConfigurationSection settings; private ConfigurationSection settings;
@@ -177,6 +178,10 @@ public class ArenaImpl implements Arena
// Scoreboards // Scoreboards
this.scoreboard = (settings.getBoolean("use-scoreboards", true) ? new ScoreboardManager(this) : new NullScoreboardManager(this)); this.scoreboard = (settings.getBoolean("use-scoreboards", true) ? new ScoreboardManager(this) : new NullScoreboardManager(this));
// Messenger
String prefix = settings.getString("prefix", "");
this.messenger = !prefix.isEmpty() ? new Messenger(prefix) : plugin.getGlobalMessenger();
} }
@@ -386,6 +391,17 @@ public class ArenaImpl implements Arena
@Override
public Messenger getMessenger() {
return messenger;
}
@Override
public Messenger getGlobalMessenger() {
return plugin.getGlobalMessenger();
}
@Override @Override
public boolean startArena() { public boolean startArena() {
// Sanity-checks // Sanity-checks
@@ -484,7 +500,7 @@ public class ArenaImpl implements Arena
leaderboard.initialize(); leaderboard.initialize();
leaderboard.startTracking(); leaderboard.startTracking();
Messenger.announce(this, Msg.ARENA_START); messenger.announce(this, Msg.ARENA_START);
return true; return true;
} }
@@ -521,10 +537,10 @@ public class ArenaImpl implements Arena
// Announce and clean arena floor, etc. // Announce and clean arena floor, etc.
if (settings.getBoolean("global-end-announce", false)) { if (settings.getBoolean("global-end-announce", false)) {
for (Player p : Bukkit.getOnlinePlayers()) { for (Player p : Bukkit.getOnlinePlayers()) {
Messenger.tell(p, Msg.ARENA_END_GLOBAL, configName()); messenger.tell(p, Msg.ARENA_END_GLOBAL, configName());
} }
} else { } else {
Messenger.announce(this, Msg.ARENA_END); messenger.announce(this, Msg.ARENA_END);
} }
cleanup(); cleanup();
@@ -556,7 +572,7 @@ public class ArenaImpl implements Arena
// Force leave. // Force leave.
for (Player p : tmp) { for (Player p : tmp) {
playerLeave(p); playerLeave(p);
Messenger.tell(p, Msg.LEAVE_NOT_READY); messenger.tell(p, Msg.LEAVE_NOT_READY);
} }
// Stop start-delay-timer and start arena // Stop start-delay-timer and start arena
@@ -587,7 +603,7 @@ public class ArenaImpl implements Arena
if (settings.getBoolean("global-join-announce", false)) { if (settings.getBoolean("global-join-announce", false)) {
if (lobbyPlayers.isEmpty()) { if (lobbyPlayers.isEmpty()) {
for (Player q : Bukkit.getOnlinePlayers()) { for (Player q : Bukkit.getOnlinePlayers()) {
Messenger.tell(q, Msg.ARENA_JOIN_GLOBAL, configName()); messenger.tell(q, Msg.ARENA_JOIN_GLOBAL, configName());
} }
} }
} }
@@ -613,20 +629,20 @@ public class ArenaImpl implements Arena
} }
// Notify player of joining // Notify player of joining
Messenger.tell(p, Msg.JOIN_PLAYER_JOINED); messenger.tell(p, Msg.JOIN_PLAYER_JOINED);
// Notify player of time left // Notify player of time left
if (startDelayTimer.isRunning()) { if (startDelayTimer.isRunning()) {
Messenger.tell(p, Msg.ARENA_START_DELAY, "" + startDelayTimer.getRemaining() / 20l); messenger.tell(p, Msg.ARENA_START_DELAY, "" + startDelayTimer.getRemaining() / 20l);
} else if (autoStartTimer.isRunning()) { } else if (autoStartTimer.isRunning()) {
Messenger.tell(p, Msg.ARENA_AUTO_START, "" + autoStartTimer.getRemaining() / 20l); messenger.tell(p, Msg.ARENA_AUTO_START, "" + autoStartTimer.getRemaining() / 20l);
} }
if (defaultClass != null) { if (defaultClass != null) {
// Assign default class if applicable // Assign default class if applicable
if (!ClassChests.assignClassFromStoredClassChest(this, p, defaultClass)) { if (!ClassChests.assignClassFromStoredClassChest(this, p, defaultClass)) {
assignClass(p, defaultClass.getLowercaseName()); assignClass(p, defaultClass.getLowercaseName());
Messenger.tell(p, Msg.LOBBY_CLASS_PICKED, defaultClass.getConfigName()); messenger.tell(p, Msg.LOBBY_CLASS_PICKED, defaultClass.getConfigName());
} }
} }
@@ -647,7 +663,7 @@ public class ArenaImpl implements Arena
int minPlayers = getMinPlayers(); int minPlayers = getMinPlayers();
if (minPlayers > 0 && lobbyPlayers.size() < minPlayers) if (minPlayers > 0 && lobbyPlayers.size() < minPlayers)
{ {
Messenger.tell(p, Msg.LOBBY_NOT_ENOUGH_PLAYERS, "" + minPlayers); messenger.tell(p, Msg.LOBBY_NOT_ENOUGH_PLAYERS, "" + minPlayers);
return; return;
} }
@@ -762,8 +778,8 @@ public class ArenaImpl implements Arena
if (settings.getBoolean("spectate-on-death", true)) { if (settings.getBoolean("spectate-on-death", true)) {
movePlayerToSpec(p); movePlayerToSpec(p);
Messenger.tell(p, Msg.SPEC_FROM_ARENA); messenger.tell(p, Msg.SPEC_FROM_ARENA);
Messenger.tell(p, Msg.MISC_MA_LEAVE_REMINDER); messenger.tell(p, Msg.MISC_MA_LEAVE_REMINDER);
} else { } else {
restoreInvAndExp(p); restoreInvAndExp(p);
movePlayerToEntry(p); movePlayerToEntry(p);
@@ -789,7 +805,7 @@ public class ArenaImpl implements Arena
MAUtils.sitPets(p); MAUtils.sitPets(p);
movePlayerToSpec(p); movePlayerToSpec(p);
Messenger.tell(p, Msg.SPEC_PLAYER_SPECTATE); messenger.tell(p, Msg.SPEC_PLAYER_SPECTATE);
} }
private void spawnPets() { private void spawnPets() {
@@ -1247,7 +1263,7 @@ public class ArenaImpl implements Arena
} }
assignClass(p, className); assignClass(p, className);
Messenger.tell(p, Msg.LOBBY_CLASS_PICKED, this.classes.get(className).getConfigName()); messenger.tell(p, Msg.LOBBY_CLASS_PICKED, this.classes.get(className).getConfigName());
} }
@Override @Override
@@ -1507,7 +1523,7 @@ public class ArenaImpl implements Arena
} }
} }
Messenger.tell(p, Msg.JOIN_FEE_PAID.format(MAUtils.listToString(entryFee, plugin))); messenger.tell(p, Msg.JOIN_FEE_PAID.format(MAUtils.listToString(entryFee, plugin)));
return true; return true;
} }
@@ -1533,25 +1549,25 @@ public class ArenaImpl implements Arena
@Override @Override
public boolean canJoin(Player p) { public boolean canJoin(Player p) {
if (!enabled) if (!enabled)
Messenger.tell(p, Msg.JOIN_ARENA_NOT_ENABLED); messenger.tell(p, Msg.JOIN_ARENA_NOT_ENABLED);
else if (!region.isSetup() || waveManager.getRecurrentWaves().isEmpty()) else if (!region.isSetup() || waveManager.getRecurrentWaves().isEmpty())
Messenger.tell(p, Msg.JOIN_ARENA_NOT_SETUP); messenger.tell(p, Msg.JOIN_ARENA_NOT_SETUP);
else if (edit) else if (edit)
Messenger.tell(p, Msg.JOIN_ARENA_EDIT_MODE); messenger.tell(p, Msg.JOIN_ARENA_EDIT_MODE);
else if (arenaPlayers.contains(p) || lobbyPlayers.contains(p)) else if (arenaPlayers.contains(p) || lobbyPlayers.contains(p))
Messenger.tell(p, Msg.JOIN_ALREADY_PLAYING); messenger.tell(p, Msg.JOIN_ALREADY_PLAYING);
else if (running) else if (running)
Messenger.tell(p, Msg.JOIN_ARENA_IS_RUNNING); messenger.tell(p, Msg.JOIN_ARENA_IS_RUNNING);
else if (!plugin.has(p, "mobarena.arenas." + configName())) else if (!plugin.has(p, "mobarena.arenas." + configName()))
Messenger.tell(p, Msg.JOIN_ARENA_PERMISSION); messenger.tell(p, Msg.JOIN_ARENA_PERMISSION);
else if (getMaxPlayers() > 0 && lobbyPlayers.size() >= getMaxPlayers()) else if (getMaxPlayers() > 0 && lobbyPlayers.size() >= getMaxPlayers())
Messenger.tell(p, Msg.JOIN_PLAYER_LIMIT_REACHED); messenger.tell(p, Msg.JOIN_PLAYER_LIMIT_REACHED);
else if (getJoinDistance() > 0 && !region.contains(p.getLocation(), getJoinDistance())) else if (getJoinDistance() > 0 && !region.contains(p.getLocation(), getJoinDistance()))
Messenger.tell(p, Msg.JOIN_TOO_FAR); messenger.tell(p, Msg.JOIN_TOO_FAR);
else if (settings.getBoolean("require-empty-inv-join", true) && !InventoryManager.hasEmptyInventory(p)) else if (settings.getBoolean("require-empty-inv-join", true) && !InventoryManager.hasEmptyInventory(p))
Messenger.tell(p, Msg.JOIN_EMPTY_INV); messenger.tell(p, Msg.JOIN_EMPTY_INV);
else if (!canAfford(p)) else if (!canAfford(p))
Messenger.tell(p, Msg.JOIN_FEE_REQUIRED, MAUtils.listToString(entryFee, plugin)); messenger.tell(p, Msg.JOIN_FEE_REQUIRED, MAUtils.listToString(entryFee, plugin));
else return true; else return true;
return false; return false;
@@ -1560,17 +1576,17 @@ public class ArenaImpl implements Arena
@Override @Override
public boolean canSpec(Player p) { public boolean canSpec(Player p) {
if (!enabled) if (!enabled)
Messenger.tell(p, Msg.JOIN_ARENA_NOT_ENABLED); messenger.tell(p, Msg.JOIN_ARENA_NOT_ENABLED);
else if (!region.isSetup()) else if (!region.isSetup())
Messenger.tell(p, Msg.JOIN_ARENA_NOT_SETUP); messenger.tell(p, Msg.JOIN_ARENA_NOT_SETUP);
else if (edit) else if (edit)
Messenger.tell(p, Msg.JOIN_ARENA_EDIT_MODE); messenger.tell(p, Msg.JOIN_ARENA_EDIT_MODE);
else if (arenaPlayers.contains(p) || lobbyPlayers.contains(p)) else if (arenaPlayers.contains(p) || lobbyPlayers.contains(p))
Messenger.tell(p, Msg.SPEC_ALREADY_PLAYING); messenger.tell(p, Msg.SPEC_ALREADY_PLAYING);
else if (settings.getBoolean("require-empty-inv-spec", true) && !InventoryManager.hasEmptyInventory(p)) else if (settings.getBoolean("require-empty-inv-spec", true) && !InventoryManager.hasEmptyInventory(p))
Messenger.tell(p, Msg.SPEC_EMPTY_INV); messenger.tell(p, Msg.SPEC_EMPTY_INV);
else if (getJoinDistance() > 0 && !region.contains(p.getLocation(), getJoinDistance())) else if (getJoinDistance() > 0 && !region.contains(p.getLocation(), getJoinDistance()))
Messenger.tell(p, Msg.JOIN_TOO_FAR); messenger.tell(p, Msg.JOIN_TOO_FAR);
else return true; else return true;
return false; return false;
@@ -384,7 +384,7 @@ public class ArenaListener
arena.setLeaderboard(new Leaderboard(plugin, arena, event.getBlock().getLocation())); arena.setLeaderboard(new Leaderboard(plugin, arena, event.getBlock().getLocation()));
arena.getRegion().set(RegionPoint.LEADERBOARD, event.getBlock().getLocation()); arena.getRegion().set(RegionPoint.LEADERBOARD, event.getBlock().getLocation());
Messenger.tell(event.getPlayer(), "Leaderboard made. Now set up the stat signs!"); arena.getPlugin().getGlobalMessenger().tell(event.getPlayer(), "Leaderboard made. Now set up the stat signs!");
} }
public void onCreatureSpawn(CreatureSpawnEvent event) { public void onCreatureSpawn(CreatureSpawnEvent event) {
@@ -492,7 +492,7 @@ public class ArenaListener
onMountDeath(event); onMountDeath(event);
} }
else if (monsters.removeGolem(event.getEntity())) { else if (monsters.removeGolem(event.getEntity())) {
Messenger.announce(arena, Msg.GOLEM_DIED); arena.getMessenger().announce(arena, Msg.GOLEM_DIED);
} }
} }
@@ -505,7 +505,7 @@ public class ArenaListener
callKillEvent(player.getKiller(), player); callKillEvent(player.getKiller(), player);
} }
if (arena.getSettings().getBoolean("show-death-messages", true)) { if (arena.getSettings().getBoolean("show-death-messages", true)) {
Messenger.announce(arena, event.getDeathMessage()); arena.getMessenger().announce(arena, event.getDeathMessage());
} }
event.setDeathMessage(null); event.setDeathMessage(null);
arena.getScoreboard().death(player); arena.getScoreboard().death(player);
@@ -575,7 +575,7 @@ public class ArenaListener
msg += MAUtils.toCamelCase(reward.getType().toString()) + ":" + reward.getAmount(); msg += MAUtils.toCamelCase(reward.getType().toString()) + ":" + reward.getAmount();
} }
for (Player q : arena.getPlayersInArena()) { for (Player q : arena.getPlayersInArena()) {
Messenger.tell(q, msg); arena.getMessenger().tell(q, msg);
} }
} }
} }
@@ -908,25 +908,25 @@ public class ArenaListener
// If the player is active in the arena, only cancel if sharing is not allowed // If the player is active in the arena, only cancel if sharing is not allowed
if (arena.inArena(p)) { if (arena.inArena(p)) {
if (!canShare) { if (!canShare) {
Messenger.tell(p, Msg.LOBBY_DROP_ITEM); arena.getMessenger().tell(p, Msg.LOBBY_DROP_ITEM);
event.setCancelled(true); event.setCancelled(true);
} }
} }
// If the player is in the lobby, just cancel // If the player is in the lobby, just cancel
else if (arena.inLobby(p)) { else if (arena.inLobby(p)) {
Messenger.tell(p, Msg.LOBBY_DROP_ITEM); arena.getMessenger().tell(p, Msg.LOBBY_DROP_ITEM);
event.setCancelled(true); event.setCancelled(true);
} }
// Same if it's a spectator, but... // Same if it's a spectator, but...
else if (arena.inSpec(p)) { else if (arena.inSpec(p)) {
Messenger.tell(p, Msg.LOBBY_DROP_ITEM); arena.getMessenger().tell(p, Msg.LOBBY_DROP_ITEM);
event.setCancelled(true); event.setCancelled(true);
// If the spectator isn't in the region, force them to leave // If the spectator isn't in the region, force them to leave
if (!region.contains(p.getLocation())) { if (!region.contains(p.getLocation())) {
Messenger.tell(p, Msg.MISC_MA_LEAVE_REMINDER); arena.getMessenger().tell(p, Msg.MISC_MA_LEAVE_REMINDER);
arena.playerLeave(p); arena.playerLeave(p);
} }
} }
@@ -937,7 +937,7 @@ public class ArenaListener
* they are trying to drop items when not allowed * they are trying to drop items when not allowed
*/ */
else if (region.contains(p.getLocation())) { else if (region.contains(p.getLocation())) {
Messenger.tell(p, Msg.LOBBY_DROP_ITEM); arena.getMessenger().tell(p, Msg.LOBBY_DROP_ITEM);
event.setCancelled(true); event.setCancelled(true);
} }
@@ -994,11 +994,11 @@ public class ArenaListener
private void handleReadyBlock(Player p) { private void handleReadyBlock(Player p) {
if (arena.getArenaPlayer(p).getArenaClass() != null) { if (arena.getArenaPlayer(p).getArenaClass() != null) {
Messenger.tell(p, Msg.LOBBY_PLAYER_READY); arena.getMessenger().tell(p, Msg.LOBBY_PLAYER_READY);
arena.playerReady(p); arena.playerReady(p);
} }
else { else {
Messenger.tell(p, Msg.LOBBY_PICK_CLASS); arena.getMessenger().tell(p, Msg.LOBBY_PICK_CLASS);
} }
} }
@@ -1011,7 +1011,7 @@ public class ArenaListener
// Check for permission. // Check for permission.
if (!plugin.has(p, "mobarena.classes." + className) && !className.equals("random")) { if (!plugin.has(p, "mobarena.classes." + className) && !className.equals("random")) {
Messenger.tell(p, Msg.LOBBY_CLASS_PERMISSION); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_PERMISSION);
return; return;
} }
@@ -1025,7 +1025,7 @@ public class ArenaListener
// If the new class is full, inform the player. // If the new class is full, inform the player.
if (!classLimits.canPlayerJoinClass(newAC)) { if (!classLimits.canPlayerJoinClass(newAC)) {
Messenger.tell(p, Msg.LOBBY_CLASS_FULL); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_FULL);
return; return;
} }
@@ -1033,7 +1033,7 @@ public class ArenaListener
double price = newAC.getPrice(); double price = newAC.getPrice();
if (price > 0D) { if (price > 0D) {
if (!plugin.hasEnough(p, price)) { if (!plugin.hasEnough(p, price)) {
Messenger.tell(p, Msg.LOBBY_CLASS_TOO_EXPENSIVE, plugin.economyFormat(price)); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_TOO_EXPENSIVE, plugin.economyFormat(price));
return; return;
} }
} }
@@ -1073,14 +1073,14 @@ public class ArenaListener
// Otherwise just fall through and use the items from the config-file // Otherwise just fall through and use the items from the config-file
} }
arena.assignClass(p, className); arena.assignClass(p, className);
Messenger.tell(p, Msg.LOBBY_CLASS_PICKED, arena.getClasses().get(className).getConfigName()); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_PICKED, arena.getClasses().get(className).getConfigName());
if (price > 0D) { if (price > 0D) {
Messenger.tell(p, Msg.LOBBY_CLASS_PRICE, plugin.economyFormat(price)); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_PRICE, plugin.economyFormat(price));
} }
} }
else { else {
arena.addRandomPlayer(p); arena.addRandomPlayer(p);
Messenger.tell(p, Msg.LOBBY_CLASS_RANDOM); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_RANDOM);
} }
} }
}); });
@@ -1141,7 +1141,7 @@ public class ArenaListener
return TeleportResponse.ALLOW; return TeleportResponse.ALLOW;
} }
Messenger.tell(p, Msg.WARP_FROM_ARENA); arena.getMessenger().tell(p, Msg.WARP_FROM_ARENA);
return TeleportResponse.REJECT; return TeleportResponse.REJECT;
} }
else if (region.contains(to)) { else if (region.contains(to)) {
@@ -1154,7 +1154,7 @@ public class ArenaListener
return TeleportResponse.ALLOW; return TeleportResponse.ALLOW;
} }
Messenger.tell(p, Msg.WARP_TO_ARENA); arena.getMessenger().tell(p, Msg.WARP_TO_ARENA);
return TeleportResponse.REJECT; return TeleportResponse.REJECT;
} }
@@ -1187,7 +1187,7 @@ public class ArenaListener
// Cancel the event regardless. // Cancel the event regardless.
event.setCancelled(true); event.setCancelled(true);
Messenger.tell(p, Msg.MISC_COMMAND_NOT_ALLOWED); arena.getMessenger().tell(p, Msg.MISC_COMMAND_NOT_ALLOWED);
} }
public void onPlayerPreLogin(PlayerLoginEvent event) { public void onPlayerPreLogin(PlayerLoginEvent event) {
@@ -73,6 +73,11 @@ public class ArenaMasterImpl implements ArenaMaster
return plugin; return plugin;
} }
@Override
public Messenger getGlobalMessenger() {
return plugin.getGlobalMessenger();
}
public boolean isEnabled() { public boolean isEnabled() {
return enabled; return enabled;
} }
@@ -282,7 +282,7 @@ public class MASpawnThread implements Runnable
continue; continue;
} }
Messenger.tell(p, "Leaving so soon?"); arena.getMessenger().tell(p, "Leaving so soon?");
p.getInventory().clear(); p.getInventory().clear();
arena.playerLeave(p); arena.playerLeave(p);
} }
@@ -330,19 +330,19 @@ public class MASpawnThread implements Runnable
rewardManager.addReward(p, reward); rewardManager.addReward(p, reward);
if (reward == null) { if (reward == null) {
Messenger.tell(p, "ERROR! Problem with rewards. Notify server host!"); arena.getMessenger().tell(p, "ERROR! Problem with rewards. Notify server host!");
plugin.getLogger().warning("Could not add null reward. Please check the config-file!"); plugin.getLogger().warning("Could not add null reward. Please check the config-file!");
} }
else if (reward.getTypeId() == MobArena.ECONOMY_MONEY_ID) { else if (reward.getTypeId() == MobArena.ECONOMY_MONEY_ID) {
if (plugin.giveMoney(p, reward)) { // Money already awarded here, not needed at end of match as well if (plugin.giveMoney(p, reward)) { // Money already awarded here, not needed at end of match as well
Messenger.tell(p, Msg.WAVE_REWARD, plugin.economyFormat(reward)); arena.getMessenger().tell(p, Msg.WAVE_REWARD, plugin.economyFormat(reward));
} }
else { else {
plugin.getLogger().warning("Tried to add money, but no economy plugin detected!"); plugin.getLogger().warning("Tried to add money, but no economy plugin detected!");
} }
} }
else { else {
Messenger.tell(p, Msg.WAVE_REWARD, MAUtils.toCamelCase(reward.getType().toString()) + ":" + reward.getAmount()); arena.getMessenger().tell(p, Msg.WAVE_REWARD, MAUtils.toCamelCase(reward.getType().toString()) + ":" + reward.getAmount());
} }
} }
} }
@@ -147,7 +147,7 @@ public class MAUtils
if (!arena.getWorld().equals(p.getWorld())) { if (!arena.getWorld().equals(p.getWorld())) {
plugin.getLogger().info("Player '" + p.getName() + "' is not in the right world. Kicking..."); plugin.getLogger().info("Player '" + p.getName() + "' is not in the right world. Kicking...");
p.kickPlayer("[MobArena] Cheater! (Warped out of the arena world.)"); p.kickPlayer("[MobArena] Cheater! (Warped out of the arena world.)");
Messenger.tell(p, "You warped out of the arena world."); arena.getMessenger().tell(p, "You warped out of the arena world.");
continue; continue;
} }
@@ -11,28 +11,35 @@ import com.garbagemule.MobArena.framework.Arena;
public class Messenger public class Messenger
{ {
private Messenger() {} private final String prefix;
public static boolean tell(CommandSender p, String msg) { public Messenger(String prefix) {
if (prefix.contains("&")) {
prefix = ChatColor.translateAlternateColorCodes('&', prefix);
}
this.prefix = prefix;
}
public boolean tell(CommandSender p, String msg) {
// If the input sender is null or the string is empty, return. // If the input sender is null or the string is empty, return.
if (p == null || msg.equals("")) { if (p == null || msg.equals("")) {
return false; return false;
} }
// Otherwise, send the message with the [MobArena] tag. // Otherwise, send the message with the [MobArena] tag.
p.sendMessage(ChatColor.GREEN + "[MobArena] " + ChatColor.RESET + msg); p.sendMessage(prefix + ChatColor.RESET + msg);
return true; return true;
} }
public static boolean tell(CommandSender p, Msg msg, String s) { public boolean tell(CommandSender p, Msg msg, String s) {
return tell(p, msg.format(s)); return tell(p, msg.format(s));
} }
public static boolean tell(CommandSender p, Msg msg) { public boolean tell(CommandSender p, Msg msg) {
return tell(p, msg.toString()); return tell(p, msg.toString());
} }
public static void announce(Arena arena, String msg) { public void announce(Arena arena, String msg) {
List<Player> players = new ArrayList<Player>(); List<Player> players = new ArrayList<Player>();
players.addAll(arena.getPlayersInArena()); players.addAll(arena.getPlayersInArena());
players.addAll(arena.getPlayersInLobby()); players.addAll(arena.getPlayersInLobby());
@@ -42,11 +49,11 @@ public class Messenger
} }
} }
public static void announce(Arena arena, Msg msg, String s) { public void announce(Arena arena, Msg msg, String s) {
announce(arena, msg.format(s)); announce(arena, msg.format(s));
} }
public static void announce(Arena arena, Msg msg) { public void announce(Arena arena, Msg msg) {
announce(arena, msg.toString()); announce(arena, msg.toString());
} }
} }
@@ -11,6 +11,7 @@ import net.milkbowl.vault.economy.EconomyResponse;
import net.milkbowl.vault.economy.EconomyResponse.ResponseType; import net.milkbowl.vault.economy.EconomyResponse.ResponseType;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender; import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.InvalidConfigurationException;
@@ -57,12 +58,21 @@ public class MobArena extends JavaPlugin
public static final int ECONOMY_MONEY_ID = -29; public static final int ECONOMY_MONEY_ID = -29;
public static Random random = new Random(); public static Random random = new Random();
private Messenger messenger;
public void onEnable() { public void onEnable() {
// Initialize config-file // Initialize config-file
configFile = new File(getDataFolder(), "config.yml"); configFile = new File(getDataFolder(), "config.yml");
config = new YamlConfiguration(); config = new YamlConfiguration();
reloadConfig(); reloadConfig();
// Initialize global messenger
String prefix = config.getString("global-settings.prefix", "");
if (prefix.isEmpty()) {
prefix = ChatColor.GREEN + "[MobArena] ";
}
messenger = new Messenger(prefix);
// Set the header and save // Set the header and save
getConfig().options().header(getHeader()); getConfig().options().header(getHeader());
saveConfig(); saveConfig();
@@ -352,4 +362,8 @@ public class MobArena extends JavaPlugin
double minor = item.getDurability() / 100D; double minor = item.getDurability() / 100D;
return major + minor; return major + minor;
} }
public Messenger getGlobalMessenger() {
return messenger;
}
} }
@@ -42,7 +42,7 @@ public class CommandHandler implements CommandExecutor
// If there's no base argument, show a helpful message. // If there's no base argument, show a helpful message.
if (base.equals("")) { if (base.equals("")) {
Messenger.tell(sender, Msg.MISC_HELP); am.getGlobalMessenger().tell(sender, Msg.MISC_HELP);
return true; return true;
} }
@@ -57,7 +57,7 @@ public class CommandHandler implements CommandExecutor
// If there's more than one match, display them. // If there's more than one match, display them.
if (matches.size() > 1) { if (matches.size() > 1) {
Messenger.tell(sender, Msg.MISC_MULTIPLE_MATCHES); am.getGlobalMessenger().tell(sender, Msg.MISC_MULTIPLE_MATCHES);
for (Command cmd : matches) { for (Command cmd : matches) {
showUsage(cmd, sender, false); showUsage(cmd, sender, false);
} }
@@ -66,7 +66,7 @@ public class CommandHandler implements CommandExecutor
// If there are no matches at all, notify. // If there are no matches at all, notify.
if (matches.size() == 0) { if (matches.size() == 0) {
Messenger.tell(sender, Msg.MISC_NO_MATCHES); am.getGlobalMessenger().tell(sender, Msg.MISC_NO_MATCHES);
return true; return true;
} }
@@ -76,7 +76,7 @@ public class CommandHandler implements CommandExecutor
// First check if the sender has permission. // First check if the sender has permission.
if (!plugin.has(sender, info.permission())) { if (!plugin.has(sender, info.permission())) {
Messenger.tell(sender, Msg.MISC_NO_ACCESS); am.getGlobalMessenger().tell(sender, Msg.MISC_NO_ACCESS);
return true; return true;
} }
@@ -162,11 +162,11 @@ public class CommandHandler implements CommandExecutor
} }
if (admin.length() == 0 && setup.length() == 0) { if (admin.length() == 0 && setup.length() == 0) {
Messenger.tell(sender, "Available commands: " + user.toString()); am.getGlobalMessenger().tell(sender, "Available commands: " + user.toString());
} else { } else {
Messenger.tell(sender, "User commands: " + user.toString()); am.getGlobalMessenger().tell(sender, "User commands: " + user.toString());
if (admin.length() > 0) Messenger.tell(sender, "Admin commands: " + admin.toString()); if (admin.length() > 0) am.getGlobalMessenger().tell(sender, "Admin commands: " + admin.toString());
if (setup.length() > 0) Messenger.tell(sender, "Setup commands: " + setup.toString()); if (setup.length() > 0) am.getGlobalMessenger().tell(sender, "Setup commands: " + setup.toString());
} }
} }
@@ -7,7 +7,6 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.framework.ArenaMaster; import com.garbagemule.MobArena.framework.ArenaMaster;
@@ -40,21 +39,21 @@ public class Commands
public static Arena getArenaToJoinOrSpec(ArenaMaster am, Player p, String arg1) { public static Arena getArenaToJoinOrSpec(ArenaMaster am, Player p, String arg1) {
// Check if MobArena is enabled first. // Check if MobArena is enabled first.
if (!am.isEnabled()) { if (!am.isEnabled()) {
Messenger.tell(p, Msg.JOIN_NOT_ENABLED); am.getGlobalMessenger().tell(p, Msg.JOIN_NOT_ENABLED);
return null; return null;
} }
// Then check if we have permission at all. // Then check if we have permission at all.
List<Arena> arenas = am.getPermittedArenas(p); List<Arena> arenas = am.getPermittedArenas(p);
if (arenas.isEmpty()) { if (arenas.isEmpty()) {
Messenger.tell(p, Msg.JOIN_NO_PERMISSION); am.getGlobalMessenger().tell(p, Msg.JOIN_NO_PERMISSION);
return null; return null;
} }
// Then check if we have any enabled arenas. // Then check if we have any enabled arenas.
arenas = am.getEnabledArenas(arenas); arenas = am.getEnabledArenas(arenas);
if (arenas.isEmpty()) { if (arenas.isEmpty()) {
Messenger.tell(p, Msg.JOIN_NOT_ENABLED); am.getGlobalMessenger().tell(p, Msg.JOIN_NOT_ENABLED);
return null; return null;
} }
@@ -65,19 +64,19 @@ public class Commands
if (arg1 != null) { if (arg1 != null) {
arena = am.getArenaWithName(arg1); arena = am.getArenaWithName(arg1);
if (arena == null) { if (arena == null) {
Messenger.tell(p, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(p, Msg.ARENA_DOES_NOT_EXIST);
return null; return null;
} }
if (!arenas.contains(arena)) { if (!arenas.contains(arena)) {
Messenger.tell(p, Msg.JOIN_ARENA_NOT_ENABLED); am.getGlobalMessenger().tell(p, Msg.JOIN_ARENA_NOT_ENABLED);
return null; return null;
} }
} }
else { else {
if (arenas.size() > 1) { if (arenas.size() > 1) {
Messenger.tell(p, Msg.JOIN_ARG_NEEDED); am.getGlobalMessenger().tell(p, Msg.JOIN_ARG_NEEDED);
Messenger.tell(p, Msg.MISC_LIST_ARENAS.format(TextUtils.listToString(arenas))); am.getGlobalMessenger().tell(p, Msg.MISC_LIST_ARENAS.format(TextUtils.listToString(arenas)));
return null; return null;
} }
arena = arenas.get(0); arena = arenas.get(0);
@@ -32,7 +32,7 @@ public class DisableCommand implements Command
if (!arg1.equals("")) { if (!arg1.equals("")) {
Arena arena = am.getArenaWithName(arg1); Arena arena = am.getArenaWithName(arg1);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(sender, Msg.ARENA_DOES_NOT_EXIST);
return true; return true;
} }
disable(arena, sender); disable(arena, sender);
@@ -41,13 +41,13 @@ public class DisableCommand implements Command
am.setEnabled(false); am.setEnabled(false);
am.saveConfig(); am.saveConfig();
Messenger.tell(sender, "MobArena " + ChatColor.RED + "disabled"); am.getGlobalMessenger().tell(sender, "MobArena " + ChatColor.RED + "disabled");
return true; return true;
} }
private void disable(Arena arena, CommandSender sender) { private void disable(Arena arena, CommandSender sender) {
arena.setEnabled(false); arena.setEnabled(false);
arena.getPlugin().saveConfig(); arena.getPlugin().saveConfig();
Messenger.tell(sender, "Arena '" + arena.configName() + "' " + ChatColor.RED + "disabled"); arena.getGlobalMessenger().tell(sender, "Arena '" + arena.configName() + "' " + ChatColor.RED + "disabled");
} }
} }
@@ -32,7 +32,7 @@ public class EnableCommand implements Command
if (!arg1.equals("")) { if (!arg1.equals("")) {
Arena arena = am.getArenaWithName(arg1); Arena arena = am.getArenaWithName(arg1);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(sender, Msg.ARENA_DOES_NOT_EXIST);
return true; return true;
} }
enable(arena, sender); enable(arena, sender);
@@ -41,13 +41,13 @@ public class EnableCommand implements Command
am.setEnabled(true); am.setEnabled(true);
am.saveConfig(); am.saveConfig();
Messenger.tell(sender, "MobArena " + ChatColor.GREEN + "enabled"); am.getGlobalMessenger().tell(sender, "MobArena " + ChatColor.GREEN + "enabled");
return true; return true;
} }
private void enable(Arena arena, CommandSender sender) { private void enable(Arena arena, CommandSender sender) {
arena.setEnabled(true); arena.setEnabled(true);
arena.getPlugin().saveConfig(); arena.getPlugin().saveConfig();
Messenger.tell(sender, "Arena '" + arena.configName() + "' " + ChatColor.GREEN + "enabled"); arena.getGlobalMessenger().tell(sender, "Arena '" + arena.configName() + "' " + ChatColor.GREEN + "enabled");
} }
} }
@@ -31,7 +31,7 @@ public class ForceCommand implements Command
for (Arena arena : am.getArenas()) { for (Arena arena : am.getArenas()) {
arena.forceEnd(); arena.forceEnd();
} }
Messenger.tell(sender, Msg.FORCE_END_ENDED); am.getGlobalMessenger().tell(sender, Msg.FORCE_END_ENDED);
am.resetArenaMap(); am.resetArenaMap();
return true; return true;
} }
@@ -39,18 +39,18 @@ public class ForceCommand implements Command
// Otherwise, grab the arena in question. // Otherwise, grab the arena in question.
Arena arena = am.getArenaWithName(arg2); Arena arena = am.getArenaWithName(arg2);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(sender, Msg.ARENA_DOES_NOT_EXIST);
return true; return true;
} }
if (arena.getAllPlayers().isEmpty()) { if (arena.getAllPlayers().isEmpty()) {
Messenger.tell(sender, Msg.FORCE_END_EMPTY); am.getGlobalMessenger().tell(sender, Msg.FORCE_END_EMPTY);
return true; return true;
} }
// And end it! // And end it!
arena.forceEnd(); arena.forceEnd();
Messenger.tell(sender, Msg.FORCE_END_ENDED); am.getGlobalMessenger().tell(sender, Msg.FORCE_END_ENDED);
return true; return true;
} }
@@ -61,23 +61,23 @@ public class ForceCommand implements Command
// Grab the arena. // Grab the arena.
Arena arena = am.getArenaWithName(arg2); Arena arena = am.getArenaWithName(arg2);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(sender, Msg.ARENA_DOES_NOT_EXIST);
return true; return true;
} }
if (arena.isRunning()) { if (arena.isRunning()) {
Messenger.tell(sender, Msg.FORCE_START_RUNNING); am.getGlobalMessenger().tell(sender, Msg.FORCE_START_RUNNING);
return true; return true;
} }
if (arena.getReadyPlayersInLobby().isEmpty()) { if (arena.getReadyPlayersInLobby().isEmpty()) {
Messenger.tell(sender, Msg.FORCE_START_NOT_READY); am.getGlobalMessenger().tell(sender, Msg.FORCE_START_NOT_READY);
return true; return true;
} }
// And start it! // And start it!
arena.forceStart(); arena.forceStart();
Messenger.tell(sender, Msg.FORCE_START_STARTED); am.getGlobalMessenger().tell(sender, Msg.FORCE_START_STARTED);
return true; return true;
} }
return false; return false;
@@ -3,7 +3,6 @@ package com.garbagemule.MobArena.commands.admin;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.garbagemule.MobArena.*;
import com.garbagemule.MobArena.commands.*; import com.garbagemule.MobArena.commands.*;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.framework.ArenaMaster; import com.garbagemule.MobArena.framework.ArenaMaster;
@@ -24,7 +23,7 @@ public class KickCommand implements Command
Arena arena = am.getArenaWithPlayer(args[0]); Arena arena = am.getArenaWithPlayer(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "That player is not in an arena."); am.getGlobalMessenger().tell(sender, "That player is not in an arena.");
return true; return true;
} }
@@ -33,8 +32,8 @@ public class KickCommand implements Command
// Force leave. // Force leave.
arena.playerLeave(bp); arena.playerLeave(bp);
Messenger.tell(sender, "Player '" + args[0] + "' was kicked from arena '" + arena.configName() + "'."); am.getGlobalMessenger().tell(sender, "Player '" + args[0] + "' was kicked from arena '" + arena.configName() + "'.");
Messenger.tell(bp, "You were kicked by " + sender.getName() + "."); am.getGlobalMessenger().tell(bp, "You were kicked by " + sender.getName() + ".");
return true; return true;
} }
} }
@@ -22,14 +22,14 @@ public class RestoreCommand implements Command
if (args.length != 1) return false; if (args.length != 1) return false;
if (am.getArenaWithPlayer(args[0]) != null) { if (am.getArenaWithPlayer(args[0]) != null) {
Messenger.tell(sender, "Player is currently in an arena."); am.getGlobalMessenger().tell(sender, "Player is currently in an arena.");
return true; return true;
} }
if (InventoryManager.restoreFromFile(am.getPlugin(), am.getPlugin().getServer().getPlayer(args[0]))) { if (InventoryManager.restoreFromFile(am.getPlugin(), am.getPlugin().getServer().getPlayer(args[0]))) {
Messenger.tell(sender, "Restored " + args[0] + "'s inventory!"); am.getGlobalMessenger().tell(sender, "Restored " + args[0] + "'s inventory!");
} else { } else {
Messenger.tell(sender, "Failed to restore " + args[0] + "'s inventory."); am.getGlobalMessenger().tell(sender, "Failed to restore " + args[0] + "'s inventory.");
} }
return true; return true;
} }
@@ -20,7 +20,7 @@ public class AddArenaCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -32,11 +32,11 @@ public class AddArenaCommand implements Command
Arena arena = am.getArenaWithName(args[0]); Arena arena = am.getArenaWithName(args[0]);
if (arena != null) { if (arena != null) {
Messenger.tell(sender, "An arena with that name already exists."); am.getGlobalMessenger().tell(sender, "An arena with that name already exists.");
return true; return true;
} }
am.createArenaNode(args[0], p.getWorld()); am.createArenaNode(args[0], p.getWorld());
Messenger.tell(sender, "New arena with name '" + args[0] + "' created!"); am.getGlobalMessenger().tell(sender, "New arena with name '" + args[0] + "' created!");
return true; return true;
} }
} }
@@ -24,18 +24,18 @@ public class AddClassPermCommand implements Command
// Grab the arena class // Grab the arena class
ArenaClass arenaClass = am.getClasses().get(args[0]); ArenaClass arenaClass = am.getClasses().get(args[0]);
if (arenaClass == null) { if (arenaClass == null) {
Messenger.tell(sender, "The class '" + TextUtils.camelCase(args[0]) + "' does not exist."); am.getGlobalMessenger().tell(sender, "The class '" + TextUtils.camelCase(args[0]) + "' does not exist.");
return true; return true;
} }
// Try to add the permission. // Try to add the permission.
if (am.addClassPermission(args[0], args[1])) { if (am.addClassPermission(args[0], args[1])) {
Messenger.tell(sender, "Added permission '" + args[1] + "' to class '" + TextUtils.camelCase(args[0]) + "'."); am.getGlobalMessenger().tell(sender, "Added permission '" + args[1] + "' to class '" + TextUtils.camelCase(args[0]) + "'.");
return true; return true;
} }
// If it wasn't added, notify. // If it wasn't added, notify.
Messenger.tell(sender, "Permission '" + args[1] + "' was NOT added to class '" + TextUtils.camelCase(args[0]) + "'."); am.getGlobalMessenger().tell(sender, "Permission '" + args[1] + "' was NOT added to class '" + TextUtils.camelCase(args[0]) + "'.");
return true; return true;
} }
} }
@@ -23,23 +23,23 @@ public class AutoDegenerateCommand implements Command
// We have to make sure at least one arena exists before degenerating // We have to make sure at least one arena exists before degenerating
if (am.getArenas().size() < 2) { if (am.getArenas().size() < 2) {
Messenger.tell(sender, "At least one arena must exist!"); am.getGlobalMessenger().tell(sender, "At least one arena must exist!");
return true; return true;
} }
// Check if arena exists. // Check if arena exists.
Arena arena = am.getArenaWithName(args[0]); Arena arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(sender, Msg.ARENA_DOES_NOT_EXIST);
return true; return true;
} }
if (!MAUtils.undoItHippieMonster(args[0], am.getPlugin(), true)) { if (!MAUtils.undoItHippieMonster(args[0], am.getPlugin(), true)) {
Messenger.tell(sender, "Could not degenerate arena."); am.getGlobalMessenger().tell(sender, "Could not degenerate arena.");
return true; return true;
} }
Messenger.tell(sender, "Arena with name '" + args[0] + "' degenerated."); am.getGlobalMessenger().tell(sender, "Arena with name '" + args[0] + "' degenerated.");
return true; return true;
} }
} }
@@ -20,7 +20,7 @@ public class AutoGenerateCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -33,16 +33,16 @@ public class AutoGenerateCommand implements Command
// Check if arena already exists. // Check if arena already exists.
Arena arena = am.getArenaWithName(args[0]); Arena arena = am.getArenaWithName(args[0]);
if (arena != null) { if (arena != null) {
Messenger.tell(sender, "An arena with that name already exists."); am.getGlobalMessenger().tell(sender, "An arena with that name already exists.");
return true; return true;
} }
if (!MAUtils.doooooItHippieMonster(p.getLocation(), 13, args[0], am.getPlugin())) { if (!MAUtils.doooooItHippieMonster(p.getLocation(), 13, args[0], am.getPlugin())) {
Messenger.tell(sender, "Could not auto-generate arena."); am.getGlobalMessenger().tell(sender, "Could not auto-generate arena.");
return true; return true;
} }
Messenger.tell(sender, "Arena with name '" + args[0] + "' generated."); am.getGlobalMessenger().tell(sender, "Arena with name '" + args[0] + "' generated.");
return true; return true;
} }
} }
@@ -21,7 +21,7 @@ public class CheckDataCommand implements Command
Arena arena; Arena arena;
if (args.length == 0) { if (args.length == 0) {
if (am.getArenas().size() > 1) { if (am.getArenas().size() > 1) {
Messenger.tell(sender, "There are multiple arenas."); am.getGlobalMessenger().tell(sender, "There are multiple arenas.");
return true; return true;
} else { } else {
arena = am.getArenas().get(0); arena = am.getArenas().get(0);
@@ -29,7 +29,7 @@ public class CheckDataCommand implements Command
} else { } else {
arena = am.getArenaWithName(args[0]); arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There is no arena named " + args[0]); am.getGlobalMessenger().tell(sender, "There is no arena named " + args[0]);
return true; return true;
} }
} }
@@ -1,6 +1,5 @@
package com.garbagemule.MobArena.commands.setup; package com.garbagemule.MobArena.commands.setup;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.commands.CommandInfo;
@@ -22,14 +21,14 @@ public class CheckSpawnsCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
Arena arena; Arena arena;
if (args.length == 0) { if (args.length == 0) {
if (am.getArenas().size() > 1) { if (am.getArenas().size() > 1) {
Messenger.tell(sender, "There are multiple arenas."); am.getGlobalMessenger().tell(sender, "There are multiple arenas.");
return true; return true;
} else { } else {
arena = am.getArenas().get(0); arena = am.getArenas().get(0);
@@ -37,13 +36,13 @@ public class CheckSpawnsCommand implements Command
} else { } else {
arena = am.getArenaWithName(args[0]); arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There is no arena named " + args[0]); am.getGlobalMessenger().tell(sender, "There is no arena named " + args[0]);
return true; return true;
} }
} }
if (arena.getRegion().getSpawnpoints().isEmpty()) { if (arena.getRegion().getSpawnpoints().isEmpty()) {
Messenger.tell(sender, "There are no spawnpoints in the selected arena."); am.getGlobalMessenger().tell(sender, "There are no spawnpoints in the selected arena.");
return true; return true;
} }
Player p = Commands.unwrap(sender); Player p = Commands.unwrap(sender);
@@ -1,7 +1,6 @@
package com.garbagemule.MobArena.commands.setup; package com.garbagemule.MobArena.commands.setup;
import com.garbagemule.MobArena.ArenaClass; import com.garbagemule.MobArena.ArenaClass;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.commands.CommandInfo;
@@ -27,7 +26,7 @@ public class ClassChestCommand implements Command {
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -36,7 +35,7 @@ public class ClassChestCommand implements Command {
ArenaClass ac = am.getClasses().get(args[0].toLowerCase()); ArenaClass ac = am.getClasses().get(args[0].toLowerCase());
if (ac == null) { if (ac == null) {
Messenger.tell(sender, "Class not found."); am.getGlobalMessenger().tell(sender, "Class not found.");
return true; return true;
} }
@@ -49,13 +48,13 @@ public class ClassChestCommand implements Command {
case TRAPPED_CHEST: case TRAPPED_CHEST:
break; break;
default: default:
Messenger.tell(sender, "You must look at a chest."); am.getGlobalMessenger().tell(sender, "You must look at a chest.");
return true; return true;
} }
setLocation(am.getPlugin().getConfig(), "classes." + ac.getConfigName() + ".classchest", b.getLocation()); setLocation(am.getPlugin().getConfig(), "classes." + ac.getConfigName() + ".classchest", b.getLocation());
am.saveConfig(); am.saveConfig();
Messenger.tell(sender, "Class chest updated for class " + ac.getConfigName()); am.getGlobalMessenger().tell(sender, "Class chest updated for class " + ac.getConfigName());
am.loadClasses(); am.loadClasses();
return true; return true;
} }
@@ -24,15 +24,15 @@ public class ConfigCommand implements Command
if (args[0].equals("reload")) { if (args[0].equals("reload")) {
try { try {
am.reloadConfig(); am.reloadConfig();
Messenger.tell(sender, "Config reloaded."); am.getGlobalMessenger().tell(sender, "Config reloaded.");
} catch (Exception e) { } catch (Exception e) {
Messenger.tell(sender, ChatColor.RED + "ERROR:" + ChatColor.RESET + "\n" + e.getMessage()); am.getGlobalMessenger().tell(sender, ChatColor.RED + "ERROR:" + ChatColor.RESET + "\n" + e.getMessage());
Messenger.tell(sender, "MobArena has been " + ChatColor.RED + "disabled" + ChatColor.RESET + "."); am.getGlobalMessenger().tell(sender, "MobArena has been " + ChatColor.RED + "disabled" + ChatColor.RESET + ".");
Messenger.tell(sender, "Fix the config-file, then reload it again, and then type " + ChatColor.YELLOW + "/ma enable" + ChatColor.RESET + " to re-enable MobArena."); am.getGlobalMessenger().tell(sender, "Fix the config-file, then reload it again, and then type " + ChatColor.YELLOW + "/ma enable" + ChatColor.RESET + " to re-enable MobArena.");
} }
} else if (args[0].equals("save")) { } else if (args[0].equals("save")) {
am.saveConfig(); am.saveConfig();
Messenger.tell(sender, "Config saved."); am.getGlobalMessenger().tell(sender, "Config saved.");
} else { } else {
return false; return false;
} }
@@ -23,7 +23,7 @@ public class EditArenaCommand implements Command
Arena arena; Arena arena;
if (args.length == 0) { if (args.length == 0) {
if (am.getArenas().size() > 1) { if (am.getArenas().size() > 1) {
Messenger.tell(sender, "There are multiple arenas."); am.getGlobalMessenger().tell(sender, "There are multiple arenas.");
return true; return true;
} }
arena = am.getArenas().get(0); arena = am.getArenas().get(0);
@@ -31,7 +31,7 @@ public class EditArenaCommand implements Command
} else if (args.length == 1) { } else if (args.length == 1) {
if (args[0].matches("on|off|true|false")) { if (args[0].matches("on|off|true|false")) {
if (am.getArenas().size() > 1) { if (am.getArenas().size() > 1) {
Messenger.tell(sender, "There are multiple arenas."); am.getGlobalMessenger().tell(sender, "There are multiple arenas.");
return true; return true;
} }
arena = am.getArenas().get(0); arena = am.getArenas().get(0);
@@ -39,7 +39,7 @@ public class EditArenaCommand implements Command
} else { } else {
arena = am.getArenaWithName(args[0]); arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There is no arena named " + args[0]); am.getGlobalMessenger().tell(sender, "There is no arena named " + args[0]);
return true; return true;
} }
value = !arena.inEditMode(); value = !arena.inEditMode();
@@ -49,8 +49,8 @@ public class EditArenaCommand implements Command
value = args[1].matches("on|true"); value = args[1].matches("on|true");
} }
arena.setEditMode(value); arena.setEditMode(value);
Messenger.tell(sender, "Edit mode for arena '" + arena.configName() + "': " + ((arena.inEditMode()) ? ChatColor.GREEN + "true" : ChatColor.RED + "false")); am.getGlobalMessenger().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!"); if (arena.inEditMode()) am.getGlobalMessenger().tell(sender, "Remember to turn it back off after editing!");
return true; return true;
} }
} }
@@ -28,14 +28,14 @@ public class ListClassPermsCommand implements Command
String className = TextUtils.camelCase(args[0]); String className = TextUtils.camelCase(args[0]);
if (arenaClass == null) { if (arenaClass == null) {
Messenger.tell(sender, "The class '" + className + "' does not exist."); am.getGlobalMessenger().tell(sender, "The class '" + className + "' does not exist.");
return true; return true;
} }
Messenger.tell(sender, "Permissions for '" + className + "':"); am.getGlobalMessenger().tell(sender, "Permissions for '" + className + "':");
Map<String,Boolean> perms = arenaClass.getPermissions(); Map<String,Boolean> perms = arenaClass.getPermissions();
if (perms.isEmpty()) { if (perms.isEmpty()) {
Messenger.tell(sender, "<none>"); am.getGlobalMessenger().tell(sender, "<none>");
return true; return true;
} }
@@ -44,7 +44,7 @@ public class ListClassPermsCommand implements Command
if (!entry.getValue()) { if (!entry.getValue()) {
perm = "^" + perm; perm = "^" + perm;
} }
Messenger.tell(sender, "- " + perm); am.getGlobalMessenger().tell(sender, "- " + perm);
} }
return true; return true;
} }
@@ -19,15 +19,15 @@ public class ListClassesCommand implements Command
{ {
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
Messenger.tell(sender, "Current classes:"); am.getGlobalMessenger().tell(sender, "Current classes:");
Set<String> classes = am.getClasses().keySet(); Set<String> classes = am.getClasses().keySet();
if (classes == null || classes.isEmpty()) { if (classes == null || classes.isEmpty()) {
Messenger.tell(sender, "<none>"); am.getGlobalMessenger().tell(sender, "<none>");
return true; return true;
} }
for (String c : classes) { for (String c : classes) {
Messenger.tell(sender, "- " + c); am.getGlobalMessenger().tell(sender, "- " + c);
} }
return true; return true;
} }
@@ -22,17 +22,17 @@ public class RemoveArenaCommand implements Command
if (args.length != 1) return false; if (args.length != 1) return false;
if (am.getArenas().size() == 1) { if (am.getArenas().size() == 1) {
Messenger.tell(sender, "At least one arena must exist."); am.getGlobalMessenger().tell(sender, "At least one arena must exist.");
return true; return true;
} }
Arena arena = am.getArenaWithName(args[0]); Arena arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There is no arena with that name."); am.getGlobalMessenger().tell(sender, "There is no arena with that name.");
return true; return true;
} }
am.removeArenaNode(arena); am.removeArenaNode(arena);
Messenger.tell(sender, "Arena '" + arena.configName() + "' deleted."); am.getGlobalMessenger().tell(sender, "Arena '" + arena.configName() + "' deleted.");
return true; return true;
} }
} }
@@ -25,12 +25,12 @@ public class RemoveClassCommand implements Command
ArenaClass arenaClass = am.getClasses().get(args[0]); ArenaClass arenaClass = am.getClasses().get(args[0]);
String className = TextUtils.camelCase(args[0]); String className = TextUtils.camelCase(args[0]);
if (arenaClass == null) { if (arenaClass == null) {
Messenger.tell(sender, "The class '" + className + "' does not exist."); am.getGlobalMessenger().tell(sender, "The class '" + className + "' does not exist.");
return true; return true;
} }
am.removeClassNode(className); am.removeClassNode(className);
Messenger.tell(sender, "Removed class '" + className + "'."); am.getGlobalMessenger().tell(sender, "Removed class '" + className + "'.");
return true; return true;
} }
} }
@@ -24,18 +24,18 @@ public class RemoveClassPermCommand implements Command
// Grab the arena class // Grab the arena class
ArenaClass arenaClass = am.getClasses().get(args[0]); ArenaClass arenaClass = am.getClasses().get(args[0]);
if (arenaClass == null) { if (arenaClass == null) {
Messenger.tell(sender, "The class '" + TextUtils.camelCase(args[0]) + "' does not exist."); am.getGlobalMessenger().tell(sender, "The class '" + TextUtils.camelCase(args[0]) + "' does not exist.");
return true; return true;
} }
// Remove the permission. // Remove the permission.
if (am.removeClassPermission(args[0], args[1])) { if (am.removeClassPermission(args[0], args[1])) {
Messenger.tell(sender, "Removed permission '" + args[1] + "' from class '" + TextUtils.camelCase(args[0]) + "'."); am.getGlobalMessenger().tell(sender, "Removed permission '" + args[1] + "' from class '" + TextUtils.camelCase(args[0]) + "'.");
return true; return true;
} }
// If it wasn't removed, notify. // If it wasn't removed, notify.
Messenger.tell(sender, "Permission '" + args[1] + "' was NOT removed from class '" + TextUtils.camelCase(args[0]) + "'."); am.getGlobalMessenger().tell(sender, "Permission '" + args[1] + "' was NOT removed from class '" + TextUtils.camelCase(args[0]) + "'.");
return true; return true;
} }
} }
@@ -24,7 +24,7 @@ public class RemoveContainerCommand implements Command
String chest; String chest;
if (args.length == 1) { if (args.length == 1) {
if (am.getArenas().size() > 1) { if (am.getArenas().size() > 1) {
Messenger.tell(sender, "There are multiple arenas."); am.getGlobalMessenger().tell(sender, "There are multiple arenas.");
return true; return true;
} }
arena = am.getArenas().get(0); arena = am.getArenas().get(0);
@@ -32,16 +32,16 @@ public class RemoveContainerCommand implements Command
} else { } else {
arena = am.getArenaWithName(args[0]); arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There is no arena named " + args[0]); am.getGlobalMessenger().tell(sender, "There is no arena named " + args[0]);
return true; return true;
} }
chest = args[1]; chest = args[1];
} }
if (arena.getRegion().removeChest(chest)) { if (arena.getRegion().removeChest(chest)) {
Messenger.tell(sender, "Container " + chest + " removed for arena '" + arena.configName() + "'"); am.getGlobalMessenger().tell(sender, "Container " + chest + " removed for arena '" + arena.configName() + "'");
} else { } else {
Messenger.tell(sender, "Could not find the container " + chest + " for the arena '" + arena.configName() + "'"); am.getGlobalMessenger().tell(sender, "Could not find the container " + chest + " for the arena '" + arena.configName() + "'");
} }
return true; return true;
} }
@@ -3,7 +3,6 @@ package com.garbagemule.MobArena.commands.setup;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.commands.CommandInfo;
@@ -23,23 +22,23 @@ public class RemoveLeaderboardCommand implements Command
Arena arena; Arena arena;
if (args.length == 0) { if (args.length == 0) {
if (am.getArenas().size() > 1) { if (am.getArenas().size() > 1) {
Messenger.tell(sender, "There are multiple arenas."); am.getGlobalMessenger().tell(sender, "There are multiple arenas.");
return true; return true;
} }
arena = am.getArenas().get(0); arena = am.getArenas().get(0);
} else { } else {
arena = am.getArenaWithName(args[0]); arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There is no arena named " + args[0]); am.getGlobalMessenger().tell(sender, "There is no arena named " + args[0]);
return true; return true;
} }
} }
if (arena.getRegion().getLeaderboard() != null) { if (arena.getRegion().getLeaderboard() != null) {
arena.getRegion().set("leaderboard", null); arena.getRegion().set("leaderboard", null);
Messenger.tell(sender, "Leaderboard for " + arena.configName() + " successfully removed!"); am.getGlobalMessenger().tell(sender, "Leaderboard for " + arena.configName() + " successfully removed!");
} else { } else {
Messenger.tell(sender, Msg.ARENA_LBOARD_NOT_FOUND); am.getGlobalMessenger().tell(sender, Msg.ARENA_LBOARD_NOT_FOUND);
} }
return true; return true;
} }
@@ -24,7 +24,7 @@ public class RemoveSpawnpointCommand implements Command
String point; String point;
if (args.length == 1) { if (args.length == 1) {
if (am.getArenas().size() > 1) { if (am.getArenas().size() > 1) {
Messenger.tell(sender, "There are multiple arenas."); am.getGlobalMessenger().tell(sender, "There are multiple arenas.");
return true; return true;
} }
arena = am.getArenas().get(0); arena = am.getArenas().get(0);
@@ -32,16 +32,16 @@ public class RemoveSpawnpointCommand implements Command
} else { } else {
arena = am.getArenaWithName(args[0]); arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There is no arena named " + args[0]); am.getGlobalMessenger().tell(sender, "There is no arena named " + args[0]);
return true; return true;
} }
point = args[1]; point = args[1];
} }
if (arena.getRegion().removeSpawn(point)) { if (arena.getRegion().removeSpawn(point)) {
Messenger.tell(sender, "Spawnpoint " + point + " removed for arena '" + arena.configName() + "'"); am.getGlobalMessenger().tell(sender, "Spawnpoint " + point + " removed for arena '" + arena.configName() + "'");
} else { } else {
Messenger.tell(sender, "Could not find the spawnpoint " + point + " for the arena '" + arena.configName() + "'"); am.getGlobalMessenger().tell(sender, "Could not find the spawnpoint " + point + " for the arena '" + arena.configName() + "'");
} }
return true; return true;
} }
@@ -20,7 +20,7 @@ public class SetClassCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -46,13 +46,13 @@ public class SetClassCommand implements Command
// If the class is null, it was not created. // If the class is null, it was not created.
if (arenaClass == null) { if (arenaClass == null) {
Messenger.tell(p, "That class already exists!"); am.getGlobalMessenger().tell(p, "That class already exists!");
Messenger.tell(p, "To overwrite, omit the 'safe' parameter."); am.getGlobalMessenger().tell(p, "To overwrite, omit the 'safe' parameter.");
return true; return true;
} }
// Otherwise, yay! // Otherwise, yay!
Messenger.tell(p, "Class '" + className + "' set with your current inventory."); am.getGlobalMessenger().tell(p, "Class '" + className + "' set with your current inventory.");
return true; return true;
} }
} }
@@ -1,7 +1,6 @@
package com.garbagemule.MobArena.commands.setup; package com.garbagemule.MobArena.commands.setup;
import com.garbagemule.MobArena.ArenaClass; import com.garbagemule.MobArena.ArenaClass;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.commands.CommandInfo;
@@ -32,7 +31,7 @@ public class SetClassPriceCommand implements Command
// Grab the class. // Grab the class.
ArenaClass ac = am.getClasses().get(arg1); ArenaClass ac = am.getClasses().get(arg1);
if (ac == null) { if (ac == null) {
Messenger.tell(sender, "No class named '" + arg1 + "'."); am.getGlobalMessenger().tell(sender, "No class named '" + arg1 + "'.");
return true; return true;
} }
@@ -48,7 +47,7 @@ public class SetClassPriceCommand implements Command
// Not a valid number? Bail! // Not a valid number? Bail!
if (!arg2.matches("([1-9]\\d*)|(\\d*.\\d\\d?)")) { if (!arg2.matches("([1-9]\\d*)|(\\d*.\\d\\d?)")) {
Messenger.tell(sender, "Could not parse price '" + arg2 + "'. Expected e.g. $10 or $2.50 or $.25"); am.getGlobalMessenger().tell(sender, "Could not parse price '" + arg2 + "'. Expected e.g. $10 or $2.50 or $.25");
return true; return true;
} }
double price = Double.parseDouble(arg2); double price = Double.parseDouble(arg2);
@@ -64,7 +63,7 @@ public class SetClassPriceCommand implements Command
am.getPlugin().getConfig().set("classes." + ac.getConfigName() + ".price", value); am.getPlugin().getConfig().set("classes." + ac.getConfigName() + ".price", value);
am.getPlugin().saveConfig(); am.getPlugin().saveConfig();
am.loadClasses(); am.loadClasses();
Messenger.tell(sender, msg); am.getGlobalMessenger().tell(sender, msg);
return true; return true;
} }
} }
@@ -1,6 +1,5 @@
package com.garbagemule.MobArena.commands.setup; package com.garbagemule.MobArena.commands.setup;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.commands.CommandInfo;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
@@ -26,7 +25,7 @@ public class SettingCommand implements Command {
// Find the arena first // Find the arena first
Arena arena = am.getArenaWithName(args[0]); Arena arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, "There's no arena with the name '" + args[0] + "'."); am.getGlobalMessenger().tell(sender, "There's no arena with the name '" + args[0] + "'.");
return true; return true;
} }
@@ -39,7 +38,7 @@ public class SettingCommand implements Command {
buffy.append(ChatColor.AQUA).append(entry.getKey()).append(ChatColor.RESET).append(": "); buffy.append(ChatColor.AQUA).append(entry.getKey()).append(ChatColor.RESET).append(": ");
buffy.append(ChatColor.YELLOW).append(entry.getValue()); buffy.append(ChatColor.YELLOW).append(entry.getValue());
} }
Messenger.tell(sender, buffy.toString()); am.getGlobalMessenger().tell(sender, buffy.toString());
return true; return true;
} }
@@ -50,7 +49,7 @@ public class SettingCommand implements Command {
buffy.append(ChatColor.RED).append(" is not a valid setting."); buffy.append(ChatColor.RED).append(" is not a valid setting.");
buffy.append("Type ").append(ChatColor.YELLOW).append("/ma setting ").append(args[0]); buffy.append("Type ").append(ChatColor.YELLOW).append("/ma setting ").append(args[0]);
buffy.append(ChatColor.RESET).append(" to see all settings."); buffy.append(ChatColor.RESET).append(" to see all settings.");
Messenger.tell(sender, buffy.toString()); am.getGlobalMessenger().tell(sender, buffy.toString());
return true; return true;
} }
@@ -59,14 +58,14 @@ public class SettingCommand implements Command {
StringBuilder buffy = new StringBuilder(); StringBuilder buffy = new StringBuilder();
buffy.append(ChatColor.AQUA).append(args[1]).append(ChatColor.RESET).append(": "); buffy.append(ChatColor.AQUA).append(args[1]).append(ChatColor.RESET).append(": ");
buffy.append(ChatColor.YELLOW).append(val); buffy.append(ChatColor.YELLOW).append(val);
Messenger.tell(sender, buffy.toString()); am.getGlobalMessenger().tell(sender, buffy.toString());
return true; return true;
} }
// Otherwise, determine the value of the setting // Otherwise, determine the value of the setting
if (val instanceof Boolean) { if (val instanceof Boolean) {
if (!args[2].matches("on|off|yes|no|true|false")) { if (!args[2].matches("on|off|yes|no|true|false")) {
Messenger.tell(sender, "Expected a boolean value for that setting"); am.getGlobalMessenger().tell(sender, "Expected a boolean value for that setting");
return true; return true;
} }
boolean value = args[2].matches("on|yes|true"); boolean value = args[2].matches("on|yes|true");
@@ -76,7 +75,7 @@ public class SettingCommand implements Command {
try { try {
arena.getSettings().set(args[1], Integer.parseInt(args[2])); arena.getSettings().set(args[1], Integer.parseInt(args[2]));
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
Messenger.tell(sender, "Expected a numeric value for that setting."); am.getGlobalMessenger().tell(sender, "Expected a numeric value for that setting.");
return true; return true;
} }
} else { } else {
@@ -93,7 +92,7 @@ public class SettingCommand implements Command {
buffy.append(" for arena ").append(ChatColor.GREEN).append(args[0]).append(ChatColor.RESET); buffy.append(" for arena ").append(ChatColor.GREEN).append(args[0]).append(ChatColor.RESET);
buffy.append(" set to ").append(ChatColor.YELLOW).append(args[2]).append(ChatColor.RESET); buffy.append(" set to ").append(ChatColor.YELLOW).append(args[2]).append(ChatColor.RESET);
buffy.append("!"); buffy.append("!");
Messenger.tell(sender, buffy.toString()); am.getGlobalMessenger().tell(sender, buffy.toString());
return true; return true;
} }
} }
@@ -1,6 +1,5 @@
package com.garbagemule.MobArena.commands.setup; package com.garbagemule.MobArena.commands.setup;
import static com.garbagemule.MobArena.Messenger.*;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.commands.CommandInfo;
@@ -44,7 +43,7 @@ public class SetupCommand implements Command, Listener {
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -59,8 +58,8 @@ public class SetupCommand implements Command, Listener {
} else { } else {
arena = am.getArenaWithName(args[0]); arena = am.getArenaWithName(args[0]);
if (arena == null) { if (arena == null) {
tell(sender, "There is no arena with the name " + ChatColor.RED + args[0] + ChatColor.RESET + "."); am.getGlobalMessenger().tell(sender, "There is no arena with the name " + ChatColor.RED + args[0] + ChatColor.RESET + ".");
tell(sender, "Type " + ChatColor.YELLOW + "/ma addarena " + args[0] + ChatColor.RESET + " to create it!"); am.getGlobalMessenger().tell(sender, "Type " + ChatColor.YELLOW + "/ma addarena " + args[0] + ChatColor.RESET + " to create it!");
return true; return true;
} }
} }
@@ -31,7 +31,7 @@ public class ArenaListCommand implements Command
} }
String list = MAUtils.listToString(arenas, am.getPlugin()); String list = MAUtils.listToString(arenas, am.getPlugin());
Messenger.tell(sender, Msg.MISC_LIST_ARENAS.format(list)); am.getGlobalMessenger().tell(sender, Msg.MISC_LIST_ARENAS.format(list));
return true; return true;
} }
} }
@@ -20,7 +20,7 @@ public class JoinCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -37,7 +37,7 @@ public class JoinCommand implements Command
// Deny joining from other arenas // Deny joining from other arenas
Arena fromArena = am.getArenaWithPlayer(p); Arena fromArena = am.getArenaWithPlayer(p);
if (fromArena != null && (fromArena.inArena(p) || fromArena.inLobby(p))) { if (fromArena != null && (fromArena.inArena(p) || fromArena.inLobby(p))) {
Messenger.tell(p, Msg.JOIN_ALREADY_PLAYING); fromArena.getMessenger().tell(p, Msg.JOIN_ALREADY_PLAYING);
return true; return true;
} }
@@ -20,7 +20,7 @@ public class LeaveCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -31,13 +31,13 @@ public class LeaveCommand implements Command
if (arena == null) { if (arena == null) {
arena = am.getArenaWithSpectator(p); arena = am.getArenaWithSpectator(p);
if (arena == null) { if (arena == null) {
Messenger.tell(p, Msg.LEAVE_NOT_PLAYING); am.getGlobalMessenger().tell(p, Msg.LEAVE_NOT_PLAYING);
return true; return true;
} }
} }
if (arena.playerLeave(p)) { if (arena.playerLeave(p)) {
Messenger.tell(p, Msg.LEAVE_PLAYER_LEFT); arena.getMessenger().tell(p, Msg.LEAVE_PLAYER_LEFT);
} }
return true; return true;
} }
@@ -28,7 +28,7 @@ public class NotReadyCommand implements Command
if (!arg1.equals("")) { if (!arg1.equals("")) {
arena = am.getArenaWithName(arg1); arena = am.getArenaWithName(arg1);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(sender, Msg.ARENA_DOES_NOT_EXIST);
return false; return false;
} }
} else if (Commands.isPlayer(sender)) { } else if (Commands.isPlayer(sender)) {
@@ -36,7 +36,7 @@ public class NotReadyCommand implements Command
arena = am.getArenaWithPlayer(p); arena = am.getArenaWithPlayer(p);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.LEAVE_NOT_PLAYING); am.getGlobalMessenger().tell(sender, Msg.LEAVE_NOT_PLAYING);
return true; return true;
} }
} else { } else {
@@ -44,7 +44,7 @@ public class NotReadyCommand implements Command
} }
String list = MAUtils.listToString(arena.getNonreadyPlayers(), am.getPlugin()); String list = MAUtils.listToString(arena.getNonreadyPlayers(), am.getPlugin());
Messenger.tell(sender, Msg.MISC_LIST_PLAYERS.format(list)); arena.getMessenger().tell(sender, Msg.MISC_LIST_PLAYERS.format(list));
return true; return true;
} }
} }
@@ -2,7 +2,6 @@ package com.garbagemule.MobArena.commands.user;
import com.garbagemule.MobArena.ArenaClass; import com.garbagemule.MobArena.ArenaClass;
import com.garbagemule.MobArena.ClassLimitManager; import com.garbagemule.MobArena.ClassLimitManager;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.commands.CommandInfo;
@@ -30,7 +29,7 @@ public class PickClassCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true; return true;
} }
@@ -46,7 +45,7 @@ public class PickClassCommand implements Command
// Make sure the player is in the lobby // Make sure the player is in the lobby
if (!arena.inLobby(p)) { if (!arena.inLobby(p)) {
Messenger.tell(p, Msg.MISC_NO_ACCESS); arena.getMessenger().tell(p, Msg.MISC_NO_ACCESS);
return true; return true;
} }
@@ -54,13 +53,13 @@ public class PickClassCommand implements Command
String lowercase = args[0].toLowerCase(); String lowercase = args[0].toLowerCase();
ArenaClass ac = am.getClasses().get(lowercase); ArenaClass ac = am.getClasses().get(lowercase);
if (ac == null) { if (ac == null) {
Messenger.tell(p, Msg.LOBBY_NO_SUCH_CLASS, lowercase); arena.getMessenger().tell(p, Msg.LOBBY_NO_SUCH_CLASS, lowercase);
return true; return true;
} }
// Check for permission. // Check for permission.
if (!am.getPlugin().has(p, "mobarena.classes." + lowercase) && !lowercase.equals("random")) { if (!am.getPlugin().has(p, "mobarena.classes." + lowercase) && !lowercase.equals("random")) {
Messenger.tell(p, Msg.LOBBY_CLASS_PERMISSION); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_PERMISSION);
return true; return true;
} }
@@ -71,7 +70,7 @@ public class PickClassCommand implements Command
// If the new class is full, inform the player. // If the new class is full, inform the player.
ClassLimitManager clm = arena.getClassLimitManager(); ClassLimitManager clm = arena.getClassLimitManager();
if (!clm.canPlayerJoinClass(ac)) { if (!clm.canPlayerJoinClass(ac)) {
Messenger.tell(p, Msg.LOBBY_CLASS_FULL); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_FULL);
return true; return true;
} }
@@ -79,7 +78,7 @@ public class PickClassCommand implements Command
double price = ac.getPrice(); double price = ac.getPrice();
if (price > 0D) { if (price > 0D) {
if (!am.getPlugin().hasEnough(p, price)) { if (!am.getPlugin().hasEnough(p, price)) {
Messenger.tell(p, Msg.LOBBY_CLASS_TOO_EXPENSIVE, am.getPlugin().economyFormat(price)); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_TOO_EXPENSIVE, am.getPlugin().economyFormat(price));
return true; return true;
} }
} }
@@ -96,13 +95,13 @@ public class PickClassCommand implements Command
// No linked chest? Fall through to config-file // No linked chest? Fall through to config-file
} }
arena.assignClass(p, lowercase); arena.assignClass(p, lowercase);
Messenger.tell(p, Msg.LOBBY_CLASS_PICKED, arena.getClasses().get(lowercase).getConfigName()); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_PICKED, arena.getClasses().get(lowercase).getConfigName());
if (price > 0D) { if (price > 0D) {
Messenger.tell(p, Msg.LOBBY_CLASS_PRICE, am.getPlugin().economyFormat(price)); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_PRICE, am.getPlugin().economyFormat(price));
} }
} else { } else {
arena.addRandomPlayer(p); arena.addRandomPlayer(p);
Messenger.tell(p, Msg.LOBBY_CLASS_RANDOM); arena.getMessenger().tell(p, Msg.LOBBY_CLASS_RANDOM);
} }
return true; return true;
} }
@@ -30,7 +30,7 @@ public class PlayerListCommand implements Command
Arena arena = am.getArenaWithName(arg1); Arena arena = am.getArenaWithName(arg1);
if (arena == null) { if (arena == null) {
Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST); am.getGlobalMessenger().tell(sender, Msg.ARENA_DOES_NOT_EXIST);
return false; return false;
} }
@@ -47,7 +47,7 @@ public class PlayerListCommand implements Command
list = buffy.toString(); list = buffy.toString();
} }
Messenger.tell(sender, Msg.MISC_LIST_PLAYERS.format(list)); am.getGlobalMessenger().tell(sender, Msg.MISC_LIST_PLAYERS.format(list));
return true; return true;
} }
} }
@@ -20,7 +20,7 @@ public class SpecCommand implements Command
@Override @Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) { public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) { if (!Commands.isPlayer(sender)) {
Messenger.tell(sender, Msg.MISC_NOT_FROM_CONSOLE); am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return false; return false;
} }
@@ -37,7 +37,7 @@ public class SpecCommand implements Command
// Deny spectating from other arenas // Deny spectating from other arenas
Arena fromArena = am.getArenaWithPlayer(p); Arena fromArena = am.getArenaWithPlayer(p);
if (fromArena != null && (fromArena.inArena(p) || fromArena.inLobby(p))) { if (fromArena != null && (fromArena.inArena(p) || fromArena.inLobby(p))) {
Messenger.tell(p, Msg.SPEC_ALREADY_PLAYING); fromArena.getMessenger().tell(p, Msg.SPEC_ALREADY_PLAYING);
return true; return true;
} }
@@ -2,6 +2,7 @@ package com.garbagemule.MobArena.framework;
import java.util.*; import java.util.*;
import com.garbagemule.MobArena.Messenger;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Block; import org.bukkit.block.Block;
@@ -109,6 +110,9 @@ public interface Arena
public ScoreboardManager getScoreboard(); public ScoreboardManager getScoreboard();
public Messenger getMessenger();
public Messenger getGlobalMessenger();
@@ -4,6 +4,7 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.garbagemule.MobArena.Messenger;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
@@ -24,6 +25,8 @@ public interface ArenaMaster
public MobArena getPlugin(); public MobArena getPlugin();
public Messenger getGlobalMessenger();
public boolean isEnabled(); public boolean isEnabled();
@@ -13,7 +13,6 @@ import org.bukkit.event.vehicle.VehicleExitEvent;
import org.bukkit.event.world.WorldLoadEvent; import org.bukkit.event.world.WorldLoadEvent;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.MobArena; import com.garbagemule.MobArena.MobArena;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.framework.ArenaMaster; import com.garbagemule.MobArena.framework.ArenaMaster;
@@ -111,7 +110,7 @@ public class MAGlobalListener implements Listener
} }
else if ((stat = Stats.getByShortName(text)) != null) { else if ((stat = Stats.getByShortName(text)) != null) {
setSignLines(event, ChatColor.GREEN + "", "", ChatColor.AQUA + stat.getFullName(), "---------------"); setSignLines(event, ChatColor.GREEN + "", "", ChatColor.AQUA + stat.getFullName(), "---------------");
Messenger.tell(event.getPlayer(), "Stat sign created."); am.getGlobalMessenger().tell(event.getPlayer(), "Stat sign created.");
} }
} }
@@ -1,7 +1,6 @@
package com.garbagemule.MobArena.region; package com.garbagemule.MobArena.region;
import com.garbagemule.MobArena.MAUtils; import com.garbagemule.MobArena.MAUtils;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.MobArena; import com.garbagemule.MobArena.MobArena;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.util.Enums; import com.garbagemule.MobArena.util.Enums;
@@ -132,7 +131,7 @@ public class ArenaRegion
if (p1 == null) list.add("p1"); if (p1 == null) list.add("p1");
if (p2 == null) list.add("p2"); if (p2 == null) list.add("p2");
if (!list.isEmpty()) { if (!list.isEmpty()) {
Messenger.tell(s, "Missing region points: " + MAUtils.listToString(list, plugin)); arena.getGlobalMessenger().tell(s, "Missing region points: " + MAUtils.listToString(list, plugin));
list.clear(); list.clear();
} }
} }
@@ -143,7 +142,7 @@ public class ArenaRegion
if (lobbyWarp == null) list.add("lobby"); if (lobbyWarp == null) list.add("lobby");
if (specWarp == null) list.add("spectator"); if (specWarp == null) list.add("spectator");
if (!list.isEmpty()) { if (!list.isEmpty()) {
Messenger.tell(s, "Missing warps: " + MAUtils.listToString(list, plugin)); arena.getGlobalMessenger().tell(s, "Missing warps: " + MAUtils.listToString(list, plugin));
list.clear(); list.clear();
} }
} }
@@ -151,13 +150,13 @@ public class ArenaRegion
// Spawnpoints // Spawnpoints
if (spawns) { if (spawns) {
if (spawnpoints.isEmpty()) { if (spawnpoints.isEmpty()) {
Messenger.tell(s, "Missing spawnpoints"); arena.getGlobalMessenger().tell(s, "Missing spawnpoints");
} }
} }
// Ready? // Ready?
if (ready && setup) { if (ready && setup) {
Messenger.tell(s, "Arena is ready to be used!"); arena.getGlobalMessenger().tell(s, "Arena is ready to be used!");
} }
} }
@@ -628,12 +627,12 @@ public class ArenaRegion
} }
if (map.isEmpty()) { if (map.isEmpty()) {
Messenger.tell(p, "No spawnpoints cover your location!"); arena.getGlobalMessenger().tell(p, "No spawnpoints cover your location!");
return; return;
} }
// Notify the player // Notify the player
Messenger.tell(p, "The following points cover your location:"); arena.getGlobalMessenger().tell(p, "The following points cover your location:");
for (Map.Entry<String,Location> entry : map.entrySet()) { for (Map.Entry<String,Location> entry : map.entrySet()) {
Location l = entry.getValue(); Location l = entry.getValue();
String coords = l.getBlockX() + "," + l.getBlockY() + "," + l.getBlockZ(); String coords = l.getBlockX() + "," + l.getBlockY() + "," + l.getBlockZ();
@@ -1,7 +1,6 @@
package com.garbagemule.MobArena.util; package com.garbagemule.MobArena.util;
import com.garbagemule.MobArena.ArenaClass; import com.garbagemule.MobArena.ArenaClass;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
@@ -97,11 +96,11 @@ public class ClassChests {
contents = newContents; contents = newContents;
} }
arena.assignClassGiveInv(player, classname, contents); arena.assignClassGiveInv(player, classname, contents);
Messenger.tell(player, Msg.LOBBY_CLASS_PICKED, arena.getClasses().get(classname).getConfigName()); arena.getMessenger().tell(player, Msg.LOBBY_CLASS_PICKED, arena.getClasses().get(classname).getConfigName());
double price = ac.getPrice(); double price = ac.getPrice();
if (price > 0D) { if (price > 0D) {
Messenger.tell(player, Msg.LOBBY_CLASS_PRICE, arena.getPlugin().economyFormat(price)); arena.getMessenger().tell(player, Msg.LOBBY_CLASS_PRICE, arena.getPlugin().economyFormat(price));
} }
} }
@@ -3,7 +3,6 @@ package com.garbagemule.MobArena.util;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.MobArena; import com.garbagemule.MobArena.MobArena;
import com.garbagemule.MobArena.util.Updater.UpdateResult; import com.garbagemule.MobArena.util.Updater.UpdateResult;
import com.garbagemule.MobArena.util.Updater.UpdateType; import com.garbagemule.MobArena.util.Updater.UpdateType;
@@ -91,7 +90,7 @@ public class VersionChecker
if (player == null) { if (player == null) {
plugin.getLogger().info(message); plugin.getLogger().info(message);
} else if (player.isOnline()) { } else if (player.isOnline()) {
Messenger.tell(player, message); plugin.getGlobalMessenger().tell(player, message);
} }
} }
} }
@@ -1,6 +1,5 @@
package com.garbagemule.MobArena.util.timer; package com.garbagemule.MobArena.util.timer;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
@@ -49,7 +48,7 @@ public class ChatCallback extends TimerCallbackAdapter {
// Announce remaining seconds // Announce remaining seconds
long ticks = timer.getRemaining(); long ticks = timer.getRemaining();
int seconds = toSeconds(ticks); int seconds = toSeconds(ticks);
Messenger.announce(arena, msg, String.valueOf(seconds)); arena.getMessenger().announce(arena, msg, String.valueOf(seconds));
// Calculate the new interval // Calculate the new interval
index++; index++;
@@ -1,6 +1,5 @@
package com.garbagemule.MobArena.util.timer; package com.garbagemule.MobArena.util.timer;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
@@ -106,7 +105,7 @@ public class StartDelayTimer extends CountdownTimer implements TimerCallback {
// Notify players of auto-start-timer duration // Notify players of auto-start-timer duration
if (autoStartTimer.isRunning()) { if (autoStartTimer.isRunning()) {
Messenger.announce(arena, Msg.ARENA_AUTO_START, "" + autoStartTimer.getRemaining() / 20l); arena.getMessenger().announce(arena, Msg.ARENA_AUTO_START, "" + autoStartTimer.getRemaining() / 20l);
} }
} }
} }
@@ -1,6 +1,5 @@
package com.garbagemule.MobArena.waves.enums; package com.garbagemule.MobArena.waves.enums;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.waves.WaveUtils; import com.garbagemule.MobArena.waves.WaveUtils;
@@ -10,42 +9,42 @@ public enum WaveType
DEFAULT { DEFAULT {
@Override @Override
public void announce(Arena arena, int wave) { public void announce(Arena arena, int wave) {
Messenger.announce(arena, Msg.WAVE_DEFAULT, "" + wave); arena.getMessenger().announce(arena, Msg.WAVE_DEFAULT, "" + wave);
} }
}, },
SPECIAL { SPECIAL {
@Override @Override
public void announce(Arena arena, int wave) { public void announce(Arena arena, int wave) {
Messenger.announce(arena, Msg.WAVE_SPECIAL, "" + wave); arena.getMessenger().announce(arena, Msg.WAVE_SPECIAL, "" + wave);
} }
}, },
SWARM { SWARM {
@Override @Override
public void announce(Arena arena, int wave) { public void announce(Arena arena, int wave) {
Messenger.announce(arena, Msg.WAVE_SWARM, "" + wave); arena.getMessenger().announce(arena, Msg.WAVE_SWARM, "" + wave);
} }
}, },
SUPPLY { SUPPLY {
@Override @Override
public void announce(Arena arena, int wave) { public void announce(Arena arena, int wave) {
Messenger.announce(arena, Msg.WAVE_SUPPLY, "" + wave); arena.getMessenger().announce(arena, Msg.WAVE_SUPPLY, "" + wave);
} }
}, },
BOSS { BOSS {
@Override @Override
public void announce(Arena arena, int wave) { public void announce(Arena arena, int wave) {
Messenger.announce(arena, Msg.WAVE_BOSS, "" + wave); arena.getMessenger().announce(arena, Msg.WAVE_BOSS, "" + wave);
} }
}, },
UPGRADE { UPGRADE {
@Override @Override
public void announce(Arena arena, int wave) { public void announce(Arena arena, int wave) {
Messenger.announce(arena, Msg.WAVE_UPGRADE, "" + wave); arena.getMessenger().announce(arena, Msg.WAVE_UPGRADE, "" + wave);
} }
}; };
@@ -10,7 +10,6 @@ import java.util.Set;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.waves.*; import com.garbagemule.MobArena.waves.*;
@@ -154,7 +153,7 @@ public class BossWave extends AbstractWave
public void announceAbility(Ability ability, MABoss boss, Arena arena) { public void announceAbility(Ability ability, MABoss boss, Arena arena) {
if(getAbilityAnnounce()) { if(getAbilityAnnounce()) {
AbilityInfo info = ability.getClass().getAnnotation(AbilityInfo.class); AbilityInfo info = ability.getClass().getAnnotation(AbilityInfo.class);
Messenger.announce(arena, Msg.WAVE_BOSS_ABILITY, info.name()); arena.getMessenger().announce(arena, Msg.WAVE_BOSS_ABILITY, info.name());
} }
} }
+2 -1
View File
@@ -1,3 +1,4 @@
enabled: true enabled: true
allowed-commands: /list, /pl allowed-commands: /list, /pl
update-notification: true update-notification: true
prefix: '&a[MobArena] '
+1
View File
@@ -1,3 +1,4 @@
prefix: ''
world: '' world: ''
enabled: true enabled: true
protect: true protect: true