- Баллы
- 123
- Имя в Minecraft
- sashabelii
Доброго времени суток.
Просчитываю необходимые для регенерации чанки в отдельном потоке, из него же регистрирую задание:
Само задание:
Чанки отчищаются, но криво. Ниже примеры.
Не верное наложение снега/растительности:
До регенерации:
После под другим углом:
Что я делаю не так?
Просчитываю необходимые для регенерации чанки в отдельном потоке, из него же регистрирую задание:
Код:
Bukkit.getServer().getScheduler().runTask(WorldCleaner.plugin, new ChunkWorker(world, chunks));
Само задание:
Код:
public class ChunkWorker implements Runnable {
private Queue<Point> chunks;
private World world;
public ChunkWorker(World world, Queue<Point> chunks) {
this.world = world;
this.chunks = chunks;
}
@Override
public void run() {
while(!chunks.isEmpty()) {
Point chunkPoint = chunks.remove();
Chunk chunk = world.getChunkAt((int) chunkPoint.getX(), (int) chunkPoint.getY());
world.regenerateChunk((int) chunk.getX(), (int) chunk.getZ());
WorldCleaner.log.info("Chunks left: " + chunks.size() + ", current chunk: " + world.getChunkAt((int) chunk.getX(), (int) chunk.getZ()));
//world.spawnArrow(new Location(world, chunk.getX(), 100, chunk.getY()), new Vector(chunk.getX(), 100, chunk.getY()), 20, 20);
}
WorldCleaner.regeneratorsMng.continueRegenerating();
}
}
Чанки отчищаются, но криво. Ниже примеры.
Не верное наложение снега/растительности:
До регенерации:
После под другим углом:
Что я делаю не так?