9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-24 01:29:16 +00:00

Additions to ChunkHandler.java

This commit is contained in:
RePixelatedMC
2023-11-02 12:53:30 +01:00
parent 63e6104736
commit d5b9a074e6

View File

@@ -121,21 +121,27 @@ public class ChunkHandler implements Listener {
} }
public void update() { public void update() {
long currentTime = System.currentTimeMillis(); try {
Set<Chunk> chunkSet = new HashSet<>(chunks.keySet()); long currentTime = System.currentTimeMillis();
for (Chunk chunk : chunkSet) { Set<Chunk> chunkSet = new HashSet<>(chunks.keySet());
if (!chunk.isLoaded()) { for (Chunk chunk : chunkSet) {
continue; if (!chunk.isLoaded()) {
} continue;
}
if (isChunkNearby(chunk)) { if (isChunkNearby(chunk)) {
chunks.put(chunk, currentTime + TimeUnit.MINUTES.toMillis(3)); chunks.put(chunk, currentTime + TimeUnit.MINUTES.toMillis(3));
} else if (chunks.get(chunk) <= currentTime) { } else if (chunks.get(chunk) <= currentTime) {
unloadChunk(chunk); unloadChunk(chunk);
}
} }
} catch (Exception e) {
// Log the error message
System.out.println("Error in update method: " + e.getMessage());
} }
} }
private boolean isChunkNearby(Chunk chunk) { private boolean isChunkNearby(Chunk chunk) {
Set<Player> players = playersInChunk.get(chunk); Set<Player> players = playersInChunk.get(chunk);
if (players == null) { if (players == null) {
@@ -146,8 +152,13 @@ public class ChunkHandler implements Listener {
} }
private void unloadChunk(Chunk chunk) { private void unloadChunk(Chunk chunk) {
//System.out.printf("%s > Unloading Chunk [x=%s, z=%s]%n", world.getName(), chunk.getX(), chunk.getZ()); try {
Bukkit.getScheduler().runTask(plugin, () -> chunk.unload(true)); 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());
}
} }
} }
} }