diff --git a/api/src/main/java/net/islandearth/rpgregions/requirements/PreventType.java b/api/src/main/java/net/islandearth/rpgregions/requirements/PreventType.java index 8ff978b..29a0d55 100644 --- a/api/src/main/java/net/islandearth/rpgregions/requirements/PreventType.java +++ b/api/src/main/java/net/islandearth/rpgregions/requirements/PreventType.java @@ -7,6 +7,7 @@ import org.bukkit.Particle; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.event.player.PlayerTeleportEvent; public enum PreventType { TELEPORT, @@ -22,6 +23,13 @@ public enum PreventType { public void prevent(PlayerMoveEvent event) { if (event.getTo() == null) return; + + // Teleport events must be simply cancelled + if (event instanceof PlayerTeleportEvent) { + event.setCancelled(true); + return; + } + Player player = event.getPlayer(); switch (this) { case TELEPORT -> PaperLib.teleportAsync(player, event.getFrom());