diff --git a/src/pocketmine/nbt/NBT.php b/src/pocketmine/nbt/NBT.php index 31f87215f..5b4f3bd6f 100644 --- a/src/pocketmine/nbt/NBT.php +++ b/src/pocketmine/nbt/NBT.php @@ -285,6 +285,10 @@ class NBT{ return $this->endianness === self::BIG_ENDIAN ? Binary::readShort($this->get(2)) : Binary::readLShort($this->get(2)); } + public function getSignedShort() : int{ + return $this->endianness === self::BIG_ENDIAN ? Binary::readSignedShort($this->get(2)) : Binary::readSignedLShort($this->get(2)); + } + public function putShort($v){ $this->buffer .= $this->endianness === self::BIG_ENDIAN ? Binary::writeShort($v) : Binary::writeLShort($v); } diff --git a/src/pocketmine/nbt/tag/ShortTag.php b/src/pocketmine/nbt/tag/ShortTag.php index 22d5d6244..2c833e804 100644 --- a/src/pocketmine/nbt/tag/ShortTag.php +++ b/src/pocketmine/nbt/tag/ShortTag.php @@ -44,7 +44,7 @@ class ShortTag extends NamedTag{ } public function read(NBT $nbt, bool $network = false){ - $this->value = $nbt->getShort(); + $this->value = $nbt->getSignedShort(); } public function write(NBT $nbt, bool $network = false){