diff --git a/MobArena.jar b/MobArena.jar index 9ca1581..300f2c1 100644 Binary files a/MobArena.jar and b/MobArena.jar differ diff --git a/resources/plugin.yml b/resources/plugin.yml index 98bdb80..3bef902 100644 --- a/resources/plugin.yml +++ b/resources/plugin.yml @@ -1,7 +1,7 @@ name: MobArena author: garbagemule main: com.garbagemule.MobArena.MobArena -version: 0.94.4.54 +version: 0.94.4.55 softdepend: [Spout,MultiVerse,XcraftGate,Towny,Heroes,MagicSpells,Vault] commands: ma: diff --git a/src/com/garbagemule/MobArena/ArenaListener.java b/src/com/garbagemule/MobArena/ArenaListener.java index af206d6..9e173bf 100644 --- a/src/com/garbagemule/MobArena/ArenaListener.java +++ b/src/com/garbagemule/MobArena/ArenaListener.java @@ -38,6 +38,7 @@ 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.EntityTeleportEvent; import org.bukkit.event.entity.FoodLevelChangeEvent; import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; import org.bukkit.event.entity.EntityTargetEvent.TargetReason; @@ -537,6 +538,12 @@ public class ArenaListener event.setCancelled(true); } } + + public void onEntityTeleport(EntityTeleportEvent event) { + if (region.contains(event.getFrom()) || region.contains(event.getTo())) { + event.setCancelled(true); + } + } public void onEntityChangeBlock(EntityChangeBlockEvent event) { if (arena.getRegion().contains(event.getBlock().getLocation())) diff --git a/src/com/garbagemule/MobArena/listeners/MAGlobalListener.java b/src/com/garbagemule/MobArena/listeners/MAGlobalListener.java index eaf56f6..d260795 100644 --- a/src/com/garbagemule/MobArena/listeners/MAGlobalListener.java +++ b/src/com/garbagemule/MobArena/listeners/MAGlobalListener.java @@ -165,6 +165,13 @@ public class MAGlobalListener implements Listener arena.getEventListener().onEntityTarget(event); } + @EventHandler(priority = EventPriority.HIGH) + public void entityTeleport(EntityTeleportEvent event) { + for (Arena arena : am.getArenas()) { + arena.getEventListener().onEntityTeleport(event); + } + } + ///////////////////////////////////////////////////////////////////////////