From cd5936d746a44aa6261ce4690ff9b64456a8a3ac Mon Sep 17 00:00:00 2001 From: tastybento Date: Sat, 22 Jun 2024 22:48:01 -0700 Subject: [PATCH] Adjust how tp is prevented. #70 --- .../boxed/listeners/EnderPearlListener.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/world/bentobox/boxed/listeners/EnderPearlListener.java b/src/main/java/world/bentobox/boxed/listeners/EnderPearlListener.java index 6574e6c..0a835e9 100644 --- a/src/main/java/world/bentobox/boxed/listeners/EnderPearlListener.java +++ b/src/main/java/world/bentobox/boxed/listeners/EnderPearlListener.java @@ -45,15 +45,16 @@ public void onPlayerTeleport(PlayerTeleportEvent e) { ) { return; } - + User u = User.getInstance(e.getPlayer()); // If the to-location is outside the box, cancel it if (e.getTo() != null) { - Island i = addon.getIslands().getIsland(e.getFrom().getWorld(), u); - if (i == null || !i.onIsland(e.getTo())) { - u.sendMessage("boxed.general.errors.no-teleport-outside"); - e.setCancelled(true); - } + addon.getIslands().getIslandAt(e.getTo()).ifPresent(i -> { + if (!i.onIsland(e.getTo())) { + u.sendMessage("boxed.general.errors.no-teleport-outside"); + e.setCancelled(true); + } + }); } } @@ -77,7 +78,7 @@ public void onEnderPearlLand(ProjectileHitEvent e) { if (is == null) { return; // Nothing to do } - + // Get the box that the player is in addon.getIslands().getIslandAt(u.getLocation()).ifPresent(fromIsland -> { // Check that it is their box