From 562b515bfe3e1e1aa5b46c1b9ff58ae9453c4174 Mon Sep 17 00:00:00 2001 From: tastybento Date: Sat, 24 Feb 2024 16:06:56 -0800 Subject: [PATCH] Change respawn point to the default home on the island. #2305 --- .../flags/worldsettings/IslandRespawnListener.java | 8 ++++---- .../flags/worldsettings/IslandRespawnListenerTest.java | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListener.java b/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListener.java index 38899de28..e9994cacb 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListener.java +++ b/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListener.java @@ -55,7 +55,7 @@ public class IslandRespawnListener extends FlagListener { * * @param e - event */ - @EventHandler(priority = EventPriority.HIGHEST) + @EventHandler(priority = EventPriority.NORMAL) public void onPlayerRespawn(PlayerRespawnEvent e) { final UUID worldUUID = respawn.remove(e.getPlayer().getUniqueId()); if (worldUUID == null) { @@ -67,11 +67,11 @@ public class IslandRespawnListener extends FlagListener { return; // world no longer available } World w = Util.getWorld(world); + String ownerName = e.getPlayer().getName(); if (w != null) { - final Location respawnLocation = getIslands().getPrimaryIsland(world, e.getPlayer().getUniqueId()) - .getSpawnPoint(world.getEnvironment()); - if (respawnLocation != null) { + final Location respawnLocation = getIslands().getHomeLocation(world, e.getPlayer().getUniqueId()); + if (respawnLocation != null && getIslands().isSafeLocation(respawnLocation)) { e.setRespawnLocation(respawnLocation); // Get the island owner name Island island = BentoBox.getInstance().getIslands().getIsland(w, User.getInstance(e.getPlayer())); diff --git a/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListenerTest.java b/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListenerTest.java index 7397e59dd..4d5a85741 100644 --- a/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListenerTest.java +++ b/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/IslandRespawnListenerTest.java @@ -114,9 +114,10 @@ public class IslandRespawnListenerTest { when(iwm.getAddon(any())).thenReturn(opGma); safeLocation = mock(Location.class); when(safeLocation.getWorld()).thenReturn(world); - when(island.getSpawnPoint(Environment.NORMAL)).thenReturn(safeLocation); + when(im.getHomeLocation(eq(world), any(UUID.class))).thenReturn(safeLocation); when(im.getPrimaryIsland(any(), any())).thenReturn(island); when(im.hasIsland(any(), any(UUID.class))).thenReturn(true); + when(im.isSafeLocation(safeLocation)).thenReturn(true); when(plugin.getIslands()).thenReturn(im); // when(im.getSafeHomeLocation(any(), any(),