From f5c91ba1c920860162389eb2fcbd5871c4b6467c Mon Sep 17 00:00:00 2001 From: extremeheat Date: Wed, 24 Aug 2022 00:50:01 -0400 Subject: [PATCH] Fix nbt encoding size on single null tag NBT (#264) --- src/datatypes/minecraft.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/datatypes/minecraft.js b/src/datatypes/minecraft.js index a52d9c8..5b93bc0 100644 --- a/src/datatypes/minecraft.js +++ b/src/datatypes/minecraft.js @@ -39,17 +39,21 @@ function sizeOfNbt (value) { function readNbtLE (buffer, offset) { const r = protoLE.read(buffer, offset, 'nbt') - if (r.value.type === 'end') return { value: r.value, size: 0 } + // End size is 3 for some reason + if (r.value.type === 'end') return { value: r.value, size: 1 } return r } function writeNbtLE (value, buffer, offset) { - if (value.type === 'end') return offset + if (value.type === 'end') { + buffer.writeInt8(0, offset) + return offset + 1 + } return protoLE.write(value, buffer, offset, 'nbt') } function sizeOfNbtLE (value) { - if (value.type === 'end') return 0 + if (value.type === 'end') return 1 return protoLE.sizeOf(value, 'nbt') }