From d32cf5427afc76d5a200510032eb80fe29110418 Mon Sep 17 00:00:00 2001 From: SamB440 Date: Sat, 5 Aug 2023 13:08:52 +0100 Subject: [PATCH] Fix SOE with teleport prevention --- .../islandearth/rpgregions/requirements/PreventType.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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());