Create a new cached chunk when a block is created in an empty chunk

This commit is contained in:
Camotoy 2021-06-27 23:25:51 -04:00
parent 215ffc618f
commit ad5356472d
No known key found for this signature in database
GPG key ID: 7EEFB66FE798081F

View file

@ -75,11 +75,20 @@ public class ChunkCache {
} }
Chunk chunk = column.getChunks()[(y >> 4) - getChunkMinY()]; Chunk chunk = column.getChunks()[(y >> 4) - getChunkMinY()];
if (chunk != null) { if (chunk == null) {
chunk.set(x & 0xF, y & 0xF, z & 0xF, block); if (block != BlockTranslator.JAVA_AIR_ID) {
chunk = new Chunk();
// A previously empty chunk, which is no longer empty as a
column.getChunks()[(y >> 4) - getChunkMinY()] = chunk;
} else {
// Nothing to update
return;
} }
} }
chunk.set(x & 0xF, y & 0xF, z & 0xF, block);
}
public int getBlockAt(int x, int y, int z) { public int getBlockAt(int x, int y, int z) {
if (!cache) { if (!cache) {
return BlockTranslator.JAVA_AIR_ID; return BlockTranslator.JAVA_AIR_ID;