9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-23 17:19: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() {
long currentTime = System.currentTimeMillis();
Set<Chunk> chunkSet = new HashSet<>(chunks.keySet());
for (Chunk chunk : chunkSet) {
if (!chunk.isLoaded()) {
continue;
}
try {
long currentTime = System.currentTimeMillis();
Set<Chunk> 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<Player> 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());
}
}
}
}