From 5ebe9859e9469c4d2110718d05c37018dce87bf8 Mon Sep 17 00:00:00 2001 From: Stephen Date: Mon, 4 Nov 2019 21:47:44 -0500 Subject: [PATCH] Moved runtime_block_states to vanilla --- ...ock_states.dat => runtime_block_states.dat | Bin .../network/mcpe/protocol/StartGamePacket.php | 10 +------ .../protocol/types/RuntimeBlockMapping.php | 25 +++++------------- 3 files changed, 7 insertions(+), 28 deletions(-) rename src/pocketmine/resources/runtime_block_states.dat => runtime_block_states.dat (100%) diff --git a/src/pocketmine/resources/runtime_block_states.dat b/runtime_block_states.dat similarity index 100% rename from src/pocketmine/resources/runtime_block_states.dat rename to runtime_block_states.dat diff --git a/src/pocketmine/network/mcpe/protocol/StartGamePacket.php b/src/pocketmine/network/mcpe/protocol/StartGamePacket.php index af0f47541b..a251112aa4 100644 --- a/src/pocketmine/network/mcpe/protocol/StartGamePacket.php +++ b/src/pocketmine/network/mcpe/protocol/StartGamePacket.php @@ -316,16 +316,8 @@ class StartGamePacket extends DataPacket{ $states->push($state); } ($stream = new NetworkLittleEndianNBTStream())->writeTag($states); - return $stream->buffer; - /*$stream = new NetworkBinaryStream(); - $stream->putUnsignedVarInt(count($table)); - foreach($table as $v){ - $stream->putString($v["name"]); - $stream->putLShort($v["data"]); - $stream->putLShort($v["legacy_id"]); - } - return $stream->getBuffer();*/ + return $stream->buffer; } private static function serializeItemTable(array $table) : string{ diff --git a/src/pocketmine/network/mcpe/protocol/types/RuntimeBlockMapping.php b/src/pocketmine/network/mcpe/protocol/types/RuntimeBlockMapping.php index 956b1d922d..bc8d7df410 100644 --- a/src/pocketmine/network/mcpe/protocol/types/RuntimeBlockMapping.php +++ b/src/pocketmine/network/mcpe/protocol/types/RuntimeBlockMapping.php @@ -53,11 +53,9 @@ final class RuntimeBlockMapping{ public static function init() : void{ $legacyIdMap = json_decode(file_get_contents(\pocketmine\RESOURCE_PATH . "vanilla/block_id_map.json"), true); - $compressedTable = json_decode(file_get_contents(\pocketmine\RESOURCE_PATH . "vanilla/required_block_states.json"), true); - try{ /** @var CompoundTag $tag */ - $tag = (new BigEndianNBTStream())->read(file_get_contents(\pocketmine\RESOURCE_PATH . "runtime_block_states.dat")); + $tag = (new BigEndianNBTStream())->read(file_get_contents(\pocketmine\RESOURCE_PATH . "vanilla/runtime_block_states.dat")); }catch(BinaryDataException $e){ throw new \RuntimeException("", 0, $e); } @@ -65,29 +63,18 @@ final class RuntimeBlockMapping{ $decompressed = []; $states = $tag->getListTag("Palette"); + /** @var CompoundTag $state */ foreach($states as $state){ - /** @var CompoundTag $state */ $block = $state->getCompoundTag("block"); + $name = $block->getString("name"); $decompressed[] = [ - "name" => $block->getString("name"), + "name" => $name, "states" => $block->getCompoundTag("states"), "data" => $state->getShort("meta"), - "legacy_id" => $state->getShort("id"), + "legacy_id" => $legacyIdMap[$name] ]; - } - /* - foreach($compressedTable as $prefix => $entries){ - foreach($entries as $shortStringId => $states){ - foreach($states as $state){ - $name = "$prefix:$shortStringId"; - $decompressed[] = [ - "name" => $name, - "data" => $state, - "legacy_id" => $legacyIdMap[$name] - ]; - } - }*/ + } self::$bedrockKnownStates = self::randomizeTable($decompressed); foreach(self::$bedrockKnownStates as $k => $obj){