From f957d08323ca47692727789b8643b2b811a2cfb3 Mon Sep 17 00:00:00 2001 From: Matthew Gajownik Date: Mon, 8 Apr 2024 16:00:58 +1000 Subject: [PATCH] Don't hijack respawn event in unrelated worlds (#52) --- .../talabrek/ultimateskyblock/event/PlayerEvents.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/event/PlayerEvents.java b/uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/event/PlayerEvents.java index c1016c7a..cc230a13 100644 --- a/uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/event/PlayerEvents.java +++ b/uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/event/PlayerEvents.java @@ -3,6 +3,7 @@ import dk.lockfuglsang.minecraft.util.ItemStackUtil; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.data.BlockData; import org.bukkit.block.data.Levelled; @@ -35,6 +36,7 @@ import us.talabrek.ultimateskyblock.player.PlayerInfo; import us.talabrek.ultimateskyblock.uSkyBlock; import us.talabrek.ultimateskyblock.util.LocationUtil; +import us.talabrek.ultimateskyblock.world.WorldManager; import java.util.*; @@ -254,6 +256,12 @@ private void cancelMemberDamage(Player attacker, Player victim, EntityDamageByEn @EventHandler(priority = EventPriority.HIGHEST) public void onPlayerRespawn(PlayerRespawnEvent event) { + WorldManager wm = plugin.getWorldManager(); + World pWorld = event.getPlayer().getWorld(); + if (!wm.isSkyAssociatedWorld(pWorld)) { + return; + } + if (Settings.extras_respawnAtIsland) { PlayerInfo playerInfo = plugin.getPlayerInfo(event.getPlayer()); if (playerInfo.getHasIsland()) { @@ -268,7 +276,7 @@ public void onPlayerRespawn(PlayerRespawnEvent event) { } } } - if (!Settings.extras_sendToSpawn && plugin.getWorldManager().isSkyWorld(event.getPlayer().getWorld())) { + if (!Settings.extras_sendToSpawn && wm.isSkyWorld(pWorld)) { event.setRespawnLocation(plugin.getWorldManager().getWorld().getSpawnLocation()); } }