From f3131585de5cb4bbd6abdbf5528842b978b38518 Mon Sep 17 00:00:00 2001 From: Andreas Troelsen Date: Mon, 18 Jul 2011 00:15:43 +0200 Subject: [PATCH] v0.93.2 - Bugfixes and preparations for Battlegrounds --- MobArena.jar | Bin 75758 -> 121739 bytes bin/plugin.yml | 4 +- .../garbagemule/MobArena/AbstractArena.java | 73 +- src/com/garbagemule/MobArena/Arena.java | 877 +----------------- .../garbagemule/MobArena/ArenaListener.java | 57 ++ .../garbagemule/MobArena/MABlockListener.java | 4 +- src/com/garbagemule/MobArena/MACommands.java | 13 +- .../MobArena/MAEntityListener.java | 14 +- src/com/garbagemule/MobArena/MAListener.java | 525 +++++++++++ .../MobArena/MAPlayerListener.java | 20 +- .../garbagemule/MobArena/MASpawnThread.java | 3 + 11 files changed, 718 insertions(+), 872 deletions(-) create mode 100644 src/com/garbagemule/MobArena/ArenaListener.java create mode 100644 src/com/garbagemule/MobArena/MAListener.java diff --git a/MobArena.jar b/MobArena.jar index b6d4e4f274f5985b8b667f87f3a11c24ff6e9664..961fc29fdc31b90d99bd0cc053a8390c16421d5c 100644 GIT binary patch literal 121739 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 V5kNp#fIprnARxDWK$8UI{{SOyy{Z5J delta 71208 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 - waveMap.put(p, 0); - killMap.put(p, 0); - } - - running = true; - - // Spawn pets. - for (Map.Entry entry : petMap.entrySet()) - { - // Remove the bones from the inventory. - Player p = entry.getKey(); - p.getInventory().removeItem(new ItemStack(Material.BONE, entry.getValue())); - - for (int i = 0; i < entry.getValue(); i++) - { - Wolf wolf = (Wolf) world.spawnCreature(p.getLocation(), CreatureType.WOLF); - wolf.setTamed(true); - wolf.setOwner(p); - wolf.setHealth(20); - if (hellhounds) - wolf.setFireTicks(32768); - pets.add(wolf); - } - } - - // Start the spawnThread. - spawnThread = new MASpawnThread(plugin, this); - spawnTaskId = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, spawnThread, waveDelay, (!waveClear) ? waveInterval : 60); - - readyPlayers.clear(); - - // Logging info. - if (logging) - log.start(); - - MAUtils.tellAll(this, MAMessages.get(Msg.ARENA_START)); - - // Notify listeners. - for (MobArenaListener listener : plugin.getAM().listeners) - listener.onArenaStart(); - }*/ - public boolean endArena() { // Sanity-checks. @@ -279,7 +195,7 @@ public class Arena log.serialize(); log.clear(); } - + // Clean arena floor. cleanup(); @@ -296,6 +212,8 @@ public class Arena notifyPlayers.clear(); classMap.clear(); rewardMap.clear(); + waveMap.clear(); + killMap.clear(); // Notify listeners. for (MobArenaListener listener : plugin.getAM().listeners) @@ -304,64 +222,6 @@ public class Arena return true; } - /** - * End this arena's session. - */ - /*public void endArena() - { - running = false; - - MAUtils.tellAll(this, MAMessages.get(Msg.ARENA_END), true); - - // Logging stuff - if (logging) - { - log.end(); - log.serialize(); - log.clear(); - } - - // If the arena was actually ever started, cancel the spawnthread. - if (spawnThread != null) - { - Bukkit.getServer().getScheduler().cancelTask(spawnThread.taskId); - Bukkit.getServer().getScheduler().cancelTask(spawnTaskId); - } - - if (!emptyInvJoin) - for (Player p : deadPlayers) - MAUtils.restoreInventory(p); - - // Clean up the arena floor and give rewards - cleanup(); - giveRewards(); - - // Clear all the sets and maps. - livePlayers.clear(); - deadPlayers.clear(); - waitPlayers.clear(); - pets.clear(); - classMap.clear(); - rewardMap.clear(); - - if (softRestore) - for (int[] buffer : repairList) - world.getBlockAt(buffer[0], buffer[1], buffer[2]).setTypeIdAndData(buffer[3], (byte) buffer[4], false); - else if (forceRestore) - deserializeRegion(); - - // Set the spawn flags to restore monster spawning. - MAUtils.setSpawnFlags(plugin, world, spawnMonsters, allowMonsters, allowAnimals); - - // Notify listeners. - for (MobArenaListener listener : plugin.getAM().listeners) - listener.onArenaEnd(); - }*/ - - /** - * Force an arena start by forcing all not-ready players to leave. - * @precondition - The arena musn't be running, and readyPlayers must not be empty. - */ public void forceStart() { // Set operations. @@ -377,20 +237,6 @@ public class Arena } } - /** - * Force an arena end by forcing all players to leave. - * @precondition - livePlayers must not be empty. - */ - /*public void forceEnd() - { - // Force leave. - for (Player p : getAllPlayers()) - { - plugin.getAM().arenaMap.remove(p); - playerLeave(p); - } - }*/ - public void forceEnd() { for (Player p : getAllPlayers()) @@ -398,6 +244,20 @@ public class Arena plugin.getAM().arenaMap.remove(p); playerLeave(p); } + + for (Entity e : monsters) + e.remove(); + + arenaPlayers.clear(); + lobbyPlayers.clear(); + readyPlayers.clear(); + + rewardMap.clear(); + waveMap.clear(); + killMap.clear(); + monsters.clear(); + + spawnTaskId = -1; } public void playerJoin(Player p, Location loc) @@ -417,55 +277,12 @@ public class Arena listener.onPlayerJoin(p); } - /** - * Warp the player to the arena lobby and add to the set of live players. - */ - /*public void playerJoin(Player p, Location loc) - { - if (!locations.containsKey(p)) - locations.put(p,loc); - - if (livePlayers.isEmpty()) - { - Chunk chunk = world.getChunkAt(lobbyLoc); - if (!world.isChunkLoaded(chunk)) - world.loadChunk(chunk); - else - world.refreshChunk(chunk.getX(), chunk.getZ()); - } - - MAUtils.sitPets(p); - livePlayers.add(p); - p.teleport(lobbyLoc); - - // Notify listeners. - for (MobArenaListener listener : plugin.getAM().listeners) - listener.onPlayerJoin(p); - }*/ - - /** - * Add the player to the set of ready players. - * If every is ready, the arena starts. - */ public void playerReady(Player p) { readyPlayers.add(p); startArena(); } - /*public void playerReady(Player p) - { - readyPlayers.add(p); - - if (readyPlayers.equals(livePlayers)) - startArena(); - }*/ - - /** - * Remove the player from all the player sets, and clear his inventory if necessary. - * If the set of live players becomes empty, end the arena. - * If the set of ready players becomes equal to the set of live players, start the arena. - */ public void playerLeave(Player p) { // Clear class inventory, restore old inventory and fork over rewards. @@ -497,7 +314,7 @@ public class Arena playerLeave(p); return; } - + // Clear class inventory, restore old inventory and fork over rewards. restoreInvAndGiveRewards(p, true); @@ -506,7 +323,7 @@ public class Arena p.teleport(arenaLoc); // This will sometimes force players to drop any items held (not confirmed) p.teleport(spectatorLoc); specPlayers.add(p); - + // Update the monster targets. if (running && spawnThread != null) spawnThread.updateTargets(); @@ -515,105 +332,11 @@ public class Arena MAUtils.tellAll(this, MAMessages.get(Msg.PLAYER_DIED, p.getName())); for (MobArenaListener listener : plugin.getAM().listeners) listener.onPlayerDeath(p); - + // End the arena if conditions are met. endArena(); } - /*public void playerLeave(Player p) - { - boolean clear = false; - - Location old = locations.get(p); - if (old != null) - { - Chunk chunk = old.getWorld().getChunkAt(old); - if (!old.getWorld().isChunkLoaded(chunk)) - old.getWorld().loadChunk(chunk); - else - old.getWorld().refreshChunk(chunk.getX(), chunk.getZ()); - - p.teleport(old); - } - locations.remove(p); // get, then remove, because of Teleport Event - - // Only clear the inventory if the player has class items. - if (readyPlayers.remove(p)) clear = true; - if (livePlayers.remove(p)) clear = true; - deadPlayers.remove(p); - specPlayers.remove(p); - hasPaid.remove(p); - removePets(p); - - // Update the monster targets. - if (running && spawnThread != null) - spawnThread.updateTargets(); - - // Clear inventory and record current wave - if (clear) - { - if (running) waveMap.put(p, spawnThread.wave - 1); - MAUtils.clearInventory(p); - } - - // Try to restore inventory. - if (!emptyInvJoin) - MAUtils.restoreInventory(p); - - // Grant rewards. - MAUtils.giveRewards(p, rewardMap.get(p), plugin); - - if (running && livePlayers.isEmpty()) - endArena(); - else if (!readyPlayers.isEmpty() && readyPlayers.equals(livePlayers)) - startArena(); - - // Notify listeners. - for (MobArenaListener listener : plugin.getAM().listeners) - listener.onPlayerLeave(p); - }*/ - - /*public void playerDeath(final Player p) - { - p.teleport(arenaLoc); // This will sometimes force players to drop any items held (not confirmed) - p.teleport(spectatorLoc); - p.setFireTicks(0); - p.setHealth(20); - - // Add to the list of dead players. - livePlayers.remove(p); - deadPlayers.add(p); - removePets(p); - - // Update the monster targets. - if (running && spawnThread != null) - spawnThread.updateTargets(); - - // Has to be delayed for TombStone not to fuck shit up. - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, - new Runnable() - { - public void run() - { - if (!specOnDeath) - { - plugin.getAM().arenaMap.remove(p); - playerLeave(p); - } - else MAUtils.restoreInventory(p); - - if (livePlayers.isEmpty()) - endArena(); - } - }, 8); - - MAUtils.tellAll(this, MAMessages.get(Msg.PLAYER_DIED, p.getName())); - - // Notify listeners. - for (MobArenaListener listener : plugin.getAM().listeners) - listener.onPlayerDeath(p); - }*/ - public void playerSpec(Player p, Location loc) { if (!locations.containsKey(p)) @@ -645,8 +368,8 @@ public class Arena if (lobbyPlayers.remove(p)) startArena2();*/ } - - public void spawnPets() + + private void spawnPets() { for (Map.Entry entry : petMap.entrySet()) { @@ -668,7 +391,7 @@ public class Arena } } - public void startSpawning() + private void startSpawning() { // Set the spawn flags to enable monster spawning. MAUtils.setSpawnFlags(plugin, world, 1, allowMonsters, allowAnimals); @@ -678,25 +401,26 @@ public class Arena spawnTaskId = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, spawnThread, waveDelay, (!waveClear) ? waveInterval : 60); } - public void stopSpawning() + private void stopSpawning() { // Stop the spawn thread. if (spawnThread != null) { Bukkit.getServer().getScheduler().cancelTask(spawnThread.taskId); Bukkit.getServer().getScheduler().cancelTask(spawnTaskId); + spawnTaskId = -1; } // Restore spawn flags. MAUtils.setSpawnFlags(plugin, world, spawnMonsters, allowMonsters, allowAnimals); } - public void updateChunk(Location loc) + private void updateChunk(Location loc) { - if (!arenaPlayers.isEmpty()) + if (!arenaPlayers.isEmpty() || !world.getName().equals(loc.getWorld().getName())) return; - Chunk chunk = world.getChunkAt(lobbyLoc); + Chunk chunk = world.getChunkAt(loc); if (!world.isChunkLoaded(chunk)) world.loadChunk(chunk); else @@ -705,6 +429,9 @@ public class Arena public void playerKill(Player p) { + if (p == null || killMap.get(p) == null) + return; + killMap.put(p, killMap.get(p) + 1); } @@ -777,15 +504,6 @@ public class Arena MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PICKED, className)); } - private void giveRewards() - { - for (Map.Entry> entry : rewardMap.entrySet()) - { - MAUtils.tellPlayer(entry.getKey(), MAMessages.get(Msg.REWARDS_GIVE)); - MAUtils.giveRewards(entry.getKey(), entry.getValue(), plugin); - } - } - private void cleanup() { removeMonsters(); @@ -1069,502 +787,6 @@ public class Arena - /*//////////////////////////////////////////////////////////////////// - // - // EventListener methods - // - ////////////////////////////////////////////////////////////////////*/ - - // Block Listener - public void onBlockBreak(BlockBreakEvent event) - { - if (!inRegion(event.getBlock().getLocation()) || edit || (!protect && running)) - return; - - Block b = event.getBlock(); - if (blocks.remove(b) || b.getType() == Material.TNT) - return; - - if (softRestore && running) - { - int[] buffer = new int[5]; - buffer[0] = b.getX(); - buffer[1] = b.getY(); - buffer[2] = b.getZ(); - buffer[3] = b.getTypeId(); - buffer[4] = (int) b.getData(); - repairList.add(buffer); - if (!softRestoreDrops) event.getBlock().setTypeId(0); - return; - } - - event.setCancelled(true); - } - - public void onBlockPlace(BlockPlaceEvent event) - { - if (!inRegion(event.getBlock().getLocation()) || edit) - return; - - Block b = event.getBlock(); - //if (running && livePlayers.contains(event.getPlayer())) - if (running && arenaPlayers.contains(event.getPlayer())) - { - blocks.add(b); - Material mat = b.getType(); - - if (mat == Material.WOODEN_DOOR || mat == Material.IRON_DOOR_BLOCK) - blocks.add(b.getRelative(0,1,0)); - return; - } - - // If the arena isn't running, or if the player isn't in the arena, cancel. - event.setCancelled(true); - } - - // Monster Listener - public void onCreatureSpawn(CreatureSpawnEvent event) - { - if (!inRegion(event.getLocation())) - return; - - // If running == true, setCancelled(false), and vice versa. - event.setCancelled(!running); - } - - public void onEntityExplode(EntityExplodeEvent event) - { - if (!monsters.contains(event.getEntity()) && !inRegionRadius(event.getLocation(), 10)) - return; - - event.setYield(0); - monsters.remove(event.getEntity()); - - // If the arena isn't running - if (!running || repairDelay == 0) - { - event.setCancelled(true); - return; - } - - // If there is a sign in the blocklist, cancel - for (Block b : event.blockList()) - { - if (!(b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN)) - continue; - - event.setCancelled(true); - return; - } - - // Uncancel, just in case. - event.setCancelled(false); - - int[] buffer; - final HashMap blockMap = new HashMap(); - for (Block b : event.blockList()) - { - Material mat = b.getType(); - - if (mat == Material.LAVA) b.setType(Material.STATIONARY_LAVA); - else if (mat == Material.WATER) b.setType(Material.STATIONARY_WATER); - - if (mat == Material.WOODEN_DOOR || mat == Material.IRON_DOOR_BLOCK || mat == Material.FIRE || mat == Material.CAKE_BLOCK || mat == Material.WATER || mat == Material.LAVA) - { - blocks.remove(b); - } - else if (blocks.remove(b)) - { - world.dropItemNaturally(b.getLocation(), new ItemStack(b.getTypeId(), 1)); - } - else if (softRestore) - { - buffer = new int[5]; - buffer[0] = b.getX(); - buffer[1] = b.getY(); - buffer[2] = b.getZ(); - buffer[3] = b.getTypeId(); - buffer[4] = (int) b.getData(); - repairList.add(buffer); - blockMap.put(b, b.getTypeId() + (b.getData() * 1000)); - } - else - { - blockMap.put(b, b.getTypeId() + (b.getData() * 1000)); - } - } - - if (!protect || softRestore) - return; - - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, - new Runnable() - { - public void run() - { - for (Map.Entry entry : blockMap.entrySet()) - { - Block b = entry.getKey(); - int type = entry.getValue(); - - b.getLocation().getBlock().setTypeId(type % 1000); - - if (type > 1000) - b.getLocation().getBlock().setData((byte) (type / 1000)); - } - } - }, repairDelay); - } - - public void onEntityCombust(EntityCombustEvent event) - { - if (monsters.contains(event.getEntity())) - event.setCancelled(true); - } - - public void onEntityTarget(EntityTargetEvent event) - { - if (!running || event.isCancelled()) - return; - - if (pets.contains(event.getEntity())) - { - if (event.getReason() != TargetReason.TARGET_ATTACKED_OWNER && event.getReason() != TargetReason.OWNER_ATTACKED_TARGET) - return; - - if (!(event.getTarget() instanceof Player)) - return; - - // If the target is a player, cancel. - event.setCancelled(true); - return; - } - - if (monsters.contains(event.getEntity())) - { - if (event.getReason() == TargetReason.FORGOT_TARGET) - { - event.setTarget(MAUtils.getClosestPlayer(event.getEntity(), this)); - return; - } - - if (event.getReason() == TargetReason.TARGET_DIED) - { - event.setTarget(MAUtils.getClosestPlayer(event.getEntity(), this)); - return; - } - - if (event.getReason() == TargetReason.CLOSEST_PLAYER) - //if (!livePlayers.contains(event.getTarget())) - if (!arenaPlayers.contains(event.getTarget())) - event.setCancelled(true); - return; - } - } - - // Death Listener - public void onEntityRegainHealth(EntityRegainHealthEvent event) - { - if (!running) return; - - //if (!(event.getEntity() instanceof Player) || !livePlayers.contains((Player)event.getEntity())) - if (!(event.getEntity() instanceof Player) || !arenaPlayers.contains((Player)event.getEntity())) - return; - - if (event.getRegainReason() == RegainReason.REGEN) - event.setCancelled(true); - } - - public void onEntityDeath(EntityDeathEvent event) - { - if (event.getEntity() instanceof Player) - { - Player p = (Player) event.getEntity(); - - //if (!livePlayers.contains(p)) - if (!arenaPlayers.contains(p)) - return; - - event.getDrops().clear(); - waveMap.put(p, spawnThread.wave - 1); - playerDeath(p); - //p.getInventory().clear(); // For TombStone - return; - } - - if (monsters.remove(event.getEntity())) - { - EntityDamageEvent e1 = event.getEntity().getLastDamageCause(); - EntityDamageByEntityEvent e2 = (e1 instanceof EntityDamageByEntityEvent) ? (EntityDamageByEntityEvent) e1 : null; - Entity damager = (e2 != null) ? e2.getDamager() : null; - - if (e2 != null && damager instanceof Player) - playerKill((Player) damager); - - event.getDrops().clear(); - resetIdleTimer(); - return; - } - } - - public void onEntityDamage(EntityDamageEvent event) - { - if (!running) return; - - EntityDamageByEntityEvent e = (event instanceof EntityDamageByEntityEvent) ? (EntityDamageByEntityEvent) event : null; - Entity damager = (e != null) ? e.getDamager() : null; - Entity damagee = event.getEntity(); - - // Damagee - Pet Wolf - cancel all damage. - if (damagee instanceof Wolf && pets.contains(damagee)) - { - if (event.getCause() == DamageCause.FIRE_TICK) - { - damagee.setFireTicks(32768); // For mcMMO - event.setCancelled(true); - } - if (e != null && damager instanceof Player) - event.setCancelled(true); - - event.setDamage(0); - return; - } - - // Damager - Pet Wolf - lower damage - if (e != null && damager instanceof Wolf && pets.contains(damager)) - { - event.setDamage(1); - return; - } - - // Damagee & Damager - Player - cancel if pvp disabled - if (damagee instanceof Player && damager instanceof Player) - { - //if (livePlayers.contains(damagee) && !pvp) - if (arenaPlayers.contains(damagee) && !pvp) - event.setCancelled(true); - - return; - } - - // Damagee & Damager - Monsters - cancel if no monsterInfight - if (e != null && monsters.contains(damagee) && monsters.contains(damager)) - { - if (!monsterInfight) - event.setCancelled(true); - - return; - } - - // Creeper detonations - if (inRegion(damagee.getLocation())) - { - //if (!detDamage || !(damagee instanceof Player) || !livePlayers.contains((Player) damagee)) - if (!detDamage || !(damagee instanceof Player) || !arenaPlayers.contains((Player) damagee)) - return; - - if (event.getCause() == DamageCause.BLOCK_EXPLOSION) - event.setCancelled(true); - - return; - } - } - - // Lobby Listener - public void onPlayerDropItem(PlayerDropItemEvent event) - { - if (running && shareInArena) return; - - Player p = event.getPlayer(); - //if (!livePlayers.contains(p)) - if (!arenaPlayers.contains(p) && !lobbyPlayers.contains(p)) - return; - - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_DROP_ITEM)); - event.setCancelled(true); - } - - public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) - { - //if (!readyPlayers.contains(event.getPlayer()) && !livePlayers.contains(event.getPlayer())) - if (!readyPlayers.contains(event.getPlayer()) && !arenaPlayers.contains(event.getPlayer())) - return; - - if (!running) - { - event.getBlockClicked().getFace(event.getBlockFace()).setTypeId(0); - event.setCancelled(true); - return; - } - - Block liquid = event.getBlockClicked().getFace(event.getBlockFace()); - blocks.add(liquid); - } - - public void onPlayerInteract(PlayerInteractEvent event) - { - //if (!livePlayers.contains(event.getPlayer())) - if (!arenaPlayers.contains(event.getPlayer()) && !lobbyPlayers.contains(event.getPlayer())) - return; - - if (running) - { - if (event.hasBlock() && event.getClickedBlock().getType() == Material.SAPLING) - addTrunkAndLeaves(event.getClickedBlock()); - return; - } - - Action a = event.getAction(); - Player p = event.getPlayer(); - if (a == Action.RIGHT_CLICK_AIR || a == Action.RIGHT_CLICK_BLOCK) - { - event.setUseItemInHand(Result.DENY); - event.setCancelled(true); - } - - // Iron block - if (event.hasBlock() && event.getClickedBlock().getTypeId() == 42) - { - if (classMap.containsKey(p)) - { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_PLAYER_READY)); - playerReady(p); - } - else - { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_PICK_CLASS)); - } - return; - } - - // Sign - if (event.hasBlock() && event.getClickedBlock().getState() instanceof Sign) - { - if (a == Action.RIGHT_CLICK_BLOCK) - { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_RIGHT_CLICK)); - return; - } - - // Cast the block to a sign to get the text on it. - Sign sign = (Sign) event.getClickedBlock().getState(); - - // Check if the first line of the sign is a class name. - String className = sign.getLine(0); - if (!classes.contains(className) && !className.equalsIgnoreCase("random")) - return; - - if (!plugin.hasDefTrue(p, "mobarena.classes." + className) && !className.equalsIgnoreCase("random")) - { - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PERMISSION)); - return; - } - - // Set the player's class. - assignClass(p, className); - if (!className.equalsIgnoreCase("random")) - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PICKED, className)); - else - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_RANDOM)); - - return; - } - } - - // Disconnect Listener - public void onPlayerQuit(PlayerQuitEvent event) - { - Player p = event.getPlayer(); - //if (!enabled || !livePlayers.contains(p)) - if (!enabled || (!arenaPlayers.contains(p) && !lobbyPlayers.contains(p))) - return; - - //MAUtils.clearInventory(p); - plugin.getAM().arenaMap.remove(p); - playerLeave(p); - } - - public void onPlayerKick(PlayerKickEvent event) - { - Player p = event.getPlayer(); - //if (!enabled || !livePlayers.contains(p)) - if (!enabled || (!arenaPlayers.contains(p) && !lobbyPlayers.contains(p))) - return; - - //MAUtils.clearInventory(p); - plugin.getAM().arenaMap.remove(p); - playerLeave(p); - } - - // Teleport Listener - public void onPlayerTeleport(PlayerTeleportEvent event) - { - if (edit || !enabled || !setup || allowWarp) - return; - - if (!inRegion(event.getTo()) && !inRegion(event.getFrom())) - return; - - Player p = event.getPlayer(); - Location old = locations.get(p); - Location to = event.getTo(); - Location from = event.getFrom(); - - //if (livePlayers.contains(p) || specPlayers.contains(p)) - if (arenaPlayers.contains(p) || lobbyPlayers.contains(p) || specPlayers.contains(p)) - { - if (inRegion(from)) - { - if (to.equals(arenaLoc) || to.equals(lobbyLoc) || to.equals(spectatorLoc) || to.equals(old)) - return; - - MAUtils.tellPlayer(p, MAMessages.get(Msg.WARP_FROM_ARENA)); - event.setCancelled(true); - return; - } - - if (inRegion(to)) - { - if (to.equals(arenaLoc) || to.equals(lobbyLoc) || to.equals(spectatorLoc) || to.equals(old)) - return; - - MAUtils.tellPlayer(p, MAMessages.get(Msg.WARP_TO_ARENA)); - event.setCancelled(true); - return; - } - - return; - } - - if (running && inRegion(to)) - { - MAUtils.tellPlayer(p, MAMessages.get(Msg.WARP_TO_ARENA)); - event.setCancelled(true); - return; - } - } - - // Command Listener - public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) - { - Player p = event.getPlayer(); - - //if (!livePlayers.contains(p)) - if (!arenaPlayers.contains(p) && !lobbyPlayers.contains(p)) - return; - - String[] args = event.getMessage().split(" "); - - if ((args.length > 1 && MACommands.COMMANDS.contains(args[1].trim())) || - MACommands.ALLOWED_COMMANDS.contains(event.getMessage().substring(1).trim()) || - MACommands.ALLOWED_COMMANDS.contains(args[0])) - return; - - event.setCancelled(true); - MAUtils.tellPlayer(p, MAMessages.get(Msg.MISC_COMMAND_NOT_ALLOWED)); - } - - /*//////////////////////////////////////////////////////////////////// // // Getters & Misc @@ -1581,15 +803,6 @@ public class Arena return name; } - /*public List getAllPlayers() - { - List result = new LinkedList(); - result.addAll(livePlayers); - result.addAll(deadPlayers); - result.addAll(specPlayers); - return result; - }*/ - public List getAllPlayers() { List result = new LinkedList(); @@ -1602,7 +815,6 @@ public class Arena public List getLivingPlayers() { List result = new LinkedList(); - //result.addAll(livePlayers); result.addAll(arenaPlayers); return result; } @@ -1610,7 +822,6 @@ public class Arena public List getNonreadyPlayers() { List result = new LinkedList(); - //result.addAll(livePlayers); result.addAll(lobbyPlayers); result.removeAll(readyPlayers); return result; @@ -1625,7 +836,7 @@ public class Arena public void resetIdleTimer() { - if (maxIdleTime <= 0) + if (maxIdleTime <= 0 || !running) return; // Reset the previousSize, cancel the previous timer, and start the new timer. @@ -1650,7 +861,6 @@ public class Arena } // Clear all player inventories, and "kill" all players. - //for (Player p : livePlayers) for (Player p : arenaPlayers) { MAUtils.clearInventory(p); @@ -1661,21 +871,6 @@ public class Arena }, maxIdleTime); } - public void delayRestoreInventory(final Player p, final String method) - { - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, - new Runnable() - { - public void run() - { - if (method.equals("restoreInventory")) - MAUtils.restoreInventory(p); - else if (method.equals("giveRewards")) - MAUtils.giveRewards(p, rewardMap.get(p), plugin); - } - }, 10); - } - public void addTrunkAndLeaves(Block b) { final int x = b.getX(); diff --git a/src/com/garbagemule/MobArena/ArenaListener.java b/src/com/garbagemule/MobArena/ArenaListener.java new file mode 100644 index 0000000..27a242d --- /dev/null +++ b/src/com/garbagemule/MobArena/ArenaListener.java @@ -0,0 +1,57 @@ +package com.garbagemule.MobArena; + +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.entity.CreatureSpawnEvent; +import org.bukkit.event.entity.EntityCombustEvent; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent; +import org.bukkit.event.entity.EntityTargetEvent; +import org.bukkit.event.player.PlayerBucketEmptyEvent; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.bukkit.event.player.PlayerDropItemEvent; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerKickEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.PlayerTeleportEvent; + +public interface ArenaListener +{ + public void onBlockBreak(BlockBreakEvent event); + public void onBlockPlace(BlockPlaceEvent event); + public void onCreatureSpawn(CreatureSpawnEvent event); + public void onEntityExplode(EntityExplodeEvent event); + public void onEntityCombust(EntityCombustEvent event); + public void onEntityTarget(EntityTargetEvent event); + public void onEntityRegainHealth(EntityRegainHealthEvent event); + public void onEntityDeath(EntityDeathEvent event); + public void onEntityDamage(EntityDamageEvent event); + public void onPlayerDropItem(PlayerDropItemEvent event); + public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event); + public void onPlayerInteract(PlayerInteractEvent event); + public void onPlayerQuit(PlayerQuitEvent event); + public void onPlayerKick(PlayerKickEvent event); + public void onPlayerTeleport(PlayerTeleportEvent event); + public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event); + + /* + public abstract void onBlockBreak(BlockBreakEvent event); + public abstract void onBlockPlace(BlockPlaceEvent event); + public abstract void onCreatureSpawn(CreatureSpawnEvent event); + public abstract void onEntityExplode(EntityExplodeEvent event); + public abstract void onEntityCombust(EntityCombustEvent event); + public abstract void onEntityTarget(EntityTargetEvent event); + public abstract void onEntityRegainHealth(EntityRegainHealthEvent event); + public abstract void onEntityDeath(EntityDeathEvent event); + public abstract void onEntityDamage(EntityDamageEvent event); + public abstract void onPlayerDropItem(PlayerDropItemEvent event); + public abstract void onPlayerBucketEmpty(PlayerBucketEmptyEvent event); + public abstract void onPlayerInteract(PlayerInteractEvent event); + public abstract void onPlayerQuit(PlayerQuitEvent event); + public abstract void onPlayerKick(PlayerKickEvent event); + public abstract void onPlayerTeleport(PlayerTeleportEvent event); + public abstract void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event); + */ +} diff --git a/src/com/garbagemule/MobArena/MABlockListener.java b/src/com/garbagemule/MobArena/MABlockListener.java index fef7a65..677c58a 100644 --- a/src/com/garbagemule/MobArena/MABlockListener.java +++ b/src/com/garbagemule/MobArena/MABlockListener.java @@ -16,12 +16,12 @@ public class MABlockListener extends BlockListener public void onBlockBreak(BlockBreakEvent event) { for (Arena arena : am.arenas) - arena.onBlockBreak(event); + arena.eventListener.onBlockBreak(event); } public void onBlockPlace(BlockPlaceEvent event) { for (Arena arena : am.arenas) - arena.onBlockPlace(event); + arena.eventListener.onBlockPlace(event); } } \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/MACommands.java b/src/com/garbagemule/MobArena/MACommands.java index d13fc5c..a603820 100644 --- a/src/com/garbagemule/MobArena/MACommands.java +++ b/src/com/garbagemule/MobArena/MACommands.java @@ -57,6 +57,8 @@ public class MACommands implements CommandExecutor COMMANDS.add("addspawn"); // Add a spawnpoint COMMANDS.add("delspawn"); // Delete a spawnpoint COMMANDS.add("reset"); // Reset arena coordinates + COMMANDS.add("addclass"); // Add a new class + COMMANDS.add("delclass"); // Delete a class COMMANDS.add("auto-generate"); // Auto-generate arena COMMANDS.add("auto-degenerate"); // Restore cuboid } @@ -144,7 +146,6 @@ public class MACommands implements CommandExecutor 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) @@ -153,22 +154,20 @@ public class MACommands implements CommandExecutor error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_SETUP)); else if (arena.running && arena.waitPlayers.add(p)) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_IS_RUNNING)); - //else if (arena.livePlayers.contains(p)) 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.canAfford(p) || !arena.takeFee(p)) - error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_FEE_REQUIRED, MAUtils.listToString(arena.entryFee, plugin))); - //else if (arena.playerLimit > 0 && arena.livePlayers.size() >= arena.playerLimit) else if (arena.playerLimit > 0 && arena.lobbyPlayers.size() >= arena.playerLimit) 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 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 join. diff --git a/src/com/garbagemule/MobArena/MAEntityListener.java b/src/com/garbagemule/MobArena/MAEntityListener.java index d51e118..b9eec7a 100644 --- a/src/com/garbagemule/MobArena/MAEntityListener.java +++ b/src/com/garbagemule/MobArena/MAEntityListener.java @@ -24,42 +24,42 @@ public class MAEntityListener extends EntityListener public void onEntityRegainHealth(EntityRegainHealthEvent event) { for (Arena arena : am.arenas) - arena.onEntityRegainHealth(event); + arena.eventListener.onEntityRegainHealth(event); } public void onEntityDeath(EntityDeathEvent event) { for (Arena arena : am.arenas) - arena.onEntityDeath(event); + arena.eventListener.onEntityDeath(event); } public void onEntityDamage(EntityDamageEvent event) { for (Arena arena : am.arenas) - arena.onEntityDamage(event); + arena.eventListener.onEntityDamage(event); } public void onCreatureSpawn(CreatureSpawnEvent event) { for (Arena arena : am.arenas) - arena.onCreatureSpawn(event); + arena.eventListener.onCreatureSpawn(event); } public void onEntityExplode(EntityExplodeEvent event) { for (Arena arena : am.arenas) - arena.onEntityExplode(event); + arena.eventListener.onEntityExplode(event); } public void onEntityCombust(EntityCombustEvent event) { for (Arena arena : am.arenas) - arena.onEntityCombust(event); + arena.eventListener.onEntityCombust(event); } public void onEntityTarget(EntityTargetEvent event) { for (Arena arena : am.arenas) - arena.onEntityTarget(event); + arena.eventListener.onEntityTarget(event); } } \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/MAListener.java b/src/com/garbagemule/MobArena/MAListener.java new file mode 100644 index 0000000..8315c09 --- /dev/null +++ b/src/com/garbagemule/MobArena/MAListener.java @@ -0,0 +1,525 @@ +package com.garbagemule.MobArena; + +import java.util.HashMap; +import java.util.Map; + +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.Sign; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.entity.Wolf; +import org.bukkit.event.Event.Result; +import org.bukkit.event.block.Action; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.entity.CreatureSpawnEvent; +import org.bukkit.event.entity.EntityCombustEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent; +import org.bukkit.event.entity.EntityTargetEvent; +import org.bukkit.event.entity.EntityDamageEvent.DamageCause; +import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; +import org.bukkit.event.entity.EntityTargetEvent.TargetReason; +import org.bukkit.event.player.PlayerBucketEmptyEvent; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.bukkit.event.player.PlayerDropItemEvent; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerKickEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.PlayerTeleportEvent; +import org.bukkit.inventory.ItemStack; + +import com.garbagemule.MobArena.MAMessages.Msg; + +public class MAListener implements ArenaListener +{ + private MobArena plugin; + private Arena arena; + + public MAListener(Arena arena, MobArena plugin) + { + this.arena = arena; + this.plugin = plugin; + } + + public void onBlockBreak(BlockBreakEvent event) + { + if (!arena.inRegion(event.getBlock().getLocation()) || arena.edit || (!arena.protect && arena.running)) + return; + + Block b = event.getBlock(); + if (arena.blocks.remove(b) || b.getType() == Material.TNT) + return; + + if (arena.softRestore && arena.running) + { + int[] buffer = new int[5]; + buffer[0] = b.getX(); + buffer[1] = b.getY(); + buffer[2] = b.getZ(); + buffer[3] = b.getTypeId(); + buffer[4] = (int) b.getData(); + arena.repairList.add(buffer); + if (!arena.softRestoreDrops) event.getBlock().setTypeId(0); + return; + } + + event.setCancelled(true); + } + + public void onBlockPlace(BlockPlaceEvent event) + { + if (!arena.inRegion(event.getBlock().getLocation()) || arena.edit) + return; + + Block b = event.getBlock(); + //if (running && livePlayers.contains(event.getPlayer())) + if (arena.running && arena.arenaPlayers.contains(event.getPlayer())) + { + arena.blocks.add(b); + Material mat = b.getType(); + + if (mat == Material.WOODEN_DOOR || mat == Material.IRON_DOOR_BLOCK) + arena.blocks.add(b.getRelative(0,1,0)); + return; + } + + // If the arena isn't running, or if the player isn't in the arena, cancel. + event.setCancelled(true); + } + + public void onCreatureSpawn(CreatureSpawnEvent event) + { + if (!arena.inRegion(event.getLocation())) + return; + + // If running == true, setCancelled(false), and vice versa. + event.setCancelled(!arena.running); + } + + public void onEntityExplode(EntityExplodeEvent event) + { + if (!arena.monsters.contains(event.getEntity()) && !arena.inRegionRadius(event.getLocation(), 10)) + return; + + event.setYield(0); + arena.monsters.remove(event.getEntity()); + + // If the arena isn't running + if (!arena.running || arena.repairDelay == 0) + { + event.setCancelled(true); + return; + } + + // If there is a sign in the blocklist, cancel + for (Block b : event.blockList()) + { + if (!(b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN)) + continue; + + event.setCancelled(true); + return; + } + + // Uncancel, just in case. + event.setCancelled(false); + + int[] buffer; + final HashMap blockMap = new HashMap(); + for (Block b : event.blockList()) + { + Material mat = b.getType(); + + if (mat == Material.LAVA) b.setType(Material.STATIONARY_LAVA); + else if (mat == Material.WATER) b.setType(Material.STATIONARY_WATER); + + if (mat == Material.WOODEN_DOOR || mat == Material.IRON_DOOR_BLOCK || mat == Material.FIRE || mat == Material.CAKE_BLOCK || mat == Material.WATER || mat == Material.LAVA) + { + arena.blocks.remove(b); + } + else if (arena.blocks.remove(b)) + { + arena.world.dropItemNaturally(b.getLocation(), new ItemStack(b.getTypeId(), 1)); + } + else if (arena.softRestore) + { + buffer = new int[5]; + buffer[0] = b.getX(); + buffer[1] = b.getY(); + buffer[2] = b.getZ(); + buffer[3] = b.getTypeId(); + buffer[4] = (int) b.getData(); + arena.repairList.add(buffer); + blockMap.put(b, b.getTypeId() + (b.getData() * 1000)); + } + else + { + blockMap.put(b, b.getTypeId() + (b.getData() * 1000)); + } + } + + if (!arena.protect || arena.softRestore) + return; + + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, + new Runnable() + { + public void run() + { + for (Map.Entry entry : blockMap.entrySet()) + { + Block b = entry.getKey(); + int type = entry.getValue(); + + b.getLocation().getBlock().setTypeId(type % 1000); + + if (type > 1000) + b.getLocation().getBlock().setData((byte) (type / 1000)); + } + } + }, arena.repairDelay); + } + + public void onEntityCombust(EntityCombustEvent event) + { + if (arena.monsters.contains(event.getEntity())) + event.setCancelled(true); + } + + public void onEntityTarget(EntityTargetEvent event) + { + if (!arena.running || event.isCancelled()) + return; + + if (arena.pets.contains(event.getEntity())) + { + if (event.getReason() != TargetReason.TARGET_ATTACKED_OWNER && event.getReason() != TargetReason.OWNER_ATTACKED_TARGET) + return; + + if (!(event.getTarget() instanceof Player)) + return; + + // If the target is a player, cancel. + event.setCancelled(true); + return; + } + + if (arena.monsters.contains(event.getEntity())) + { + if (event.getReason() == TargetReason.FORGOT_TARGET) + { + event.setTarget(MAUtils.getClosestPlayer(event.getEntity(), arena)); + return; + } + + if (event.getReason() == TargetReason.TARGET_DIED) + { + event.setTarget(MAUtils.getClosestPlayer(event.getEntity(), arena)); + return; + } + + if (event.getReason() == TargetReason.CLOSEST_PLAYER) + //if (!livePlayers.contains(event.getTarget())) + if (!arena.arenaPlayers.contains(event.getTarget())) + event.setCancelled(true); + return; + } + } + + public void onEntityRegainHealth(EntityRegainHealthEvent event) + { + if (!arena.running) return; + + //if (!(event.getEntity() instanceof Player) || !livePlayers.contains((Player)event.getEntity())) + if (!(event.getEntity() instanceof Player) || !arena.arenaPlayers.contains((Player)event.getEntity())) + return; + + if (event.getRegainReason() == RegainReason.REGEN) + event.setCancelled(true); + } + + public void onEntityDeath(EntityDeathEvent event) + { + if (event.getEntity() instanceof Player) + { + Player p = (Player) event.getEntity(); + + //if (!livePlayers.contains(p)) + if (!arena.arenaPlayers.contains(p)) + return; + + event.getDrops().clear(); + arena.waveMap.put(p, arena.spawnThread.wave - 1); + arena.playerDeath(p); + return; + } + + if (arena.monsters.remove(event.getEntity())) + { + EntityDamageEvent e1 = event.getEntity().getLastDamageCause(); + EntityDamageByEntityEvent e2 = (e1 instanceof EntityDamageByEntityEvent) ? (EntityDamageByEntityEvent) e1 : null; + Entity damager = (e2 != null) ? e2.getDamager() : null; + + if (e2 != null && damager instanceof Player) + arena.playerKill((Player) damager); + + event.getDrops().clear(); + arena.resetIdleTimer(); + return; + } + } + + public void onEntityDamage(EntityDamageEvent event) + { + if (!arena.running) return; + + EntityDamageByEntityEvent e = (event instanceof EntityDamageByEntityEvent) ? (EntityDamageByEntityEvent) event : null; + Entity damager = (e != null) ? e.getDamager() : null; + Entity damagee = event.getEntity(); + + // Damagee - Pet Wolf - cancel all damage. + if (damagee instanceof Wolf && arena.pets.contains(damagee)) + { + if (event.getCause() == DamageCause.FIRE_TICK) + { + damagee.setFireTicks(32768); // For mcMMO + event.setCancelled(true); + } + if (e != null && damager instanceof Player) + event.setCancelled(true); + + event.setDamage(0); + return; + } + + // Damager - Pet Wolf - lower damage + if (e != null && damager instanceof Wolf && arena.pets.contains(damager)) + { + event.setDamage(1); + return; + } + + // Damagee & Damager - Player - cancel if pvp disabled + if (damagee instanceof Player && damager instanceof Player) + { + //if (livePlayers.contains(damagee) && !pvp) + if (arena.arenaPlayers.contains(damagee) && !arena.pvp) + event.setCancelled(true); + + return; + } + + // Damagee & Damager - Monsters - cancel if no monsterInfight + if (e != null && arena.monsters.contains(damagee) && arena.monsters.contains(damager)) + { + if (!arena.monsterInfight) + event.setCancelled(true); + + return; + } + + // Creeper detonations + if (arena.inRegion(damagee.getLocation())) + { + //if (!detDamage || !(damagee instanceof Player) || !livePlayers.contains((Player) damagee)) + if (!arena.detDamage || !(damagee instanceof Player) || !arena.arenaPlayers.contains((Player) damagee)) + return; + + if (event.getCause() == DamageCause.BLOCK_EXPLOSION) + event.setCancelled(true); + + return; + } + } + + public void onPlayerDropItem(PlayerDropItemEvent event) + { + if (arena.running && arena.shareInArena) return; + + Player p = event.getPlayer(); + //if (!livePlayers.contains(p)) + if (!arena.arenaPlayers.contains(p) && !arena.lobbyPlayers.contains(p)) + return; + + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_DROP_ITEM)); + event.setCancelled(true); + } + + public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) + { + //if (!readyPlayers.contains(event.getPlayer()) && !livePlayers.contains(event.getPlayer())) + if (!arena.readyPlayers.contains(event.getPlayer()) && !arena.arenaPlayers.contains(event.getPlayer())) + return; + + if (!arena.running) + { + event.getBlockClicked().getRelative(event.getBlockFace()).setTypeId(0); + event.setCancelled(true); + return; + } + + Block liquid = event.getBlockClicked().getRelative(event.getBlockFace()); + arena.blocks.add(liquid); + } + + public void onPlayerInteract(PlayerInteractEvent event) + { + if (!arena.arenaPlayers.contains(event.getPlayer()) && !arena.lobbyPlayers.contains(event.getPlayer())) + return; + + if (arena.running) + { + if (event.hasBlock() && event.getClickedBlock().getType() == Material.SAPLING) + arena.addTrunkAndLeaves(event.getClickedBlock()); + return; + } + + Action a = event.getAction(); + Player p = event.getPlayer(); + if (a == Action.RIGHT_CLICK_AIR || a == Action.RIGHT_CLICK_BLOCK) + { + event.setUseItemInHand(Result.DENY); + event.setCancelled(true); + } + + // Iron block + if (event.hasBlock() && event.getClickedBlock().getTypeId() == 42) + { + if (arena.classMap.containsKey(p)) + { + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_PLAYER_READY)); + arena.playerReady(p); + } + else + { + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_PICK_CLASS)); + } + return; + } + + // Sign + if (event.hasBlock() && event.getClickedBlock().getState() instanceof Sign) + { + if (a == Action.RIGHT_CLICK_BLOCK) + { + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_RIGHT_CLICK)); + return; + } + + // Cast the block to a sign to get the text on it. + Sign sign = (Sign) event.getClickedBlock().getState(); + + // Check if the first line of the sign is a class name. + String className = sign.getLine(0); + if (!arena.classes.contains(className) && !className.equalsIgnoreCase("random")) + return; + + if (!plugin.hasDefTrue(p, "mobarena.classes." + className) && !className.equalsIgnoreCase("random")) + { + MAUtils.tellPlayer(p, MAMessages.get(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)); + else + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_RANDOM)); + + return; + } + } + + public void onPlayerQuit(PlayerQuitEvent event) + { + Player p = event.getPlayer(); + if (!arena.enabled || (!arena.arenaPlayers.contains(p) && !arena.lobbyPlayers.contains(p))) + return; + + plugin.getAM().arenaMap.remove(p); + arena.playerLeave(p); + } + + public void onPlayerKick(PlayerKickEvent event) + { + Player p = event.getPlayer(); + if (!arena.enabled || (!arena.arenaPlayers.contains(p) && !arena.lobbyPlayers.contains(p))) + return; + + plugin.getAM().arenaMap.remove(p); + arena.playerLeave(p); + } + + public void onPlayerTeleport(PlayerTeleportEvent event) + { + if (arena.edit || !arena.enabled || !arena.setup || arena.allowWarp) + return; + + if (!arena.inRegion(event.getTo()) && !arena.inRegion(event.getFrom())) + return; + + Player p = event.getPlayer(); + Location old = arena.locations.get(p); + Location to = event.getTo(); + Location from = event.getFrom(); + + if (arena.arenaPlayers.contains(p) || arena.lobbyPlayers.contains(p) || arena.specPlayers.contains(p)) + { + if (arena.inRegion(from)) + { + if (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)); + event.setCancelled(true); + return; + } + + if (arena.inRegion(to)) + { + 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)); + event.setCancelled(true); + return; + } + + return; + } + + if (arena.running && arena.inRegion(to)) + { + //MAUtils.tellPlayer(p, MAMessages.get(Msg.WARP_TO_ARENA)); + event.setCancelled(true); + return; + } + } + + public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) + { + Player p = event.getPlayer(); + + //if (!livePlayers.contains(p)) + if (!arena.arenaPlayers.contains(p) && !arena.lobbyPlayers.contains(p)) + return; + + String[] args = event.getMessage().split(" "); + + if ((args.length > 1 && MACommands.COMMANDS.contains(args[1].trim())) || + MACommands.ALLOWED_COMMANDS.contains(event.getMessage().substring(1).trim()) || + MACommands.ALLOWED_COMMANDS.contains(args[0])) + return; + + event.setCancelled(true); + MAUtils.tellPlayer(p, MAMessages.get(Msg.MISC_COMMAND_NOT_ALLOWED)); + } +} diff --git a/src/com/garbagemule/MobArena/MAPlayerListener.java b/src/com/garbagemule/MobArena/MAPlayerListener.java index 71d9720..1618896 100644 --- a/src/com/garbagemule/MobArena/MAPlayerListener.java +++ b/src/com/garbagemule/MobArena/MAPlayerListener.java @@ -24,50 +24,50 @@ public class MAPlayerListener extends PlayerListener } public void onPlayerInteract(PlayerInteractEvent event) - { - if (!am.enabled) return; - for (Arena arena : am.arenas) - arena.onPlayerInteract(event); + { + if (!am.enabled) return; + for (Arena arena : am.arenas) + arena.eventListener.onPlayerInteract(event); } public void onPlayerDropItem(PlayerDropItemEvent event) { if (!am.enabled) return; for (Arena arena : am.arenas) - arena.onPlayerDropItem(event); + arena.eventListener.onPlayerDropItem(event); } public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) { if (!am.enabled) return; for (Arena arena : am.arenas) - arena.onPlayerBucketEmpty(event); + arena.eventListener.onPlayerBucketEmpty(event); } public void onPlayerTeleport(PlayerTeleportEvent event) { if (!am.enabled) return; for (Arena arena : am.arenas) - arena.onPlayerTeleport(event); + arena.eventListener.onPlayerTeleport(event); } public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if (!am.enabled) return; for (Arena arena : am.arenas) - arena.onPlayerCommandPreprocess(event); + arena.eventListener.onPlayerCommandPreprocess(event); } public void onPlayerQuit(PlayerQuitEvent event) { for (Arena arena : am.arenas) - arena.onPlayerQuit(event); + arena.eventListener.onPlayerQuit(event); } public void onPlayerKick(PlayerKickEvent event) { for (Arena arena : am.arenas) - arena.onPlayerKick(event); + arena.eventListener.onPlayerKick(event); } public void onPlayerJoin(PlayerJoinEvent event) diff --git a/src/com/garbagemule/MobArena/MASpawnThread.java b/src/com/garbagemule/MobArena/MASpawnThread.java index 1baaba0..4eb95ab 100644 --- a/src/com/garbagemule/MobArena/MASpawnThread.java +++ b/src/com/garbagemule/MobArena/MASpawnThread.java @@ -75,6 +75,9 @@ public class MASpawnThread implements Runnable public void run() { + if (arena.arenaPlayers.isEmpty()) + return; + List tmp = new LinkedList(arena.monsters); for (Entity e : tmp) if (e.isDead())