Fix augmented generation

This commit is contained in:
Alexander Söderberg
2020-04-08 04:10:22 +02:00
parent 1522632f5a
commit ef04ed9151
5 changed files with 47 additions and 10 deletions

View File

@ -518,7 +518,7 @@ public class BukkitUtil extends WorldUtil {
}
private static void ensureLoaded(final String world, final int x, final int z, final Consumer<Chunk> chunkConsumer) {
PaperLib.getChunkAtAsync(getWorld(world), x << 4, z << 4, true).thenAccept(chunk ->
PaperLib.getChunkAtAsync(getWorld(world), x >> 4, z >> 4, true).thenAccept(chunk ->
ensureMainThread(chunkConsumer, chunk));
}

View File

@ -142,13 +142,17 @@ public class BukkitLocalQueue extends BasicLocalBlockQueue {
}
private Chunk getChunk(final World world, final LocalChunk localChunk) {
Chunk chunk = null;
if (this.getChunkObject() != null && this.getChunkObject() instanceof Chunk) {
final Chunk chunk = (Chunk) this.getChunkObject();
if (chunk.getWorld().equals(world) && chunk.getX() == localChunk.getX() && chunk.getZ() == localChunk.getZ()) {
return chunk;
}
chunk = (Chunk) this.getChunkObject();
}
return world.getChunkAt(localChunk.getX(), localChunk.getZ());
if (chunk == null) {
chunk = world.getChunkAt(localChunk.getX(), localChunk.getZ());
}
if (!chunk.isLoaded()) {
chunk.load(true);
}
return chunk;
}
private void setMaterial(@NonNull final BlockState plotBlock, @NonNull final Block block) {