Prevent endermen from warping in and out of arena regions.

This commit is contained in:
garbagemule 2012-03-03 11:09:59 +01:00
parent e394e1554c
commit fba31d26a4
4 changed files with 15 additions and 1 deletions

Binary file not shown.

View File

@ -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:

View File

@ -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()))

View File

@ -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);
}
}
///////////////////////////////////////////////////////////////////////////