From 6791f40da4549d53c0d0f825e5a932d3d2e0a026 Mon Sep 17 00:00:00 2001 From: Andreas Troelsen Date: Tue, 9 Aug 2011 19:33:08 +0200 Subject: [PATCH] Exploding sheep a la Notch-code. --- MobArena.jar | Bin 179769 -> 185936 bytes resources/plugin.yml | 35 +-- .../garbagemule/MobArena/AbstractArena.java | 26 +- src/com/garbagemule/MobArena/Arena.java | 137 ++++++++- src/com/garbagemule/MobArena/ArenaMaster.java | 12 +- src/com/garbagemule/MobArena/MACommands.java | 267 ++++++++--------- src/com/garbagemule/MobArena/MAListener.java | 22 +- src/com/garbagemule/MobArena/MAMessages.java | 282 +++++++----------- .../garbagemule/MobArena/MASpawnThread.java | 4 +- src/com/garbagemule/MobArena/MAUtils.java | 44 ++- src/com/garbagemule/MobArena/MobArena.java | 28 +- .../MobArena/util/EntityPosition.java | 89 ++++++ .../MobArena/util/MAInventoryItem.java | 22 ++ .../garbagemule/MobArena/util/WaveUtils.java | 2 +- .../MobArena/util/data/Totals.java | 29 +- .../garbagemule/MobArena/util/data/XML.java | 25 +- .../garbagemule/MobArena/util/data/YAML.java | 3 +- .../MobArena/waves/AbstractWave.java | 17 +- .../garbagemule/MobArena/waves/BossWave.java | 8 +- .../MobArena/waves/DefaultWave.java | 5 +- .../MobArena/waves/MACreature.java | 14 +- .../MobArena/waves/NormalWave.java | 1 - .../MobArena/waves/SpecialWave.java | 5 +- .../garbagemule/MobArena/waves/SwarmWave.java | 5 +- 24 files changed, 656 insertions(+), 426 deletions(-) create mode 100644 src/com/garbagemule/MobArena/util/EntityPosition.java create mode 100644 src/com/garbagemule/MobArena/util/MAInventoryItem.java diff --git a/MobArena.jar b/MobArena.jar index 9bdfef09c40bde17062814896e2e87651cb3fbb8..caddbbffd77480459de83cb934543f57b4b98a6b 100644 GIT binary patch delta 129835 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 delta 124207 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≻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 z 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 everyWaveMap, afterWaveMap; protected Map distDefault, distSpecial; @@ -174,6 +178,7 @@ public class Arena // Start spawning monsters. startSpawning(); + startBouncingSheep(); // Start logging log = new ArenaLog(plugin, this); @@ -183,7 +188,7 @@ public class Arena running = true; // Announce and notify. - MAUtils.tellAll(this, MAMessages.get(Msg.ARENA_START)); + MAUtils.tellAll(this, Msg.ARENA_START.get()); for (MobArenaListener listener : plugin.getAM().listeners) listener.onArenaStart(); @@ -221,7 +226,7 @@ public class Arena deserializeRegion(); // Announce and clear sets. - MAUtils.tellAll(this, MAMessages.get(Msg.ARENA_END), true); + MAUtils.tellAll(this, Msg.ARENA_END.get(), true); arenaPlayers.clear(); notifyPlayers.clear(); rewardedPlayers.clear(); @@ -254,8 +259,9 @@ public class Arena } public void forceEnd() - { + { Bukkit.getServer().getScheduler().cancelTask(spawnTaskId); + Bukkit.getServer().getScheduler().cancelTask(sheepTaskId); for (Player p : getAllPlayers()) playerLeave(p); @@ -271,8 +277,9 @@ public class Arena readyPlayers.clear(); cleanup(); - + spawnTaskId = -1; + sheepTaskId = -1; } public void playerJoin(Player p, Location loc) @@ -289,7 +296,7 @@ public class Arena if (minPlayers > 0 && lobbyPlayers.size() < minPlayers) { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_NOT_ENOUGH_PLAYERS, "" + minPlayers)); + MAUtils.tellPlayer(p, Msg.LOBBY_NOT_ENOUGH_PLAYERS, "" + minPlayers); return; } @@ -298,10 +305,10 @@ public class Arena public void playerLeave(Player p) { - if (arenaPlayers.contains(p)) + if (arenaPlayers.contains(p) || lobbyPlayers.contains(p)) finishArenaPlayer(p); - else if (lobbyPlayers.contains(p)) - MAUtils.clearInventory(p); + //else if (lobbyPlayers.contains(p)) + // MAUtils.clearInventory(p); movePlayerToEntry(p); discardPlayer(p); @@ -326,7 +333,7 @@ public class Arena if (running && spawnThread != null) spawnThread.updateTargets(); - MAUtils.tellAll(this, MAMessages.get(Msg.PLAYER_DIED, p.getName())); + MAUtils.tellAll(this, Msg.PLAYER_DIED.get(p.getName())); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { public void run() { endArena(); }}); @@ -378,7 +385,9 @@ public class Arena { Bukkit.getServer().getScheduler().cancelTask(spawnThread.getTaskId()); Bukkit.getServer().getScheduler().cancelTask(spawnTaskId); + Bukkit.getServer().getScheduler().cancelTask(sheepTaskId); spawnTaskId = -1; + sheepTaskId = -1; spawnThread = null; } @@ -386,6 +395,40 @@ public class Arena MAUtils.setSpawnFlags(plugin, world, spawnMonsters, allowMonsters, allowAnimals); } + private void startBouncingSheep() + { + sheepTaskId = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, + new Runnable() + { + public void run() + { + if (explodingSheep.isEmpty()) return; + + for (LivingEntity e : new LinkedList(explodingSheep)) + { + Creature c = (Creature) e; + if (c.getTarget() != null && e.getLocation().distanceSquared(c.getTarget().getLocation()) < 8) + { + CraftEntity ce = (CraftEntity) e; + CraftWorld cw = (CraftWorld) e.getWorld(); + WorldServer ws = cw.getHandle(); + ws.createExplosion(ce.getHandle(), e.getLocation().getX(), e.getLocation().getY() + 1, e.getLocation().getZ(), 2f, false); + e.remove(); + } + + if (e.isDead()) + { + explodingSheep.remove(e); + continue; + } + + if (Math.abs(e.getVelocity().getY()) < 1) + e.setVelocity(e.getVelocity().setY(0.5)); + } + } + }, waveDelay, 20); + } + private void updateChunk(Location loc) { if (!arenaPlayers.isEmpty() || !world.getName().equals(loc.getWorld().getName())) @@ -502,7 +545,7 @@ public class Arena MAUtils.clearInventory(p); restoreInvAndGiveRewards(p); - if (log != null) + if (log != null && spawnThread != null) log.players.get(p).lastWave = spawnThread.getWave() - 1; } @@ -554,7 +597,7 @@ public class Arena } assignClass(p, className); - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PICKED, className)); + MAUtils.tellPlayer(p, Msg.LOBBY_CLASS_PICKED, className); } private void cleanup() @@ -615,6 +658,7 @@ public class Arena private void removeEntities() { + if (p1 == null || p2 == null) return; Chunk c1 = world.getChunkAt(p1); Chunk c2 = world.getChunkAt(p2); @@ -687,7 +731,7 @@ public class Arena singleWaves = WaveUtils.getWaves(this, config, WaveBranch.SINGLE); recurrentWaves = WaveUtils.getWaves(this, config, WaveBranch.RECURRENT); - + /* System.out.println(); System.out.println("ARENA: " + configName); System.out.println("- Single waves"); @@ -697,7 +741,7 @@ public class Arena for (Wave w : recurrentWaves) System.out.println(" - " + w); System.out.println(); - + */ classes = plugin.getAM().classes; classItems = plugin.getAM().classItems; @@ -937,6 +981,11 @@ public class Arena monsters.add(e); } + public void addExplodingSheep(LivingEntity e) + { + explodingSheep.add(e); + } + public List getAllPlayers() { List result = new LinkedList(); @@ -961,13 +1010,21 @@ public class Arena return result; } + public Set getMonsters() + { + Set tmp = new HashSet(monsters); + tmp.addAll(explodingSheep); + return tmp; + } + public void resetIdleTimer() { if (maxIdleTime <= 0 || !running) return; // Reset the previousSize, cancel the previous timer, and start the new timer. - spawnThread.setPreviousSize(monsters.size()); + //spawnThread.setPreviousSize(monsters.size()); + spawnThread.setPreviousSize(getMonsters().size()); Bukkit.getServer().getScheduler().cancelTask(spawnThread.getTaskId()); int id = Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() @@ -992,7 +1049,7 @@ public class Arena for (Player p : ps) { MAUtils.clearInventory(p); - MAUtils.tellPlayer(p, MAMessages.get(Msg.FORCE_END_IDLE)); + MAUtils.tellPlayer(p, Msg.FORCE_END_IDLE); playerDeath(p); } } @@ -1101,6 +1158,54 @@ public class Arena MAUtils.giveItems(p, entryFee, false, plugin); hasPaid.remove(p); } + + public boolean canJoin(Player p) + { + if (!enabled) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_NOT_ENABLED); + else if (!setup || recurrentWaves.isEmpty()) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_NOT_SETUP); + else if (edit) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_EDIT_MODE); + else if (running && (notifyPlayers.contains(p) || notifyPlayers.add(p))) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_IS_RUNNING); + else if (arenaPlayers.contains(p) || lobbyPlayers.contains(p)) + MAUtils.tellPlayer(p, Msg.JOIN_ALREADY_PLAYING); + else if (!plugin.has(p, "mobarena.arenas." + configName())) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_PERMISSION); + else if (maxPlayers > 0 && lobbyPlayers.size() >= maxPlayers) + MAUtils.tellPlayer(p, Msg.JOIN_PLAYER_LIMIT_REACHED); + else if (joinDistance > 0 && !inRegionRadius(p.getLocation(), joinDistance)) + MAUtils.tellPlayer(p, Msg.JOIN_TOO_FAR); + else if (!canAfford(p) || !takeFee(p)) + MAUtils.tellPlayer(p, Msg.JOIN_FEE_REQUIRED, MAUtils.listToString(entryFee, plugin)); + else if (emptyInvJoin && !MAUtils.hasEmptyInventory(p)) + MAUtils.tellPlayer(p, Msg.JOIN_EMPTY_INV); + else if (!emptyInvJoin && !MAUtils.storeInventory(p)) + MAUtils.tellPlayer(p, Msg.JOIN_STORE_INV_FAIL); + else return true; + + return false; + } + + public boolean canSpec(Player p) + { + if (!enabled) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_NOT_ENABLED); + else if (!setup) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_NOT_SETUP); + else if (edit) + MAUtils.tellPlayer(p, Msg.JOIN_ARENA_EDIT_MODE); + else if (arenaPlayers.contains(p) || lobbyPlayers.contains(p)) + MAUtils.tellPlayer(p, Msg.SPEC_ALREADY_PLAYING); + else if (emptyInvSpec && !MAUtils.hasEmptyInventory(p)) + MAUtils.tellPlayer(p, Msg.SPEC_EMPTY_INV); + else if (joinDistance > 0 && !inRegionRadius(p.getLocation(), joinDistance)) + MAUtils.tellPlayer(p, Msg.JOIN_TOO_FAR); + else return true; + + return false; + } /** * The "perfect equals method" cf. "Object-Oriented Design and Patterns" diff --git a/src/com/garbagemule/MobArena/ArenaMaster.java b/src/com/garbagemule/MobArena/ArenaMaster.java index a8ccc28..1fcf436 100644 --- a/src/com/garbagemule/MobArena/ArenaMaster.java +++ b/src/com/garbagemule/MobArena/ArenaMaster.java @@ -13,6 +13,7 @@ import org.bukkit.World; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import org.bukkit.permissions.Permission; import org.bukkit.util.config.Configuration; public class ArenaMaster @@ -69,6 +70,15 @@ public class ArenaMaster return result; } + public List getPermittedArenas(Player p) + { + List result = new LinkedList(); + for (Arena arena : arenas) + if (plugin.has(p, "mobarena.arenas." + arena.configName())) + result.add(arena); + return result; + } + public Arena getArenaAtLocation(Location loc) { for (Arena arena : arenas) @@ -222,7 +232,7 @@ public class ArenaMaster if (config.getKeys("arenas") == null) createArenaNode("default", Bukkit.getServer().getWorlds().get(0)); - + for (String configName : config.getKeys("arenas")) { String arenaPath = "arenas." + configName + "."; diff --git a/src/com/garbagemule/MobArena/MACommands.java b/src/com/garbagemule/MobArena/MACommands.java index 92428b4..488d2a4 100644 --- a/src/com/garbagemule/MobArena/MACommands.java +++ b/src/com/garbagemule/MobArena/MACommands.java @@ -59,6 +59,7 @@ public class MACommands implements CommandExecutor COMMANDS.add("reset"); // Reset arena coordinates COMMANDS.add("addclass"); // Add a new class COMMANDS.add("delclass"); // Delete a class + COMMANDS.add("checkdata"); // Check arena well formedness COMMANDS.add("auto-generate"); // Auto-generate arena COMMANDS.add("auto-degenerate"); // Restore cuboid COMMANDS.add("lol"); @@ -128,63 +129,27 @@ public class MACommands implements CommandExecutor { if (!player || !plugin.has(p, "mobarena.use.join")) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } + List arenas = am.getEnabledArenas(); if (!am.enabled || arenas.size() < 1) { - MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_NOT_ENABLED)); + MAUtils.tellPlayer(p, Msg.JOIN_NOT_ENABLED); return true; } - - boolean error; - Arena arena; - if (!arg1.isEmpty()) - arena = am.getArenaWithName(arg1); - else if (arenas.size() == 1) - arena = arenas.get(0); - else - arena = null; + // Grab the arena to join + Arena arena = arenas.size() == 1 ? arenas.get(0) : am.getArenaWithName(arg1); - if (arenas.size() > 1 && arg1.isEmpty()) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARG_NEEDED)); - else if (arena == null) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); - else if (am.arenaMap.containsKey(p) && (am.arenaMap.get(p).arenaPlayers.contains(p) || am.arenaMap.get(p).lobbyPlayers.contains(p))) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_IN_OTHER_ARENA)); - else if (!arena.enabled) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_ENABLED)); - else if (!arena.setup || arena.recurrentWaves.isEmpty()) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_SETUP)); - else if (arena.edit) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_EDIT_MODE)); - else if (arena.running && (arena.notifyPlayers.contains(p) || arena.notifyPlayers.add(p))) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_IS_RUNNING)); - else if (arena.arenaPlayers.contains(p)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ALREADY_PLAYING)); - else if (!plugin.has(p, "mobarena.arenas." + arena.configName())) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_PERMISSION)); - else if (arena.maxPlayers > 0 && arena.lobbyPlayers.size() >= arena.maxPlayers) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_LIMIT_REACHED)); - else if (arena.joinDistance > 0 && !arena.inRegionRadius(p.getLocation(), arena.joinDistance)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_TOO_FAR)); - else if (!arena.canAfford(p) || !arena.takeFee(p)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_FEE_REQUIRED, MAUtils.listToString(arena.entryFee, plugin))); - else if (arena.emptyInvJoin && !MAUtils.hasEmptyInventory(p)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_EMPTY_INV)); - else if (!arena.emptyInvJoin && !MAUtils.storeInventory(p)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_STORE_INV_FAIL)); - else error = false; - - // If there was an error, don't join. - if (error) - { - if (arena != null) - arena.refund(p); + // Run a couple of basic sanity checks + if (!sanityChecks(p, arena, arg1, arenas)) + return true; + + // Run a bunch of per-arena sanity checks + if (!arena.canJoin(p)) return true; - } // If player is in a boat/minecart, eject! if (p.isInsideVehicle()) @@ -197,12 +162,12 @@ public class MACommands implements CommandExecutor return true; } - //am.arenaMap.put(p,arena); + // Join the arena! arena.playerJoin(p, p.getLocation()); - MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_JOINED)); + MAUtils.tellPlayer(p, Msg.JOIN_PLAYER_JOINED); if (!arena.entryFee.isEmpty()) - MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_FEE_PAID, MAUtils.listToString(arena.entryFee, plugin))); + MAUtils.tellPlayer(p, Msg.JOIN_FEE_PAID.get(MAUtils.listToString(arena.entryFee, plugin))); if (arena.hasPaid.contains(p)) arena.hasPaid.remove(p); @@ -216,7 +181,7 @@ public class MACommands implements CommandExecutor { if (!player || !plugin.has(p, "mobarena.use.leave")) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -226,17 +191,17 @@ public class MACommands implements CommandExecutor if (arena != null) { arena.playerLeave(p); - MAUtils.tellPlayer(p, MAMessages.get(Msg.LEAVE_PLAYER_LEFT)); + MAUtils.tellPlayer(p, Msg.LEAVE_PLAYER_LEFT); return true; } - MAUtils.tellPlayer(p, MAMessages.get(Msg.LEAVE_NOT_PLAYING)); + MAUtils.tellPlayer(p, Msg.LEAVE_NOT_PLAYING); return true; } Arena arena = am.arenaMap.get(p); arena.playerLeave(p); - MAUtils.tellPlayer(p, MAMessages.get(Msg.LEAVE_PLAYER_LEFT)); + MAUtils.tellPlayer(p, Msg.LEAVE_PLAYER_LEFT); return true; } @@ -247,58 +212,42 @@ public class MACommands implements CommandExecutor { if (!player || !plugin.has(p, "mobarena.use.spectate")) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } List arenas = am.getEnabledArenas(); if (!am.enabled || arenas.size() < 1) { - MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_NOT_ENABLED)); + MAUtils.tellPlayer(p, Msg.JOIN_NOT_ENABLED); return true; } - boolean error; - Arena arena; - - if (!arg1.isEmpty()) - arena = am.getArenaWithName(arg1); - else if (arenas.size() == 1) - arena = arenas.get(0); - else - arena = null; - - if (arenas.size() > 1 && arg1.isEmpty()) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARG_NEEDED)); - else if (arena == null) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); - //else if (am.arenaMap.containsKey(p) && am.arenaMap.get(p).livePlayers.contains(p)) - else if (am.arenaMap.containsKey(p) && (am.arenaMap.get(p).arenaPlayers.contains(p) || am.arenaMap.get(p).lobbyPlayers.contains(p))) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_IN_OTHER_ARENA)); - else if (!arena.enabled) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_ENABLED)); - else if (!arena.setup || arena.edit) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_SETUP)); - //else if (arena.livePlayers.contains(p)) - else if (arena.arenaPlayers.contains(p)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.SPEC_ALREADY_PLAYING)); - else if (arena.emptyInvSpec && !MAUtils.hasEmptyInventory(p)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.SPEC_EMPTY_INV)); - else if (arena.joinDistance > 0 && !arena.inRegionRadius(p.getLocation(), arena.joinDistance)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_TOO_FAR)); - else error = false; - - // If there was an error, don't spec. - if (error) + // Grab the arena to join + Arena arena = arenas.size() == 1 ? arenas.get(0) : am.getArenaWithName(arg1); + + // Run a couple of basic sanity checks + if (!sanityChecks(p, arena, arg1, arenas)) + return true; + + // Run a bunch of arena-specific sanity-checks + if (!arena.canSpec(p)) return true; // If player is in a boat/minecart, eject! if (p.isInsideVehicle()) p.leaveVehicle(); - am.arenaMap.put(p,arena); + // If player is in a bed, unbed! + if (p.isSleeping()) + { + p.kickPlayer("Banned for life... Nah, just don't join from a bed ;)"); + return true; + } + + // Spectate the arena! arena.playerSpec(p, p.getLocation()); - MAUtils.tellPlayer(p, MAMessages.get(Msg.SPEC_PLAYER_SPECTATE)); + MAUtils.tellPlayer(p, Msg.SPEC_PLAYER_SPECTATE); return true; } @@ -307,8 +256,8 @@ public class MACommands implements CommandExecutor */ if (base.equals("arenas")) { - String list = MAUtils.listToString(am.arenas, plugin); - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_LIST_ARENAS, list)); + String list = MAUtils.listToString(player ? am.getPermittedArenas(p) : am.arenas, plugin); + MAUtils.tellPlayer(sender, Msg.MISC_LIST_ARENAS.get(list)); return true; } @@ -322,12 +271,12 @@ public class MACommands implements CommandExecutor Arena arena = am.getArenaWithName(arg1); if (arena == null) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); return true; } String list = MAUtils.listToString(arena.getLivingPlayers(), plugin); - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_LIST_PLAYERS, list)); + MAUtils.tellPlayer(sender, Msg.MISC_LIST_PLAYERS.get(list)); } else { @@ -336,7 +285,7 @@ public class MACommands implements CommandExecutor for (Arena arena : am.arenas) players.addAll(arena.getLivingPlayers()); buffy.append(MAUtils.listToString(players, plugin)); - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_LIST_PLAYERS, buffy.toString())); + MAUtils.tellPlayer(sender, Msg.MISC_LIST_PLAYERS.get(buffy.toString())); } return true; } @@ -352,7 +301,7 @@ public class MACommands implements CommandExecutor arena = am.getArenaWithName(arg1); if (arena == null) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); return true; } } @@ -361,7 +310,7 @@ public class MACommands implements CommandExecutor arena = am.getArenaWithPlayer(p); if (arena == null) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.LEAVE_NOT_PLAYING)); + MAUtils.tellPlayer(sender, Msg.LEAVE_NOT_PLAYING); return true; } } @@ -372,7 +321,7 @@ public class MACommands implements CommandExecutor } String list = MAUtils.listToString(arena.getNonreadyPlayers(), plugin); - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_LIST_PLAYERS, list)); + MAUtils.tellPlayer(sender, Msg.MISC_LIST_PLAYERS.get(list)); return true; } @@ -391,7 +340,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.admin.enable")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -406,7 +355,7 @@ public class MACommands implements CommandExecutor } else { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); } } else @@ -425,7 +374,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.admin.kick")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -459,7 +408,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.admin.restore")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -486,7 +435,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.admin.force.end")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -502,25 +451,25 @@ public class MACommands implements CommandExecutor Arena arena = am.getArenaWithName(arg2); if (arena == null) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); return true; } if (arena.getAllPlayers().isEmpty()) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.FORCE_END_EMPTY)); + MAUtils.tellPlayer(sender, Msg.FORCE_END_EMPTY); return true; } arena.forceEnd(); - MAUtils.tellPlayer(sender, MAMessages.get(Msg.FORCE_END_ENDED)); + MAUtils.tellPlayer(sender, Msg.FORCE_END_ENDED); return true; } else if (arg1.equals("start")) { if (!console && !(player && plugin.has(p, "mobarena.admin.force.start")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -533,23 +482,23 @@ public class MACommands implements CommandExecutor Arena arena = am.getArenaWithName(arg2); if (arena == null) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); return true; } if (arena.running) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.FORCE_START_RUNNING)); + MAUtils.tellPlayer(sender, Msg.FORCE_START_RUNNING); return true; } if (arena.readyPlayers.isEmpty()) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.FORCE_START_NOT_READY)); + MAUtils.tellPlayer(sender, Msg.FORCE_START_NOT_READY); return true; } arena.forceStart(); - MAUtils.tellPlayer(sender, MAMessages.get(Msg.FORCE_START_STARTED)); + MAUtils.tellPlayer(sender, Msg.FORCE_START_STARTED); return true; } else @@ -566,7 +515,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.admin.config.reload")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -588,7 +537,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.arena")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -601,7 +550,7 @@ public class MACommands implements CommandExecutor if (!arena.equals(am.selectedArena)) buffy.append(arena.configName() + " "); } - else buffy.append(MAMessages.get(Msg.MISC_NONE)); + else buffy.append(Msg.MISC_NONE); MAUtils.tellPlayer(sender, "Other arenas: " + buffy.toString()); return true; @@ -614,7 +563,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.setarena")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (arg1.isEmpty()) @@ -631,7 +580,7 @@ public class MACommands implements CommandExecutor } else { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); } return true; } @@ -643,7 +592,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.addarena")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (arg1.isEmpty()) @@ -671,7 +620,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.delarena")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (arg1.isEmpty()) @@ -707,7 +656,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.protect")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -773,7 +722,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.editarena")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -842,7 +791,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.setregion")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -864,7 +813,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.expandregion")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (args.length != 3 || !arg1.matches("(-)?[0-9]+")) @@ -912,7 +861,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.showregion")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (am.selectedArena.p1 == null || am.selectedArena.p2 == null) @@ -964,7 +913,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.setlobbyregion")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -983,7 +932,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.expandlobbyregion")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (args.length != 3 || !arg1.matches("[0-9]+")) @@ -1031,7 +980,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.setwarp")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (!(arg1.equals("arena") || arg1.equals("lobby") || arg1.equals("spectator"))) @@ -1041,7 +990,8 @@ public class MACommands implements CommandExecutor } MAUtils.setArenaCoord(plugin.getConfig(), am.selectedArena, arg1, p.getLocation()); - MAUtils.tellPlayer(sender, "Set warp point " + arg1 + " for arena '" + am.selectedArena.configName() + "'"); + MAUtils.tellPlayer(sender, "Warp point " + arg1 + " was set for arena '" + am.selectedArena.configName() + "'"); + MAUtils.tellPlayer(sender, "Type /ma checkdata to see if you're missing anything..."); return true; } @@ -1052,7 +1002,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.spawnpoints")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -1069,7 +1019,7 @@ public class MACommands implements CommandExecutor } else { - buffy.append(MAMessages.get(Msg.MISC_NONE)); + buffy.append(Msg.MISC_NONE); } MAUtils.tellPlayer(sender, "Spawnpoints for arena '" + am.selectedArena.configName() + "': " + buffy.toString()); @@ -1083,7 +1033,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.addspawn")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (arg1 == null || !arg1.matches("^[a-zA-Z][a-zA-Z0-9]*$")) @@ -1093,7 +1043,7 @@ public class MACommands implements CommandExecutor } MAUtils.setArenaCoord(plugin.getConfig(), am.selectedArena, "spawnpoints." + arg1, p.getLocation()); - MAUtils.tellPlayer(sender, "Added spawnpoint " + arg1 + " for arena \"" + am.selectedArena.configName() + "\""); + MAUtils.tellPlayer(sender, "Sspawnpoint " + arg1 + " added for arena \"" + am.selectedArena.configName() + "\""); return true; } @@ -1104,7 +1054,7 @@ public class MACommands implements CommandExecutor { if (!console && !(player && plugin.has(p, "mobarena.setup.delspawn")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (arg1 == null || !arg1.matches("^[a-zA-Z][a-zA-Z0-9]*$")) @@ -1114,22 +1064,41 @@ public class MACommands implements CommandExecutor } if (MAUtils.delArenaCoord(plugin.getConfig(), am.selectedArena, "spawnpoints." + arg1)) - MAUtils.tellPlayer(sender, "Deleted spawnpoint " + arg1 + " for arena '" + am.selectedArena.configName() + "'"); + MAUtils.tellPlayer(sender, "Spawnpoint " + arg1 + " deleted for arena '" + am.selectedArena.configName() + "'"); else MAUtils.tellPlayer(sender, "Could not find the spawnpoint " + arg1 + "for the arena '" + am.selectedArena.configName() + "'"); return true; } - if (base.equals("auto-generate")) + if (base.equals("checkdata")) + { + if (!console && !(player && plugin.has(p, "mobarena.setup.checkdata")) && !op) + { + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); + return true; + } + + Arena arena = arg1.isEmpty() ? am.selectedArena : am.getArenaWithName(arg1); + if (arena == null) + { + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); + return true; + } + + MAUtils.checkData(arena, sender); + return true; + } + + if (base.equals("auto-generate") || base.equals("autogenerate")) { if (!(player && plugin.has(p, "mobarena.setup.autogenerate")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (arg1 == null || !arg1.matches("^[a-zA-Z][a-zA-Z0-9]*$")) { - MAUtils.tellPlayer(sender, "Usage: /ma autogenerate "); + MAUtils.tellPlayer(sender, "Usage: /ma auto-generate "); return true; } if (am.getArenaWithName(arg1) != null) @@ -1145,11 +1114,11 @@ public class MACommands implements CommandExecutor return true; } - if (base.equals("auto-degenerate")) + if (base.equals("auto-degenerate") || base.equals("autodegenerate")) { if (!console && !(player && plugin.has(p, "mobarena.setup.autodegenerate")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (arg1.isEmpty()) @@ -1164,7 +1133,7 @@ public class MACommands implements CommandExecutor } if (am.getArenaWithName(arg1) == null) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); return true; } @@ -1179,7 +1148,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.autogenerate")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } @@ -1198,7 +1167,7 @@ public class MACommands implements CommandExecutor { if (!(player && plugin.has(p, "mobarena.setup.autodegenerate")) && !op) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + MAUtils.tellPlayer(sender, Msg.MISC_NO_ACCESS); return true; } if (am.arenas.size() < 2) @@ -1208,7 +1177,7 @@ public class MACommands implements CommandExecutor } if (am.getArenaWithName("a1") == null) { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); + MAUtils.tellPlayer(sender, Msg.ARENA_DOES_NOT_EXIST); return true; } @@ -1227,4 +1196,18 @@ public class MACommands implements CommandExecutor MAUtils.tellPlayer(sender, "Command not found."); return true; } + + private boolean sanityChecks(Player p, Arena arena, String arg1, List arenas) + { + if (arenas.size() > 1 && arg1.isEmpty()) + MAUtils.tellPlayer(p, Msg.JOIN_ARG_NEEDED); + else if (arena == null) + MAUtils.tellPlayer(p, Msg.ARENA_DOES_NOT_EXIST); + else if (am.arenaMap.containsKey(p) && (am.arenaMap.get(p).arenaPlayers.contains(p) || am.arenaMap.get(p).lobbyPlayers.contains(p))) + MAUtils.tellPlayer(p, Msg.JOIN_IN_OTHER_ARENA); + else + return true; + + return false; + } } \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/MAListener.java b/src/com/garbagemule/MobArena/MAListener.java index 5352887..a9b09b2 100644 --- a/src/com/garbagemule/MobArena/MAListener.java +++ b/src/com/garbagemule/MobArena/MAListener.java @@ -384,7 +384,7 @@ public class MAListener implements ArenaListener if (!arena.arenaPlayers.contains(p) && !arena.lobbyPlayers.contains(p)) return; - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_DROP_ITEM)); + MAUtils.tellPlayer(p, Msg.LOBBY_DROP_ITEM); event.setCancelled(true); } @@ -429,12 +429,12 @@ public class MAListener implements ArenaListener { if (arena.classMap.containsKey(p)) { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_PLAYER_READY)); + MAUtils.tellPlayer(p, Msg.LOBBY_PLAYER_READY); arena.playerReady(p); } else { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_PICK_CLASS)); + MAUtils.tellPlayer(p, Msg.LOBBY_PICK_CLASS); } return; } @@ -444,7 +444,7 @@ public class MAListener implements ArenaListener { if (a == Action.RIGHT_CLICK_BLOCK) { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_RIGHT_CLICK)); + MAUtils.tellPlayer(p, Msg.LOBBY_RIGHT_CLICK); return; } @@ -456,18 +456,18 @@ public class MAListener implements ArenaListener if (!arena.classes.contains(className) && !className.equalsIgnoreCase("random")) return; - if (!plugin.hasDefTrue(p, "mobarena.classes." + className) && !className.equalsIgnoreCase("random")) + if (!plugin.has(p, "mobarena.classes." + className) && !className.equalsIgnoreCase("random")) { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PERMISSION)); + MAUtils.tellPlayer(p, Msg.LOBBY_CLASS_PERMISSION); return; } // Set the player's class. arena.assignClass(p, className); if (!className.equalsIgnoreCase("random")) - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PICKED, className)); + MAUtils.tellPlayer(p, Msg.LOBBY_CLASS_PICKED, className); else - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_RANDOM)); + MAUtils.tellPlayer(p, Msg.LOBBY_CLASS_RANDOM); return; } @@ -513,7 +513,7 @@ public class MAListener implements ArenaListener if (arena.inRegion(to) || to.equals(arena.arenaLoc) || to.equals(arena.lobbyLoc) || to.equals(arena.spectatorLoc) || to.equals(old)) return; - MAUtils.tellPlayer(p, MAMessages.get(Msg.WARP_FROM_ARENA)); + MAUtils.tellPlayer(p, Msg.WARP_FROM_ARENA); event.setCancelled(true); return; } @@ -523,7 +523,7 @@ public class MAListener implements ArenaListener if (to.equals(arena.arenaLoc) || to.equals(arena.lobbyLoc) || to.equals(arena.spectatorLoc) || to.equals(old)) return; - MAUtils.tellPlayer(p, MAMessages.get(Msg.WARP_TO_ARENA)); + MAUtils.tellPlayer(p, Msg.WARP_TO_ARENA); event.setCancelled(true); return; } @@ -553,6 +553,6 @@ public class MAListener implements ArenaListener return; event.setCancelled(true); - MAUtils.tellPlayer(p, MAMessages.get(Msg.MISC_COMMAND_NOT_ALLOWED)); + MAUtils.tellPlayer(p, Msg.MISC_COMMAND_NOT_ALLOWED); } } diff --git a/src/com/garbagemule/MobArena/MAMessages.java b/src/com/garbagemule/MobArena/MAMessages.java index 626d26e..4d58d67 100644 --- a/src/com/garbagemule/MobArena/MAMessages.java +++ b/src/com/garbagemule/MobArena/MAMessages.java @@ -6,172 +6,140 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.InputStreamReader; -import java.util.HashMap; -import java.util.Map; public class MAMessages { - protected static Map msgMap; - private static Map defaults = new HashMap(); public static enum Msg { - ARENA_START, - ARENA_END, - ARENA_DOES_NOT_EXIST, - JOIN_PLAYER_JOINED, - JOIN_NOT_ENABLED, - JOIN_IN_OTHER_ARENA, - JOIN_ARENA_NOT_ENABLED, - JOIN_ARENA_NOT_SETUP, - JOIN_ARENA_EDIT_MODE, - JOIN_ARENA_PERMISSION, - JOIN_FEE_REQUIRED, - JOIN_FEE_PAID, - JOIN_ARENA_IS_RUNNING, - JOIN_ALREADY_PLAYING, - JOIN_ARG_NEEDED, - JOIN_TOO_FAR, - JOIN_EMPTY_INV, - JOIN_PLAYER_LIMIT_REACHED, - JOIN_STORE_INV_FAIL, - LEAVE_PLAYER_LEFT, - LEAVE_NOT_PLAYING, - PLAYER_DIED, - SPEC_PLAYER_SPECTATE, - SPEC_NOT_RUNNING, - SPEC_ARG_NEEDED, - SPEC_EMPTY_INV, - SPEC_ALREADY_PLAYING, - NOT_READY_PLAYERS, - FORCE_START_STARTED, - FORCE_START_RUNNING, - FORCE_START_NOT_READY, - FORCE_END_ENDED, - FORCE_END_EMPTY, - FORCE_END_IDLE, - REWARDS_GIVE, - LOBBY_CLASS_PICKED, - LOBBY_CLASS_RANDOM, - LOBBY_CLASS_PERMISSION, - LOBBY_NOT_ENOUGH_PLAYERS, - LOBBY_PLAYER_READY, - LOBBY_DROP_ITEM, - LOBBY_PICK_CLASS, - LOBBY_RIGHT_CLICK, - WARP_TO_ARENA, - WARP_FROM_ARENA, - WAVE_DEFAULT, - WAVE_SPECIAL, - WAVE_SWARM, - WAVE_BOSS, - WAVE_BOSS_ABILITY, - WAVE_REWARD, - MISC_LIST_ARENAS, - MISC_LIST_PLAYERS, - MISC_COMMAND_NOT_ALLOWED, - MISC_NO_ACCESS, - MISC_NONE; + ARENA_START("Let the slaughter begin!"), + ARENA_END("Arena finished."), + ARENA_DOES_NOT_EXIST("That arena does not exist. Type /ma arenas for a list."), + JOIN_NOT_ENABLED("MobArena is not enabled."), + JOIN_IN_OTHER_ARENA("You are already in an arena! Leave that one first."), + JOIN_ARENA_NOT_ENABLED("This arena is not enabled."), + JOIN_ARENA_NOT_SETUP("This arena has not been set up yet."), + JOIN_ARENA_EDIT_MODE("This arena is in edit mode."), + JOIN_ARENA_PERMISSION("You don't have permission to join this arena."), + JOIN_FEE_REQUIRED("Insufficient funds. Price: %"), + JOIN_FEE_PAID("Price to join was: %"), + JOIN_ARENA_IS_RUNNING("This arena is in already progress."), + JOIN_ALREADY_PLAYING("You are already playing!"), + JOIN_ARG_NEEDED("You must specify an arena. Type /ma arenas for a list."), + JOIN_TOO_FAR("You are too far away from the arena to join/spectate."), + JOIN_EMPTY_INV("You must empty your inventory to join the arena."), + JOIN_PLAYER_LIMIT_REACHED("The player limit of this arena has been reached."), + JOIN_STORE_INV_FAIL("Failed to store inventory. Try again."), + JOIN_PLAYER_JOINED("You joined the arena. Have fun!"), + LEAVE_NOT_PLAYING("You are not in the arena."), + LEAVE_PLAYER_LEFT("You left the arena. Thanks for playing!"), + PLAYER_DIED("% died!"), + SPEC_PLAYER_SPECTATE("Enjoy the show!"), + SPEC_NOT_RUNNING("This arena isn't running."), + SPEC_ARG_NEEDED("You must specify an arena. Type /ma arenas for a list."), + SPEC_EMPTY_INV("Empty your inventory first!"), + SPEC_ALREADY_PLAYING("Can't spectate when in the arena!"), + NOT_READY_PLAYERS("Not ready: %"), + FORCE_START_RUNNING("Arena has already started."), + FORCE_START_NOT_READY("Can't force start, no players are ready."), + FORCE_START_STARTED("Forced arena start."), + FORCE_END_EMPTY("No one is in the arena."), + FORCE_END_ENDED("Forced arena end."), + FORCE_END_IDLE("You weren't quick enough!"), + REWARDS_GIVE("Here are all of your rewards!"), + LOBBY_DROP_ITEM("No sharing allowed at this time!"), + LOBBY_PLAYER_READY("You have been flagged as ready!"), + LOBBY_PICK_CLASS("You must first pick a class!"), + LOBBY_NOT_ENOUGH_PLAYERS("Not enough players to start. Need at least % players."), + LOBBY_RIGHT_CLICK("Punch the sign. Don't right-click."), + LOBBY_CLASS_PICKED("You have chosen % as your class!"), + LOBBY_CLASS_RANDOM("You will get a random class on arena start."), + LOBBY_CLASS_PERMISSION("You don't have permission to use this class!"), + WARP_TO_ARENA("Can't warp to the arena during battle!"), + WARP_FROM_ARENA("Warping not allowed in the arena!"), + WAVE_DEFAULT("Wave #%!"), + WAVE_SPECIAL("Wave #%! [SPECIAL]"), + WAVE_SWARM("Wave #%! [SWARM]"), + WAVE_BOSS("Wave #%! [BOSS]"), + WAVE_BOSS_ABILITY("Boss used ability: %!"), + WAVE_REWARD("You just earned a reward: %"), + MISC_LIST_PLAYERS("Live players: %"), + MISC_LIST_ARENAS("Available arenas: %"), + MISC_COMMAND_NOT_ALLOWED("You can't use that command in the arena!"), + MISC_NO_ACCESS("You don't have access to this command."), + MISC_NONE(""); + + private String msg; + + private Msg(String msg) + { + this.msg = msg; + } + + public String get() + { + return msg; + } + + public String get(String s) + { + return msg.replace("%", s); + } + + public static String get(Msg m) + { + return m.msg; + } + + public static String get(Msg m, String s) + { + return m.msg.replace("%", s); + } + + public void set(String msg) + { + this.msg = msg; + } + + public static void set(Msg m, String msg) + { + m.msg = msg; + } } - // Populate the defaults map. - static - { - defaults.put(Msg.ARENA_START, "Let the slaughter begin!"); - defaults.put(Msg.ARENA_END, "Arena finished."); - defaults.put(Msg.ARENA_DOES_NOT_EXIST, "That arena does not exist. Type /ma arenas for a list."); - defaults.put(Msg.JOIN_NOT_ENABLED, "MobArena is not enabled."); - defaults.put(Msg.JOIN_IN_OTHER_ARENA, "You are already in an arena! Leave that one first."); - defaults.put(Msg.JOIN_ARENA_NOT_ENABLED, "This arena is not enabled."); - defaults.put(Msg.JOIN_ARENA_NOT_SETUP, "This arena has not been set up yet."); - defaults.put(Msg.JOIN_ARENA_EDIT_MODE, "This arena is in edit mode."); - defaults.put(Msg.JOIN_ARENA_PERMISSION, "You don't have permission to join this arena."); - defaults.put(Msg.JOIN_FEE_REQUIRED, "Insufficient funds. Price: %"); - defaults.put(Msg.JOIN_FEE_PAID, "Price to join was: %"); - defaults.put(Msg.JOIN_ARENA_IS_RUNNING, "This arena is in already progress."); - defaults.put(Msg.JOIN_ALREADY_PLAYING, "You are already playing!"); - defaults.put(Msg.JOIN_ARG_NEEDED, "You must specify an arena. Type /ma arenas for a list."); - defaults.put(Msg.JOIN_TOO_FAR, "You are too far away from the arena to join/spectate."); - defaults.put(Msg.JOIN_EMPTY_INV, "You must empty your inventory to join the arena."); - defaults.put(Msg.JOIN_PLAYER_LIMIT_REACHED, "The player limit of this arena has been reached."); - defaults.put(Msg.JOIN_STORE_INV_FAIL, "Failed to store inventory. Try again."); - defaults.put(Msg.JOIN_PLAYER_JOINED, "You joined the arena. Have fun!"); - defaults.put(Msg.LEAVE_NOT_PLAYING, "You are not in the arena."); - defaults.put(Msg.LEAVE_PLAYER_LEFT, "You left the arena. Thanks for playing!"); - defaults.put(Msg.PLAYER_DIED, "% died!"); - defaults.put(Msg.SPEC_PLAYER_SPECTATE, "Enjoy the show!"); - defaults.put(Msg.SPEC_NOT_RUNNING, "This arena isn't running."); - defaults.put(Msg.SPEC_ARG_NEEDED, "You must specify an arena. Type /ma arenas for a list."); - defaults.put(Msg.SPEC_EMPTY_INV, "Empty your inventory first!"); - defaults.put(Msg.SPEC_ALREADY_PLAYING, "Can't spectate when in the arena!"); - defaults.put(Msg.NOT_READY_PLAYERS, "Not ready: %"); - defaults.put(Msg.FORCE_START_RUNNING, "Arena has already started."); - defaults.put(Msg.FORCE_START_NOT_READY, "Can't force start, no players are ready."); - defaults.put(Msg.FORCE_START_STARTED, "Forced arena start."); - defaults.put(Msg.FORCE_END_EMPTY, "No one is in the arena."); - defaults.put(Msg.FORCE_END_ENDED, "Forced arena end."); - defaults.put(Msg.FORCE_END_IDLE, "You weren't quick enough!"); - defaults.put(Msg.REWARDS_GIVE, "Here are all of your rewards!"); - defaults.put(Msg.LOBBY_DROP_ITEM, "No sharing allowed at this time!"); - defaults.put(Msg.LOBBY_PLAYER_READY, "You have been flagged as ready!"); - defaults.put(Msg.LOBBY_PICK_CLASS, "You must first pick a class!"); - defaults.put(Msg.LOBBY_NOT_ENOUGH_PLAYERS, "Not enough players to start. Need at least % players."); - defaults.put(Msg.LOBBY_RIGHT_CLICK, "Punch the sign. Don't right-click."); - defaults.put(Msg.LOBBY_CLASS_PICKED, "You have chosen % as your class!"); - defaults.put(Msg.LOBBY_CLASS_RANDOM, "You will get a random class on arena start."); - defaults.put(Msg.LOBBY_CLASS_PERMISSION, "You don't have permission to use this class!"); - defaults.put(Msg.WARP_TO_ARENA, "Can't warp to the arena during battle!"); - defaults.put(Msg.WARP_FROM_ARENA, "Warping not allowed in the arena!"); - defaults.put(Msg.WAVE_DEFAULT, "Wave #%!"); - defaults.put(Msg.WAVE_SPECIAL, "Wave #%! [SPECIAL]"); - defaults.put(Msg.WAVE_SWARM, "Wave #%! [SWARM]"); - defaults.put(Msg.WAVE_BOSS, "Wave #%! [BOSS]"); - defaults.put(Msg.WAVE_BOSS_ABILITY, "Boss used ability: %!"); - defaults.put(Msg.WAVE_REWARD, "You just earned a reward: %"); - defaults.put(Msg.MISC_LIST_PLAYERS, "Live players: %"); - defaults.put(Msg.MISC_LIST_ARENAS, "Available arenas: %"); - defaults.put(Msg.MISC_COMMAND_NOT_ALLOWED, "You can't use that command in the arena!"); - defaults.put(Msg.MISC_NO_ACCESS, "You don't have access to this command."); - defaults.put(Msg.MISC_NONE, ""); - } - /** * Initializes the msgMap by reading from the announcements-file. */ public static void init(MobArena plugin) - { - // Use defaults in case of any errors. - msgMap = defaults; - + { // Grab the announcements-file. - File msgFile; - try + File msgFile = new File(MobArena.dir, "announcements.properties"); + + // If the file doesn't exist, create it and use defaults. + if (!msgFile.exists()) { - msgFile = new File(plugin.getDataFolder(), "announcements.properties"); - - // If it doesn't exist, create it. - if (!msgFile.exists()) + try { - MobArena.info("Announcements-file not found. Creating one..."); msgFile.createNewFile(); - BufferedWriter bw = new BufferedWriter(new FileWriter(msgFile)); + for (Msg m : Msg.values()) { - bw.write(m.toString() + "=" + defaults.get(m)); + bw.write(m + "=" + m.msg); bw.newLine(); } - bw.close(); + bw.close(); return; } - } - catch (Exception e) - { - MobArena.warning("Couldn't initialize announcements-file. Using defaults."); + catch (Exception e) + { + MobArena.warning("Couldn't initialize announcements-file. Using defaults."); + } + return; } - - // If the file was found, populate the msgMap. + + // Otherwise, read the file's contents. try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(msgFile), "UTF-8")); @@ -194,36 +162,15 @@ public class MAMessages } } - /** - * Grabs the announcement from the msgMap, and in case of - * s not being null, replaces the % with s. - */ - public static String get(Msg msg, String s) - { - // If p is null, just return the announcement as is. - if (s == null) - return msgMap.get(msg); - - // Otherwise, replace the % with the input string. - return msgMap.get(msg).replace("%", s); - } - - /** - * Grabs the announcement from the msgMap. - */ - public static String get(Msg msg) - { - return get(msg, null); - } - /** * Helper-method for parsing the strings from the * announcements-file. */ private static void process(String s) { - if (s.endsWith("=")) - s += " "; + // If the line ends with =, just add a space + if (s.endsWith("=")) s += " "; + // Split the string by the equals-sign. String[] split = s.split("="); if (split.length != 2) @@ -235,12 +182,11 @@ public class MAMessages // For simplicity... String key = split[0]; String val = split[1]; - Msg msg; try { - msg = Msg.valueOf(key); - msgMap.put(msg, val); + Msg msg = Msg.valueOf(key); + msg.set(val); } catch (Exception e) { diff --git a/src/com/garbagemule/MobArena/MASpawnThread.java b/src/com/garbagemule/MobArena/MASpawnThread.java index 76e42b5..61cc640 100644 --- a/src/com/garbagemule/MobArena/MASpawnThread.java +++ b/src/com/garbagemule/MobArena/MASpawnThread.java @@ -186,12 +186,12 @@ public class MASpawnThread implements Runnable else if (reward.getTypeId() == MobArena.ECONOMY_MONEY_ID) { if (plugin.Methods.hasMethod()) - MAUtils.tellPlayer(p, MAMessages.get(Msg.WAVE_REWARD, plugin.Method.format(reward.getAmount()))); + MAUtils.tellPlayer(p, Msg.WAVE_REWARD, plugin.Method.format(reward.getAmount())); else MobArena.warning("Tried to add money, but no economy plugin detected!"); } else { - MAUtils.tellPlayer(p, MAMessages.get(Msg.WAVE_REWARD, MAUtils.toCamelCase(reward.getType().toString()) + ":" + reward.getAmount())); + MAUtils.tellPlayer(p, Msg.WAVE_REWARD, MAUtils.toCamelCase(reward.getType().toString()) + ":" + reward.getAmount()); } } } diff --git a/src/com/garbagemule/MobArena/MAUtils.java b/src/com/garbagemule/MobArena/MAUtils.java index 8bede2a..02fc528 100644 --- a/src/com/garbagemule/MobArena/MAUtils.java +++ b/src/com/garbagemule/MobArena/MAUtils.java @@ -35,6 +35,8 @@ import org.bukkit.inventory.PlayerInventory; import org.bukkit.util.config.Configuration; import com.garbagemule.MobArena.MAMessages.Msg; +import com.garbagemule.MobArena.util.EntityPosition; +import com.garbagemule.MobArena.util.MAInventoryItem; public class MAUtils { @@ -765,6 +767,10 @@ public class MAUtils arena.p1.setY(arena.p2.getY()); arena.p2.setY(tmp); } + + if (!arena.world.getName().equals(world.getName())) + arena.world = world; + arena.serializeConfig(); arena.load(config); } @@ -882,10 +888,19 @@ public class MAUtils return true; } + public static boolean tellPlayer(CommandSender p, Msg msg) + { + return tellPlayer(p, msg.get()); + } + + public static boolean tellPlayer(CommandSender p, Msg msg, String s) + { + return tellPlayer(p, msg.get(s)); + } + /** * Sends a message to all players in and around the arena. */ - public static void tellAll(Arena arena, String msg) { tellAll(arena, msg, false); } public static void tellAll(Arena arena, String msg, boolean notifyPlayers) { Set tmp = new HashSet(); @@ -899,6 +914,11 @@ public class MAUtils tellPlayer(p, msg); } + public static void tellAll(Arena arena, String msg) + { + tellAll(arena, msg, false); + } + public static Player getClosestPlayer(Entity e, Arena arena) { // Set up the comparison variable and the result. @@ -979,7 +999,7 @@ public class MAUtils if (list == null || list.isEmpty()) { if (none) - return MAMessages.get(Msg.MISC_NONE); + return Msg.MISC_NONE.get(); else return ""; } @@ -1066,7 +1086,7 @@ public class MAUtils * and spawnpoints are all set up. */ public static boolean verifyData(Arena arena) - { + { return ((arena.arenaLoc != null) && (arena.lobbyLoc != null) && (arena.spectatorLoc != null) && @@ -1080,6 +1100,24 @@ public class MAUtils return ((arena.l1 != null) && (arena.l2 != null)); } + + public static void checkData(Arena arena, CommandSender p) + { + if (arena.arenaLoc == null) + tellPlayer(p, "Missing warp: arena"); + if (arena.lobbyLoc == null) + tellPlayer(p, "Missing warp: lobby"); + if (arena.spectatorLoc == null) + tellPlayer(p, "Missing warp: spectator"); + if (arena.p1 == null) + tellPlayer(p, "Missing region point: p1"); + if (arena.p2 == null) + tellPlayer(p, "Missing region point: p2"); + if (arena.spawnpoints.size() <= 0) + tellPlayer(p, "Missing spawnpoints"); + if (arena.setup) + tellPlayer(p, "Arena is ready to be used!"); + } /** * Checks if there is a new update of MobArena and notifies the diff --git a/src/com/garbagemule/MobArena/MobArena.java b/src/com/garbagemule/MobArena/MobArena.java index 43fe433..298d802 100644 --- a/src/com/garbagemule/MobArena/MobArena.java +++ b/src/com/garbagemule/MobArena/MobArena.java @@ -1,6 +1,7 @@ package com.garbagemule.MobArena; import java.io.File; +import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -9,6 +10,7 @@ import org.bukkit.event.Event.Priority; import org.bukkit.event.block.BlockListener; import org.bukkit.event.player.PlayerListener; import org.bukkit.event.entity.EntityListener; +import org.bukkit.permissions.Permission; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; @@ -53,13 +55,14 @@ public class MobArena extends JavaPlugin if (!arenaDir.exists()) arenaDir.mkdir(); // Create default files and initialize config-file - FileUtils.extractDefaults("config.yml", "announcements.properties"); + FileUtils.extractDefaults("config.yml"); loadConfig(); // Download external libraries if needed. FileUtils.fetchLibs(config); // Set up permissions and economy + //setupSuperPerms(); setupPermissions(); setupRegister(); @@ -78,6 +81,7 @@ public class MobArena extends JavaPlugin public void onDisable() { // Force all arenas to end. + if (am == null) return; for (Arena arena : am.arenas) arena.forceEnd(); am.arenaMap.clear(); @@ -109,10 +113,9 @@ public class MobArena extends JavaPlugin private void registerListeners() { - // Bind the /ma, /marena, and /mobarena commands to MACommands. + // Bind the /ma, /mobarena commands to MACommands. MACommands commandExecutor = new MACommands(this, am); getCommand("ma").setExecutor(commandExecutor); - getCommand("marena").setExecutor(commandExecutor); getCommand("mobarena").setExecutor(commandExecutor); // Create event listeners. @@ -146,13 +149,18 @@ public class MobArena extends JavaPlugin // Permissions stuff public boolean has(Player p, String s) { - //return (permissionHandler != null && permissionHandler.has(p, s)); - return (permissionHandler == null || permissionHandler.has(p, s)); + //return (permissionHandler == null || permissionHandler.has(p, s)); + return hasSuperPerms(p, s) || hasNijikoPerms(p, s); } - public boolean hasDefTrue(Player p, String s) + public boolean hasSuperPerms(Player p, String s) { - return (permissionHandler == null || permissionHandler.has(p, s)); + return p.hasPermission(s); + } + + public boolean hasNijikoPerms(Player p, String s) + { + return permissionHandler != null && permissionHandler.has(p, s); } // Console printing @@ -160,6 +168,12 @@ public class MobArena extends JavaPlugin public static void warning(String msg) { Bukkit.getServer().getLogger().warning("[MobArena] " + msg); } public static void error(String msg) { Bukkit.getServer().getLogger().severe("[MobArena] " + msg); } + private void setupSuperPerms() + { + getServer().getPluginManager().addPermission(new Permission("mobarena.classes")); + getServer().getPluginManager().addPermission(new Permission("mobarena.arenas")); + } + private void setupPermissions() { if (permissionHandler != null) diff --git a/src/com/garbagemule/MobArena/util/EntityPosition.java b/src/com/garbagemule/MobArena/util/EntityPosition.java new file mode 100644 index 0000000..93c1498 --- /dev/null +++ b/src/com/garbagemule/MobArena/util/EntityPosition.java @@ -0,0 +1,89 @@ +package com.garbagemule.MobArena.util; + +import java.io.Serializable; +import org.bukkit.Location; +import org.bukkit.World; + +/** + * NOTE: I (garbagemule) DID NOT WRITE THIS CLASS (notice the author below) + * @author creadri + */ +@SuppressWarnings("serial") +public class EntityPosition implements Serializable{ + private double x; + private double y; + private double z; + private String world; + private float yaw; + private float pitch; + + public EntityPosition(double x, double y, double z, String world, float yaw, float pitch) { + this.x = x; + this.y = y; + this.z = z; + this.world = world; + this.yaw = yaw; + this.pitch = pitch; + } + + public EntityPosition(Location location) { + this.x = location.getX(); + this.y = location.getY(); + this.z = location.getZ(); + this.world = location.getWorld().getName(); + this.yaw = location.getYaw(); + this.pitch = location.getPitch(); + } + + public Location getLocation(World world) { + return new Location(world, x, y, z, yaw, pitch); + } + + public float getPitch() { + return pitch; + } + + public void setPitch(float pitch) { + this.pitch = pitch; + } + + public String getWorld() { + return world; + } + + public void setWorld(String world) { + this.world = world; + } + + public double getX() { + return x; + } + + public void setX(double x) { + this.x = x; + } + + public double getY() { + return y; + } + + public void setY(double y) { + this.y = y; + } + + public float getYaw() { + return yaw; + } + + public void setYaw(float yaw) { + this.yaw = yaw; + } + + public double getZ() { + return z; + } + + public void setZ(double z) { + this.z = z; + } +} \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/util/MAInventoryItem.java b/src/com/garbagemule/MobArena/util/MAInventoryItem.java new file mode 100644 index 0000000..db100ea --- /dev/null +++ b/src/com/garbagemule/MobArena/util/MAInventoryItem.java @@ -0,0 +1,22 @@ +package com.garbagemule.MobArena.util; + +import java.io.Serializable; + +public class MAInventoryItem implements Serializable +{ + private static final long serialVersionUID = 739709220350581510L; + private int typeId; + private int amount; + private short durability; + + public MAInventoryItem(int typeId, int amount, short durability) + { + this.typeId = typeId; + this.amount = amount; + this.durability = durability; + } + + public int getTypeId() { return typeId; } + public int getAmount() { return amount; } + public short getDurability() { return durability; } +} diff --git a/src/com/garbagemule/MobArena/util/WaveUtils.java b/src/com/garbagemule/MobArena/util/WaveUtils.java index ea43408..6fcb109 100644 --- a/src/com/garbagemule/MobArena/util/WaveUtils.java +++ b/src/com/garbagemule/MobArena/util/WaveUtils.java @@ -133,7 +133,7 @@ public class WaveUtils if (type == null || !isWaveWellDefined(config, path, branch, type)) return null; - // TODO: Generate waves properly. These are place-holders! + // Wave result = null; if (branch == WaveBranch.RECURRENT) { diff --git a/src/com/garbagemule/MobArena/util/data/Totals.java b/src/com/garbagemule/MobArena/util/data/Totals.java index 98775f3..50be9e8 100644 --- a/src/com/garbagemule/MobArena/util/data/Totals.java +++ b/src/com/garbagemule/MobArena/util/data/Totals.java @@ -2,6 +2,7 @@ package com.garbagemule.MobArena.util.data; import java.io.File; +import org.bukkit.inventory.ItemStack; import org.bukkit.util.config.Configuration; import com.garbagemule.MobArena.Arena; @@ -34,17 +35,26 @@ public class Totals updateDuration(totals, "general-info.longest-session-duration", log.getDurationLong(), false); // Classes - updateInt(totals, "classes.overall-distribution.total-count", log.players.keySet().size(), true); + //updateInt(totals, "classes.overall-distribution.total-count", log.players.keySet().size(), true); for (String c : log.arena.getClasses()) { // Array {kills, dmgDone, dmgTaken} int[] a = getKillsAndDamageByClass(log, c); - updateInt(totals,"classes." + c + ".kills", a[0],true); - updateInt(totals,"classes." + c + ".damage-done", a[1],true); - updateInt(totals,"classes." + c + ".damage-taken",a[2],true); + updateInt(totals, "classes." + c + ".kills", a[0], true); + updateInt(totals, "classes." + c + ".damage-done", a[1], true); + updateInt(totals, "classes." + c + ".damage-taken", a[2], true); + updateInt(totals, "classes." + c + ".played", log.distribution.get(c), true); } // Rewards + for (ArenaPlayer ap : log.players.values()) + { + for (ItemStack stack : ap.rewards) + { + boolean money = stack.getTypeId() == MobArena.ECONOMY_MONEY_ID; + updateInt(totals, "rewards." + (money ? "money" : stack.getType().toString().toLowerCase()), stack.getAmount(), true); + } + } // Players for (ArenaPlayer ap : log.players.values()) @@ -126,17 +136,6 @@ public class Totals return kills; } - /* - private static int getKillsByClass(ArenaLog log, String className) - { - int kills = 0; - for (ArenaPlayer ap : log.players.values()) - if (ap.className.equals(className)) - kills += ap.kills; - return kills; - } - */ - /** * Get a (dirty) int-array in the form {kills, damage done, damage taken} for a class * @param log ArenaLog to count kills, damage done/taken from diff --git a/src/com/garbagemule/MobArena/util/data/XML.java b/src/com/garbagemule/MobArena/util/data/XML.java index 81efeec..fdf00d8 100644 --- a/src/com/garbagemule/MobArena/util/data/XML.java +++ b/src/com/garbagemule/MobArena/util/data/XML.java @@ -59,10 +59,12 @@ public class XML Element rewards = new Element("rewards"); for (ItemStack stack : ap.rewards) { + // TODO: Move this to a method + boolean money = stack.getTypeId() == MobArena.ECONOMY_MONEY_ID; Element r = new Element("reward"); r.setAttribute(new Attribute("id", stack.getTypeId() + "")); - r.setAttribute(new Attribute("material", stack.getType().toString().toLowerCase())); - r.setAttribute(new Attribute("data", (stack.getData() != null) ? stack.getData().toString().toLowerCase() : "0")); + r.setAttribute(new Attribute("material", money ? "money" : stack.getType().toString().toLowerCase())); + r.setAttribute(new Attribute("data", money || stack.getData() == null ? "0" : stack.getData().toString().toLowerCase())); r.setAttribute(new Attribute("amount", stack.getAmount() + "")); rewards.addContent(r); @@ -110,7 +112,23 @@ public class XML cl.addContent(e); } - // Rewards TODO: THIS! + // Rewards + Element rw = new Element("rewards"); + for (ArenaPlayer ap : log.players.values()) + { + for (ItemStack stack : ap.rewards) + { + // TODO: Move this to a method + boolean money = stack.getTypeId() == MobArena.ECONOMY_MONEY_ID; + Element r = new Element("reward"); + r.setAttribute(new Attribute("id", stack.getTypeId() + "")); + r.setAttribute(new Attribute("material", money ? "money" : stack.getType().toString().toLowerCase())); + r.setAttribute(new Attribute("data", money || stack.getData() == null ? "0" : stack.getData().toString().toLowerCase())); + r.setAttribute(new Attribute("amount", stack.getAmount() + "")); + + rw.addContent(r); + } + } // Players Element pl = new Element("players"); @@ -141,6 +159,7 @@ public class XML Element root = new Element("last-session"); root.addContent(gd); root.addContent(cl); + root.addContent(rw); root.addContent(pl); // Create a new document diff --git a/src/com/garbagemule/MobArena/util/data/YAML.java b/src/com/garbagemule/MobArena/util/data/YAML.java index 4825610..7f04417 100644 --- a/src/com/garbagemule/MobArena/util/data/YAML.java +++ b/src/com/garbagemule/MobArena/util/data/YAML.java @@ -51,7 +51,8 @@ public class YAML config.setProperty("player-data." + p + ".hits", ap.hits); for (ItemStack stack : ap.rewards) { - String path = "player-data." + p + ".rewards." + stack.getType().toString().toLowerCase(); + boolean money = stack.getTypeId() == MobArena.ECONOMY_MONEY_ID; + String path = "player-data." + p + ".rewards." + (money ? "money" : stack.getType().toString().toLowerCase()); config.setProperty(path, config.getInt(path, 0) + stack.getAmount()); } } diff --git a/src/com/garbagemule/MobArena/waves/AbstractWave.java b/src/com/garbagemule/MobArena/waves/AbstractWave.java index bf689bf..9942bc2 100644 --- a/src/com/garbagemule/MobArena/waves/AbstractWave.java +++ b/src/com/garbagemule/MobArena/waves/AbstractWave.java @@ -84,7 +84,7 @@ public abstract class AbstractWave implements Wave public LivingEntity spawnMonster(MACreature creature, Location loc) { // Spawn and add to collection - LivingEntity e = creature.spawn(getWorld(), loc); + LivingEntity e = creature.spawn(getArena(), getWorld(), loc); getArena().addMonster(e); // Grab a random target. @@ -185,10 +185,15 @@ public abstract class AbstractWave implements Wave // MISC public String toString() { - return "[name=" + waveName + - ", wave=" + wave + - ", frequency=" + frequency + - ", priority=" + priority + - ", type=" + type + "]"; + if (branch == WaveBranch.RECURRENT) + return "[Wave type=" + type + + " name=" + waveName + + " branch=" + branch.toString().charAt(0) + + " freq=" + frequency + + " prio=" + priority + "]"; + return "[Wave type=" + type + + " name=" + waveName + + " branch=" + branch.toString().charAt(0) + + " wave=" + wave + "]"; } } diff --git a/src/com/garbagemule/MobArena/waves/BossWave.java b/src/com/garbagemule/MobArena/waves/BossWave.java index 37b87c0..73a8ccd 100644 --- a/src/com/garbagemule/MobArena/waves/BossWave.java +++ b/src/com/garbagemule/MobArena/waves/BossWave.java @@ -10,7 +10,6 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.util.config.Configuration; import com.garbagemule.MobArena.Arena; -import com.garbagemule.MobArena.MAMessages; import com.garbagemule.MobArena.MAUtils; import com.garbagemule.MobArena.MAMessages.Msg; import com.garbagemule.MobArena.util.WaveUtils; @@ -64,10 +63,10 @@ public class BossWave extends AbstractWave// TODO: implement/extend something? public void spawn(int wave) { // Announce spawning - MAUtils.tellAll(getArena(), MAMessages.get(Msg.WAVE_BOSS, ""+wave)); + MAUtils.tellAll(getArena(), Msg.WAVE_BOSS.get(""+wave)); // Spawn the boss and set the arena - bossCreature = boss.spawn(getWorld(), getArena().getBossSpawnpoint()); + bossCreature = boss.spawn(getArena(), getWorld(), getArena().getBossSpawnpoint()); if (bossCreature instanceof Creature) ((Creature) bossCreature).setTarget(MAUtils.getClosestPlayer(bossCreature, getArena())); getArena().addMonster(bossCreature); @@ -78,6 +77,7 @@ public class BossWave extends AbstractWave// TODO: implement/extend something? healthAmount = bossHealth.getAmount(getArena().getPlayerCount()); startAbilityTasks(); + System.out.println(this); } private void startAbilityTasks() @@ -94,7 +94,7 @@ public class BossWave extends AbstractWave// TODO: implement/extend something? public void run() { // Announce ability - MAUtils.tellAll(getArena(), MAMessages.get(Msg.WAVE_BOSS_ABILITY, MAUtils.toCamelCase(ability.toString()))); + MAUtils.tellAll(getArena(), Msg.WAVE_BOSS_ABILITY.get(MAUtils.toCamelCase(ability.toString()))); // Activate! ability.activate(getArena(), bossCreature); diff --git a/src/com/garbagemule/MobArena/waves/DefaultWave.java b/src/com/garbagemule/MobArena/waves/DefaultWave.java index 37f2d09..70a059b 100644 --- a/src/com/garbagemule/MobArena/waves/DefaultWave.java +++ b/src/com/garbagemule/MobArena/waves/DefaultWave.java @@ -9,7 +9,6 @@ import org.bukkit.Location; import org.bukkit.util.config.Configuration; import com.garbagemule.MobArena.Arena; -import com.garbagemule.MobArena.MAMessages; import com.garbagemule.MobArena.MAMessages.Msg; import com.garbagemule.MobArena.MAUtils; import com.garbagemule.MobArena.util.WaveUtils; @@ -38,7 +37,7 @@ public class DefaultWave extends NormalWave public void spawn(int wave) { // Announce spawning - MAUtils.tellAll(getArena(), MAMessages.get(Msg.WAVE_DEFAULT, ""+wave)); + MAUtils.tellAll(getArena(), Msg.WAVE_DEFAULT.get(""+wave)); // Get the valid spawnpoints, and initialize counter List validSpawnpoints = WaveUtils.getValidSpawnpoints(getArena().getSpawnpoints(), getArena().getLivingPlayers()); @@ -48,7 +47,7 @@ public class DefaultWave extends NormalWave // Spawn all the monsters spawnAll(getMonstersToSpawn(totalToSpawn), validSpawnpoints); - System.out.println("WAVE SPAWN! Wave: " + wave + ", name: " + getName() + ", type: " + getType()); + System.out.println(this); } private Map getMonstersToSpawn(int totalToSpawn) diff --git a/src/com/garbagemule/MobArena/waves/MACreature.java b/src/com/garbagemule/MobArena/waves/MACreature.java index 20850dd..5e38e90 100644 --- a/src/com/garbagemule/MobArena/waves/MACreature.java +++ b/src/com/garbagemule/MobArena/waves/MACreature.java @@ -8,6 +8,7 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Slime; import org.bukkit.entity.Wolf; +import com.garbagemule.MobArena.Arena; import com.garbagemule.MobArena.util.WaveUtils; public enum MACreature @@ -26,7 +27,13 @@ public enum MACreature HUMAN(CreatureType.MONSTER), HUMANS(CreatureType.MONSTER), SLIME(CreatureType.SLIME), SLIMES(CreatureType.SLIME), GIANT(CreatureType.GIANT), GIANTS(CreatureType.GIANT), - GHAST(CreatureType.GHAST), GHASTS(CreatureType.GHAST); + GHAST(CreatureType.GHAST), GHASTS(CreatureType.GHAST), + + // Passive creatures + CHICKEN(CreatureType.CHICKEN), CHICKENS(CreatureType.CHICKEN), + COW(CreatureType.COW), COWS(CreatureType.COW), + PIG(CreatureType.PIG), PIGS(CreatureType.PIG), + SHEEP(CreatureType.SHEEP); // Misc // EXPLODING_SHEEP(CreatureType.SHEEP), // Explode (power: 1) when close enough to players @@ -51,12 +58,15 @@ public enum MACreature return WaveUtils.getEnumFromString(MACreature.class, string); } - public LivingEntity spawn(World world, Location loc) + public LivingEntity spawn(Arena arena, World world, Location loc) { LivingEntity e = world.spawnCreature(loc, type); switch (this) { + case SHEEP: + arena.addExplodingSheep(e); + break; case POWERED_CREEPERS: ((Creeper) e).setPowered(true); break; diff --git a/src/com/garbagemule/MobArena/waves/NormalWave.java b/src/com/garbagemule/MobArena/waves/NormalWave.java index 0e438bf..65b2ed1 100644 --- a/src/com/garbagemule/MobArena/waves/NormalWave.java +++ b/src/com/garbagemule/MobArena/waves/NormalWave.java @@ -74,7 +74,6 @@ public abstract class NormalWave extends AbstractWave totalProbability = 40; } } - System.out.println(probabilities); } public int getTotalProbability() diff --git a/src/com/garbagemule/MobArena/waves/SpecialWave.java b/src/com/garbagemule/MobArena/waves/SpecialWave.java index e17df1b..ff41325 100644 --- a/src/com/garbagemule/MobArena/waves/SpecialWave.java +++ b/src/com/garbagemule/MobArena/waves/SpecialWave.java @@ -9,7 +9,6 @@ import org.bukkit.Location; import org.bukkit.util.config.Configuration; import com.garbagemule.MobArena.Arena; -import com.garbagemule.MobArena.MAMessages; import com.garbagemule.MobArena.MAUtils; import com.garbagemule.MobArena.MAMessages.Msg; import com.garbagemule.MobArena.util.WaveUtils; @@ -33,14 +32,14 @@ public class SpecialWave extends NormalWave public void spawn(int wave) { // Announce spawning - MAUtils.tellAll(getArena(), MAMessages.get(Msg.WAVE_SPECIAL, ""+wave)); + MAUtils.tellAll(getArena(), Msg.WAVE_SPECIAL.get(""+wave)); // Get the valid spawnpoints, and initialize counter List validSpawnpoints = WaveUtils.getValidSpawnpoints(getArena().getSpawnpoints(), getArena().getLivingPlayers()); // Spawn all the monsters spawnAll(getMonstersToSpawn(getArena().getPlayerCount()), validSpawnpoints); - System.out.println("WAVE SPAWN! Wave: " + wave + ", name: " + getName() + ", type: " + getType()); + System.out.println(this); } private Map getMonstersToSpawn(int playerCount) diff --git a/src/com/garbagemule/MobArena/waves/SwarmWave.java b/src/com/garbagemule/MobArena/waves/SwarmWave.java index a294cad..11faf88 100644 --- a/src/com/garbagemule/MobArena/waves/SwarmWave.java +++ b/src/com/garbagemule/MobArena/waves/SwarmWave.java @@ -7,7 +7,6 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.util.config.Configuration; import com.garbagemule.MobArena.Arena; -import com.garbagemule.MobArena.MAMessages; import com.garbagemule.MobArena.MAUtils; import com.garbagemule.MobArena.MAMessages.Msg; import com.garbagemule.MobArena.util.WaveUtils; @@ -46,14 +45,14 @@ public class SwarmWave extends AbstractWave public void spawn(int wave) { // Announce spawning - MAUtils.tellAll(getArena(), MAMessages.get(Msg.WAVE_SWARM, ""+wave)); + MAUtils.tellAll(getArena(), Msg.WAVE_SWARM.get(""+wave)); // Get the valid spawnpoints, and initialize counter List validSpawnpoints = WaveUtils.getValidSpawnpoints(getArena().getSpawnpoints(), getArena().getLivingPlayers()); // Spawn the hellians! spawnAll(monster, amount.getAmount(getArena().getPlayerCount()), validSpawnpoints); - System.out.println("WAVE SPAWN! Wave: " + wave + ", name: " + getName() + ", type: " + getType() + ", amount: " + amount); + System.out.println(this); } public void spawnAll(MACreature monster, int amount, List spawnpoints)