From dc8b672286ef3a2106038c144d51dda0448fc297 Mon Sep 17 00:00:00 2001 From: tastybento Date: Mon, 7 Jan 2019 08:03:38 -0800 Subject: [PATCH] Added check against duplicate Island UUIDs May relate to https://github.com/BentoBoxWorld/BentoBox/issues/447 --- .../world/bentobox/bentobox/managers/IslandsManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java index 6780ea3bc..ec7f5cd90 100644 --- a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java @@ -223,6 +223,12 @@ public class IslandsManager { */ public Island createIsland(Location location, UUID owner){ Island island = new Island(location, owner, plugin.getIWM().getIslandProtectionRange(location.getWorld())); + while (handler.objectExists(island.getUniqueId())) { + // This should never happen, so although this is a potential infinite loop I'm going to leave it here because + // it will be bad if this does occur and the server should crash. + plugin.logWarning("Duplicate island UUID occurred"); + island.setUniqueId(UUID.randomUUID().toString()); + } if (islandCache.addIsland(island)) { return island; }