diff --git a/MobArena.jar b/MobArena.jar index b9a363f..dfa8bee 100644 Binary files a/MobArena.jar and b/MobArena.jar differ diff --git a/src/com/garbagemule/MobArena/ArenaMaster.java b/src/com/garbagemule/MobArena/ArenaMaster.java index 6050c98..00343e6 100644 --- a/src/com/garbagemule/MobArena/ArenaMaster.java +++ b/src/com/garbagemule/MobArena/ArenaMaster.java @@ -15,9 +15,9 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.util.config.Configuration; -import com.garbagemule.ArenaPlugin.Master; +//import com.garbagemule.ArenaPlugin.Master; -public class ArenaMaster implements Master +public class ArenaMaster //implements Master { private MobArena plugin; private Configuration config; @@ -392,9 +392,4 @@ public class ArenaMaster implements Master public void updateClasses() { update(false, true, false); } public void updateArenas() { update(false, false, true); } public void updateAll() { update(true, true, true); } - - public Map getArenaMap() - { - return null;//arenaMap; - } } diff --git a/src/com/garbagemule/MobArena/MAListener.java b/src/com/garbagemule/MobArena/MAListener.java index 5b46fd8..cc8e2ad 100644 --- a/src/com/garbagemule/MobArena/MAListener.java +++ b/src/com/garbagemule/MobArena/MAListener.java @@ -396,27 +396,23 @@ public class MAListener implements ArenaListener // If the target is a player, cancel. event.setCancelled(true); - return; } - if (arena.monsters.contains(event.getEntity())) + else 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) - { + else if (event.getReason() == TargetReason.TARGET_DIED) event.setTarget(MAUtils.getClosestPlayer(event.getEntity(), arena)); - return; - } - if (event.getReason() == TargetReason.CLOSEST_PLAYER) + else if (event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY) + if (arena.pets.contains(event.getTarget())) + event.setCancelled(true); + + else if (event.getReason() == TargetReason.CLOSEST_PLAYER) if (!arena.arenaPlayers.contains(event.getTarget())) event.setCancelled(true); - return; } } diff --git a/src/com/garbagemule/MobArena/MASpawnThread.java b/src/com/garbagemule/MobArena/MASpawnThread.java index df0da9c..d70658d 100644 --- a/src/com/garbagemule/MobArena/MASpawnThread.java +++ b/src/com/garbagemule/MobArena/MASpawnThread.java @@ -86,8 +86,13 @@ public class MASpawnThread implements Runnable { List tmp = new LinkedList(arena.monsters); for (Entity e : tmp) + { if (e.isDead() || !arena.inRegion(e.getLocation())) + { arena.monsters.remove(e); + e.remove(); + } + } } private void grantRewards(int wave) diff --git a/src/com/garbagemule/MobArena/MobArena.java b/src/com/garbagemule/MobArena/MobArena.java index 5b12dea..eb29a6c 100644 --- a/src/com/garbagemule/MobArena/MobArena.java +++ b/src/com/garbagemule/MobArena/MobArena.java @@ -21,14 +21,14 @@ import com.nijikokun.bukkit.Permissions.Permissions; import com.garbagemule.MobArena.util.FileUtils; import com.garbagemule.register.payment.Method; import com.garbagemule.register.payment.Methods; -import com.garbagemule.ArenaPlugin.ArenaPlugin; -import com.garbagemule.ArenaPlugin.Master; +//import com.garbagemule.ArenaPlugin.ArenaPlugin; +//import com.garbagemule.ArenaPlugin.Master; /** * MobArena * @author garbagemule */ -public class MobArena extends JavaPlugin implements ArenaPlugin +public class MobArena extends JavaPlugin// implements ArenaPlugin { private Configuration config; private ArenaMaster am; @@ -181,11 +181,6 @@ public class MobArena extends JavaPlugin implements ArenaPlugin public ArenaMaster getAM() { return am; } // More convenient. public ArenaMaster getArenaMaster() { return am; } - public Master getMaster() - { - return am; - } - private String getHeader() { String sep = System.getProperty("line.separator");