diff --git a/src/main/java/com/iridium/iridiumskyblock/IridiumSkyblock.java b/src/main/java/com/iridium/iridiumskyblock/IridiumSkyblock.java index d6b646afb..d6baeb51e 100644 --- a/src/main/java/com/iridium/iridiumskyblock/IridiumSkyblock.java +++ b/src/main/java/com/iridium/iridiumskyblock/IridiumSkyblock.java @@ -185,19 +185,21 @@ public void onEnable() { Bukkit.getOnlinePlayers().forEach(player -> getIslandManager().getIslandViaLocation(player.getLocation()).ifPresent(island -> PlayerUtils.sendBorder(player, island))); // Auto recalculate islands - Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { - ListIterator islands = getDatabaseManager().getIslandTableManager().getEntries().stream().map(Island::getId).collect(Collectors.toList()).listIterator(); - - @Override - public void run() { - if (!islands.hasNext()) { - islands = getDatabaseManager().getIslandTableManager().getEntries().stream().map(Island::getId).collect(Collectors.toList()).listIterator(); - } else { - getIslandManager().getIslandById(islands.next()).ifPresent(island -> getIslandManager().recalculateIsland(island)); + if (getConfiguration().islandRecalculateInterval > 0) { + Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { + ListIterator islands = getDatabaseManager().getIslandTableManager().getEntries().stream().map(Island::getId).collect(Collectors.toList()).listIterator(); + + @Override + public void run() { + if (!islands.hasNext()) { + islands = getDatabaseManager().getIslandTableManager().getEntries().stream().map(Island::getId).collect(Collectors.toList()).listIterator(); + } else { + getIslandManager().getIslandById(islands.next()).ifPresent(island -> getIslandManager().recalculateIsland(island)); + } } - } - }, 0, getConfiguration().islandRecalculateInterval * 20L); + }, 0, getConfiguration().islandRecalculateInterval * 20L); + } // Automatically update all inventories Bukkit.getScheduler().runTaskTimer(this, () -> Bukkit.getServer().getOnlinePlayers().forEach(player -> {