diff --git a/pom.xml b/pom.xml index 6619dc588..c500cddac 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ -LOCAL - 3.9.3 + 3.10.0 bentobox-world https://sonarcloud.io ${project.basedir}/lib diff --git a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java index e31edca2c..8ae94732e 100644 --- a/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/IslandsManager.java @@ -248,10 +248,23 @@ public Island createIsland(@NonNull Location location) { */ @Nullable public Island createIsland(@NonNull Location location, @Nullable UUID owner) { - Island island = new Island(location, owner, plugin.getIWM().getIslandProtectionRange(location.getWorld())); + return createIsland(location, owner, plugin.getIWM().getIslandProtectionRange(location.getWorld())); + } + + /** + * Create an island with owner, and a specified protection range. Note this does not paste blocks. It just creates + * the island data object. + * + * @param location the location, not null + * @param owner the island owner UUID, may be null + * @param protectionRange size of protection range + * @return Island or null if the island could not be created for some reason + * @since 3.10.0 + */ + public Island createIsland(@NonNull Location location, @Nullable UUID owner, int protectionRange) { + Island island = new Island(location, owner, protectionRange); // Game the gamemode name and prefix the uniqueId - String gmName = plugin.getIWM().getAddon(location.getWorld()).map(gm -> gm.getDescription().getName()) - .orElse(""); + String gmName = plugin.getIWM().getAddon(location.getWorld()).map(gm -> gm.getDescription().getName()).orElse(""); island.setGameMode(gmName); island.setUniqueId(gmName + island.getUniqueId()); if (islandCache.addIsland(island)) { @@ -265,6 +278,7 @@ public Island createIsland(@NonNull Location location, @Nullable UUID owner) { } return null; } + /** * Deletes island.