From d5b9a074e6efef3f5a33df7d1a5a7cd6acfbd62f Mon Sep 17 00:00:00 2001 From: RePixelatedMC Date: Thu, 2 Nov 2023 12:53:30 +0100 Subject: [PATCH] Additions to ChunkHandler.java --- .../com/volmit/iris/core/ChunkHandler.java | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/com/volmit/iris/core/ChunkHandler.java b/core/src/main/java/com/volmit/iris/core/ChunkHandler.java index 73e01e368..e591da029 100644 --- a/core/src/main/java/com/volmit/iris/core/ChunkHandler.java +++ b/core/src/main/java/com/volmit/iris/core/ChunkHandler.java @@ -121,21 +121,27 @@ public class ChunkHandler implements Listener { } public void update() { - long currentTime = System.currentTimeMillis(); - Set chunkSet = new HashSet<>(chunks.keySet()); - for (Chunk chunk : chunkSet) { - if (!chunk.isLoaded()) { - continue; - } + try { + long currentTime = System.currentTimeMillis(); + Set chunkSet = new HashSet<>(chunks.keySet()); + for (Chunk chunk : chunkSet) { + if (!chunk.isLoaded()) { + continue; + } - if (isChunkNearby(chunk)) { - chunks.put(chunk, currentTime + TimeUnit.MINUTES.toMillis(3)); - } else if (chunks.get(chunk) <= currentTime) { - unloadChunk(chunk); + if (isChunkNearby(chunk)) { + chunks.put(chunk, currentTime + TimeUnit.MINUTES.toMillis(3)); + } else if (chunks.get(chunk) <= currentTime) { + unloadChunk(chunk); + } } + } catch (Exception e) { + // Log the error message + System.out.println("Error in update method: " + e.getMessage()); } } + private boolean isChunkNearby(Chunk chunk) { Set players = playersInChunk.get(chunk); if (players == null) { @@ -146,8 +152,13 @@ public class ChunkHandler implements Listener { } private void unloadChunk(Chunk chunk) { - //System.out.printf("%s > Unloading Chunk [x=%s, z=%s]%n", world.getName(), chunk.getX(), chunk.getZ()); - Bukkit.getScheduler().runTask(plugin, () -> chunk.unload(true)); + try { + System.out.printf("%s > Unloading Chunk [x=%s, z=%s]%n", world.getName(), chunk.getX(), chunk.getZ()); + Bukkit.getScheduler().runTask(plugin, () -> chunk.unload(true)); + } catch (Exception e) { + // Log the error message + System.out.println("Error unloading chunk: " + e.getMessage()); + } } } }