diff --git a/src/pc/1.13/ChunkColumn.js b/src/pc/1.13/ChunkColumn.js index 1dd0900c..4b1d0366 100644 --- a/src/pc/1.13/ChunkColumn.js +++ b/src/pc/1.13/ChunkColumn.js @@ -199,6 +199,10 @@ module.exports = (Block, mcData) => { smartBuffer.writeInt32BE(biome) }) + if (!smartBuffer.length) { + return Buffer.alloc(1024) + } + return smartBuffer.toBuffer() } diff --git a/src/pc/1.14/ChunkColumn.js b/src/pc/1.14/ChunkColumn.js index 60061ff6..ebfeaad7 100644 --- a/src/pc/1.14/ChunkColumn.js +++ b/src/pc/1.14/ChunkColumn.js @@ -221,6 +221,10 @@ module.exports = (Block, mcData) => { smartBuffer.writeInt32BE(biome) }) + if (!smartBuffer.length) { + return Buffer.alloc(1024) + } + return smartBuffer.toBuffer() } diff --git a/src/pc/1.15/ChunkColumn.js b/src/pc/1.15/ChunkColumn.js index 066b520b..d8cd11eb 100644 --- a/src/pc/1.15/ChunkColumn.js +++ b/src/pc/1.15/ChunkColumn.js @@ -210,6 +210,9 @@ module.exports = (Block, mcData) => { section.write(smartBuffer) } }) + if (!smartBuffer.length) { + return Buffer.alloc(1024) + } return smartBuffer.toBuffer() } diff --git a/src/pc/1.16/ChunkColumn.js b/src/pc/1.16/ChunkColumn.js index 0bf0f884..beb783ed 100644 --- a/src/pc/1.16/ChunkColumn.js +++ b/src/pc/1.16/ChunkColumn.js @@ -210,6 +210,9 @@ module.exports = (Block, mcData) => { section.write(smartBuffer) } }) + if (!smartBuffer.length) { + return Buffer.alloc(1024) + } return smartBuffer.toBuffer() } diff --git a/src/pc/1.17/ChunkColumn.js b/src/pc/1.17/ChunkColumn.js index 8990c674..20ed3bde 100644 --- a/src/pc/1.17/ChunkColumn.js +++ b/src/pc/1.17/ChunkColumn.js @@ -251,6 +251,9 @@ module.exports = (Block, mcData) => { section.write(smartBuffer) } }) + if (!smartBuffer.length) { + return Buffer.alloc(1024) + } return smartBuffer.toBuffer() } diff --git a/src/pc/1.18/ChunkColumn.js b/src/pc/1.18/ChunkColumn.js index 8413f8e3..5e537e11 100644 --- a/src/pc/1.18/ChunkColumn.js +++ b/src/pc/1.18/ChunkColumn.js @@ -233,6 +233,9 @@ module.exports = (Block, mcData) => { this.sections[i].write(smartBuffer) this.biomes[i].write(smartBuffer) } + if (!smartBuffer.length) { + return Buffer.alloc(1024) + } return smartBuffer.toBuffer() } diff --git a/src/pc/1.9/ChunkColumn.js b/src/pc/1.9/ChunkColumn.js index 1de1a3c8..384dd2ae 100644 --- a/src/pc/1.9/ChunkColumn.js +++ b/src/pc/1.9/ChunkColumn.js @@ -183,6 +183,10 @@ module.exports = (Block, mcData) => { smartBuffer.writeUInt8(biome) }) + if (!smartBuffer.length) { + return Buffer.alloc(1024) + } + return smartBuffer.toBuffer() } diff --git a/types/index.d.ts b/types/index.d.ts index fbe88ea0..6cece3cd 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -34,7 +34,7 @@ declare class PCChunk extends CommonChunk { getBlockData(pos: Vec3): number getBlockLight(pos: Vec3): number getSkyLight(pos: Vec3): number - getBiome(pos: Vec3): number + getBiome(pos: Vec3): number setBlockStateId(pos: Vec3, stateId: number): number setBlockType(pos: Vec3, id: number): void setBlockData(pos: Vec3, data: Buffer): void @@ -46,7 +46,7 @@ declare class PCChunk extends CommonChunk { dumpBiomes(): Array dumpLight(): Buffer loadLight(data: Buffer, skyLightMask: number, blockLightMask: number, emptySkyLightMask?: number, emptyBlockLightMask?: number): void - loadLightParse(skyLight: Buffer[], blockLight: Buffer[], skyLightMask: number[][], blockLightMask: number[][], emptySkyLightMask: number[][], emptyBlockLightMask: number[][]): void + loadParsedLight?(skyLight: Buffer[], blockLight: Buffer[], skyLightMask: number[][], blockLightMask: number[][], emptySkyLightMask: number[][], emptyBlockLightMask: number[][]): void loadBiomes(newBiomesArray: Array): void; dump(bitMap?: number, skyLightSent?: boolean): Buffer load(data: Buffer, bitMap?: number, skyLightSent?: boolean, fullChunk?: boolean): void @@ -113,7 +113,7 @@ declare class BedrockChunk extends CommonChunk { maxCY: number // The version of the chunk column (analog to DataVersion on PCChunk) chunkVersion: number - // Holds all the block entities in the chunk, the string keys are + // Holds all the block entities in the chunk, the string keys are // the concatenated chunk column-relative position of the block. blockEntities: Record // Holds entities in the chunk, the string key is the entity ID @@ -174,7 +174,7 @@ declare class BedrockChunk extends CommonChunk { networkEncodeSubChunkNoCache(y: number): Promise /** - * + * * @param blobs The blob hashes sent in the SubChunk packet * @param blobStore The Blob Store holding the chunk data * @param payload The remaining data sent in the SubChunk packet, border blocks @@ -198,7 +198,7 @@ declare class BedrockChunk extends CommonChunk { loadHeights(map: Uint16Array): void writeHeightMap(stream): void - // + // // Section management getSection(pos): SubChunk // Returns chunk at a Y index, adjusted for chunks at negative-Y @@ -226,4 +226,4 @@ export const enum BlobType { Biomes = 1, } -export default function loader(mcVersionOrRegistry: string | Registry): typeof PCChunk | typeof BedrockChunk \ No newline at end of file +export default function loader(mcVersionOrRegistry: string | Registry): typeof PCChunk | typeof BedrockChunk