From 53522e8b736d8f9767e8917e187b50f70eb52151 Mon Sep 17 00:00:00 2001 From: BONNe Date: Sun, 29 Oct 2023 18:31:47 +0200 Subject: [PATCH 1/3] Fixes a bug that removed old owner from island These changes fix a bug that was introduced by clearing the island cache from the old owner for 2.0 verison. This will set the previous owner as sub-owner on the island. --- .../java/world/bentobox/bentobox/managers/IslandsManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java index 6554c0d80..c223ccdc2 100644 --- a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java @@ -1520,8 +1520,10 @@ public void setOwner(World world, User user, UUID targetUUID) { */ public void setOwner(User user, UUID targetUUID, Island island) { islandCache.setOwner(island, targetUUID); - // Remove the old owner from the island + // Remove the old owner from the island to clear cache plugin.getIslands().removePlayer(island, user.getUniqueId()); + // Set old owner as sub-owner on island. + island.setRank(user, RanksManager.SUB_OWNER_RANK); user.sendMessage("commands.island.team.setowner.name-is-the-owner", "[name]", plugin.getPlayers().getName(targetUUID)); plugin.getIWM().getAddon(island.getWorld()).ifPresent(addon -> { From 6f1cdca3b4e3ece83358aee078dd707dbe55a654 Mon Sep 17 00:00:00 2001 From: BONNe Date: Sun, 29 Oct 2023 18:33:12 +0200 Subject: [PATCH 2/3] Fixes rank on event fired. Changes from Visitor to Sub owner rank --- .../api/commands/island/team/IslandTeamSetownerCommand.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamSetownerCommand.java b/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamSetownerCommand.java index 5383cdfee..680802034 100644 --- a/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamSetownerCommand.java +++ b/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamSetownerCommand.java @@ -95,7 +95,7 @@ public boolean execute(User user, String label, List args) { .involvedPlayer(user.getUniqueId()) .admin(false) .reason(IslandEvent.Reason.RANK_CHANGE) - .rankChange(RanksManager.OWNER_RANK, RanksManager.VISITOR_RANK) + .rankChange(RanksManager.OWNER_RANK, RanksManager.SUB_OWNER_RANK) .build(); getIslands().save(island); return true; @@ -107,4 +107,4 @@ public Optional> tabComplete(User user, String alias, List return Optional.of(Util.tabLimit(getIslands().getMembers(getWorld(), user.getUniqueId()).stream().map(getPlayers()::getName).toList(), lastArg)); } -} \ No newline at end of file +} From 1cf56606b8206a3d7b598d1417a40939dbcc876b Mon Sep 17 00:00:00 2001 From: tastybento Date: Sun, 29 Oct 2023 15:53:42 -0700 Subject: [PATCH 3/3] Update IslandsManager.java Removes line that removes player from cache. They should remain in the cache. --- .../java/world/bentobox/bentobox/managers/IslandsManager.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java index c223ccdc2..087f6bfb4 100644 --- a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java @@ -1520,8 +1520,6 @@ public void setOwner(World world, User user, UUID targetUUID) { */ public void setOwner(User user, UUID targetUUID, Island island) { islandCache.setOwner(island, targetUUID); - // Remove the old owner from the island to clear cache - plugin.getIslands().removePlayer(island, user.getUniqueId()); // Set old owner as sub-owner on island. island.setRank(user, RanksManager.SUB_OWNER_RANK);