diff --git a/composer.lock b/composer.lock index eda54ceca..77276aac6 100644 --- a/composer.lock +++ b/composer.lock @@ -437,12 +437,12 @@ "source": { "type": "git", "url": "https://github.com/pmmp/NBT.git", - "reference": "b4746c1d3c0f465dc4406754018f96b113ec4170" + "reference": "221212bd1991430a74374295261795a9a13875bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pmmp/NBT/zipball/b4746c1d3c0f465dc4406754018f96b113ec4170", - "reference": "b4746c1d3c0f465dc4406754018f96b113ec4170", + "url": "https://api.github.com/repos/pmmp/NBT/zipball/221212bd1991430a74374295261795a9a13875bb", + "reference": "221212bd1991430a74374295261795a9a13875bb", "shasum": "" }, "require": { @@ -470,7 +470,7 @@ "source": "https://github.com/pmmp/NBT/tree/master", "issues": "https://github.com/pmmp/NBT/issues" }, - "time": "2019-11-29T21:29:01+00:00" + "time": "2019-12-09T11:21:10+00:00" }, { "name": "pocketmine/raklib", diff --git a/src/Server.php b/src/Server.php index 0cdb5ec8c..bb0f07ee9 100644 --- a/src/Server.php +++ b/src/Server.php @@ -614,7 +614,7 @@ class Server{ if(file_exists($path . "$name.dat")){ try{ - return (new BigEndianNbtSerializer())->readCompressed(file_get_contents($path . "$name.dat"))->getTag(); + return (new BigEndianNbtSerializer())->readCompressed(file_get_contents($path . "$name.dat"))->mustGetCompoundTag(); }catch(NbtDataException $e){ //zlib decode error / corrupt data rename($path . "$name.dat", $path . "$name.dat.bak"); $this->logger->error($this->getLanguage()->translateString("pocketmine.data.playerCorrupted", [$name])); diff --git a/src/network/mcpe/handler/InGamePacketHandler.php b/src/network/mcpe/handler/InGamePacketHandler.php index f45cdab1e..a69d3f7bf 100644 --- a/src/network/mcpe/handler/InGamePacketHandler.php +++ b/src/network/mcpe/handler/InGamePacketHandler.php @@ -518,7 +518,7 @@ class InGamePacketHandler extends PacketHandler{ $block = $this->player->getLocation()->getWorld()->getBlock($pos); try{ $offset = 0; - $nbt = (new NetworkNbtSerializer())->read($packet->namedtag, $offset, 512)->getTag(); + $nbt = (new NetworkNbtSerializer())->read($packet->namedtag, $offset, 512)->mustGetCompoundTag(); }catch(NbtDataException $e){ throw new BadPacketException($e->getMessage(), 0, $e); } diff --git a/src/network/mcpe/serializer/NetworkBinaryStream.php b/src/network/mcpe/serializer/NetworkBinaryStream.php index 27b4c5153..aca0d1b75 100644 --- a/src/network/mcpe/serializer/NetworkBinaryStream.php +++ b/src/network/mcpe/serializer/NetworkBinaryStream.php @@ -120,7 +120,7 @@ class NetworkBinaryStream extends BinaryStream{ throw new BadPacketException("Unexpected NBT count $c"); } try{ - $compound = (new NetworkNbtSerializer())->read($this->buffer, $this->offset, 512)->getTag(); + $compound = (new NetworkNbtSerializer())->read($this->buffer, $this->offset, 512)->mustGetCompoundTag(); }catch(NbtDataException $e){ throw new BadPacketException($e->getMessage(), 0, $e); } diff --git a/src/world/format/io/data/BedrockWorldData.php b/src/world/format/io/data/BedrockWorldData.php index 6e04c434d..a20dd2cc4 100644 --- a/src/world/format/io/data/BedrockWorldData.php +++ b/src/world/format/io/data/BedrockWorldData.php @@ -108,7 +108,7 @@ class BedrockWorldData extends BaseNbtWorldData{ protected function load() : CompoundTag{ $nbt = new LittleEndianNbtSerializer(); try{ - $worldData = $nbt->read(substr(file_get_contents($this->dataPath), 8))->getTag(); + $worldData = $nbt->read(substr(file_get_contents($this->dataPath), 8))->mustGetCompoundTag(); }catch(NbtDataException $e){ throw new CorruptedWorldException($e->getMessage(), 0, $e); } diff --git a/src/world/format/io/data/JavaWorldData.php b/src/world/format/io/data/JavaWorldData.php index 2b142a648..f3b509604 100644 --- a/src/world/format/io/data/JavaWorldData.php +++ b/src/world/format/io/data/JavaWorldData.php @@ -72,7 +72,7 @@ class JavaWorldData extends BaseNbtWorldData{ protected function load() : CompoundTag{ $nbt = new BigEndianNbtSerializer(); try{ - $worldData = $nbt->readCompressed(file_get_contents($this->dataPath))->getTag(); + $worldData = $nbt->readCompressed(file_get_contents($this->dataPath))->mustGetCompoundTag(); }catch(NbtDataException $e){ throw new CorruptedWorldException($e->getMessage(), 0, $e); } diff --git a/src/world/format/io/leveldb/LevelDB.php b/src/world/format/io/leveldb/LevelDB.php index 0c7c06db3..96690ae0d 100644 --- a/src/world/format/io/leveldb/LevelDB.php +++ b/src/world/format/io/leveldb/LevelDB.php @@ -172,7 +172,7 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ $palette = []; for($i = 0, $paletteSize = $stream->getLInt(); $i < $paletteSize; ++$i){ $offset = $stream->getOffset(); - $tag = $nbt->read($stream->getBuffer(), $offset)->getTag(); + $tag = $nbt->read($stream->getBuffer(), $offset)->mustGetCompoundTag(); $stream->setOffset($offset); $id = $stringToLegacyId[$tag->getString("name")] ?? BlockLegacyIds::INFO_UPDATE; @@ -392,7 +392,7 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ $entities = []; if(($entityData = $this->db->get($index . self::TAG_ENTITY)) !== false and $entityData !== ""){ try{ - $entities = array_map(function(TreeRoot $root) : CompoundTag{ return $root->getTag(); }, $nbt->readMultiple($entityData)); + $entities = array_map(function(TreeRoot $root) : CompoundTag{ return $root->mustGetCompoundTag(); }, $nbt->readMultiple($entityData)); }catch(NbtDataException $e){ throw new CorruptedChunkException($e->getMessage(), 0, $e); } @@ -402,7 +402,7 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ $tiles = []; if(($tileData = $this->db->get($index . self::TAG_BLOCK_ENTITY)) !== false and $tileData !== ""){ try{ - $tiles = array_map(function(TreeRoot $root) : CompoundTag{ return $root->getTag(); }, $nbt->readMultiple($tileData)); + $tiles = array_map(function(TreeRoot $root) : CompoundTag{ return $root->mustGetCompoundTag(); }, $nbt->readMultiple($tileData)); }catch(NbtDataException $e){ throw new CorruptedChunkException($e->getMessage(), 0, $e); } diff --git a/src/world/format/io/region/LegacyAnvilChunkTrait.php b/src/world/format/io/region/LegacyAnvilChunkTrait.php index 18ae27719..0266c0bb1 100644 --- a/src/world/format/io/region/LegacyAnvilChunkTrait.php +++ b/src/world/format/io/region/LegacyAnvilChunkTrait.php @@ -57,7 +57,7 @@ trait LegacyAnvilChunkTrait{ protected function deserializeChunk(string $data) : Chunk{ $nbt = new BigEndianNbtSerializer(); try{ - $chunk = $nbt->readCompressed($data)->getTag(); + $chunk = $nbt->readCompressed($data)->mustGetCompoundTag(); }catch(NbtDataException $e){ throw new CorruptedChunkException($e->getMessage(), 0, $e); } diff --git a/src/world/format/io/region/McRegion.php b/src/world/format/io/region/McRegion.php index a695a3372..34e18cfad 100644 --- a/src/world/format/io/region/McRegion.php +++ b/src/world/format/io/region/McRegion.php @@ -57,7 +57,7 @@ class McRegion extends RegionWorldProvider{ protected function deserializeChunk(string $data) : Chunk{ $nbt = new BigEndianNbtSerializer(); try{ - $chunk = $nbt->readCompressed($data)->getTag(); + $chunk = $nbt->readCompressed($data)->mustGetCompoundTag(); }catch(NbtDataException $e){ throw new CorruptedChunkException($e->getMessage(), 0, $e); }