package tc.oc.pgm.modules; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerTeleportEvent; import tc.oc.pgm.match.Match; import tc.oc.pgm.match.MatchModule; import tc.oc.pgm.match.MatchScope; import tc.oc.pgm.events.ListenerScope; @ListenerScope(MatchScope.LOADED) public class InternalMatchModule extends MatchModule implements Listener { public InternalMatchModule(Match match) { super(match); } /** * Prevent teleporting outside the map */ @EventHandler(priority = EventPriority.HIGH) public void onPlayerTeleport(final PlayerTeleportEvent event) { if(event.getCause() == PlayerTeleportEvent.TeleportCause.PLUGIN) { double fromY = event.getFrom().getY(); double toY = event.getTo().getY(); if((fromY >= 0.0D && fromY < 255.0D) && (toY < 0.0D || toY >= 255.0D)) { event.setCancelled(true); } } } }