Prevent endermen from warping in and out of arena regions.
This commit is contained in:
@@ -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()))
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user