feat: implemented ChunkPreloader

This commit is contained in:
Andrey Terentev 2025-04-30 18:18:43 +07:00
parent 43a94d4359
commit 72ed0b8146

View File

@ -0,0 +1,21 @@
package ru.dragonestia.msb3.api.util;
import lombok.experimental.UtilityClass;
import net.minestom.server.instance.InstanceContainer;
@UtilityClass
public class ChunkPreloader {
public void preload(InstanceContainer instance, int startChunkX, int startChunkZ, int endChunkX, int endChunkZ) {
record Point(int x, int z) {}
var min = new Point(Math.min(startChunkX, endChunkX), Math.min(startChunkZ, endChunkZ));
var max = new Point(Math.max(startChunkX, endChunkX), Math.max(startChunkZ, endChunkZ));
for (int chunkX = min.x; chunkX <= max.x; chunkX++) {
for (int chunkZ = min.z; chunkZ <= max.z; chunkZ++) {
instance.loadChunk(chunkX, chunkZ).join();
}
}
}
}