From bc3dca4736a07980cf343983074ee846cc41a6d1 Mon Sep 17 00:00:00 2001 From: Intyre Date: Tue, 26 Jan 2016 22:01:35 +0100 Subject: [PATCH] Support for 0.14.0.1 --- src/pocketmine/PocketMine.php | 4 ++-- src/pocketmine/network/Network.php | 4 ++-- src/pocketmine/network/RakLibInterface.php | 8 ++++---- src/pocketmine/network/protocol/Info.php | 14 +++++++++----- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/pocketmine/PocketMine.php b/src/pocketmine/PocketMine.php index 4802b1cee..df1e2a058 100644 --- a/src/pocketmine/PocketMine.php +++ b/src/pocketmine/PocketMine.php @@ -75,8 +75,8 @@ namespace pocketmine { const VERSION = "1.6dev"; const API_VERSION = "2.0.0"; const CODENAME = "[REDACTED]"; - const MINECRAFT_VERSION = "v0.13.1 alpha"; - const MINECRAFT_VERSION_NETWORK = "0.13.1"; + const MINECRAFT_VERSION = "v0.14.0.1 alpha"; + const MINECRAFT_VERSION_NETWORK = "0.14.0.1"; /* * Startup code. Do not look at it, it may harm you. diff --git a/src/pocketmine/network/Network.php b/src/pocketmine/network/Network.php index 8099bd32f..6da9a47c0 100644 --- a/src/pocketmine/network/Network.php +++ b/src/pocketmine/network/Network.php @@ -218,12 +218,12 @@ class Network{ $buf = substr($str, $offset, $pkLen); $offset += $pkLen; - if(($pk = $this->getPacket(ord($buf{0}))) !== null){ + if(($pk = $this->getPacket(ord($buf{1}))) !== null){ // #blameshoghi if($pk::NETWORK_ID === Info::BATCH_PACKET){ throw new \InvalidStateException("Invalid BatchPacket inside BatchPacket"); } - $pk->setBuffer($buf, 1); + $pk->setBuffer($buf, 2); // #blameshoghi $pk->decode(); $p->handleDataPacket($pk); diff --git a/src/pocketmine/network/RakLibInterface.php b/src/pocketmine/network/RakLibInterface.php index 16dc01359..de195a44e 100644 --- a/src/pocketmine/network/RakLibInterface.php +++ b/src/pocketmine/network/RakLibInterface.php @@ -199,7 +199,7 @@ class RakLibInterface implements ServerInstance, AdvancedSourceInterface{ if(!isset($packet->__encapsulatedPacket)){ $packet->__encapsulatedPacket = new CachedEncapsulatedPacket; $packet->__encapsulatedPacket->identifierACK = null; - $packet->__encapsulatedPacket->buffer = $packet->buffer; + $packet->__encapsulatedPacket->buffer = chr(0x8e) . $packet->buffer; // #blameshoghi $packet->__encapsulatedPacket->reliability = 3; $packet->__encapsulatedPacket->orderChannel = 0; } @@ -215,7 +215,7 @@ class RakLibInterface implements ServerInstance, AdvancedSourceInterface{ if($pk === null){ $pk = new EncapsulatedPacket(); - $pk->buffer = $packet->buffer; + $pk->buffer = chr(0x8e) . $packet->buffer; // #blameshoghi $packet->reliability = 3; $packet->orderChannel = 0; @@ -233,12 +233,12 @@ class RakLibInterface implements ServerInstance, AdvancedSourceInterface{ } private function getPacket($buffer){ - $pid = ord($buffer{0}); + $pid = ord($buffer{1}); // #blameshoghi if(($data = $this->network->getPacket($pid)) === null){ return null; } - $data->setBuffer($buffer, 1); + $data->setBuffer($buffer, 2); // #blameshoghi return $data; } diff --git a/src/pocketmine/network/protocol/Info.php b/src/pocketmine/network/protocol/Info.php index 3f0bdd7d6..bcc627ba9 100644 --- a/src/pocketmine/network/protocol/Info.php +++ b/src/pocketmine/network/protocol/Info.php @@ -30,7 +30,7 @@ interface Info{ /** * Actual Minecraft: PE protocol version */ - const CURRENT_PROTOCOL = 38; + const CURRENT_PROTOCOL = 41; const LOGIN_PACKET = 0x8f; const PLAY_STATUS_PACKET = 0x90; @@ -79,14 +79,18 @@ interface Info{ const CRAFTING_EVENT_PACKET = 0xbb; const ADVENTURE_SETTINGS_PACKET = 0xbc; const BLOCK_ENTITY_DATA_PACKET = 0xbd; - //const PLAYER_INPUT_PACKET = 0xbe; + // const PLAYER_INPUT_PACKET = 0xbe; const FULL_CHUNK_DATA_PACKET = 0xbf; const SET_DIFFICULTY_PACKET = 0xc0; - //const CHANGE_DIMENSION_PACKET = 0xc1; + // const CHANGE_DIMENSION_PACKET = 0xc1; const SET_PLAYER_GAMETYPE_PACKET = 0xc2; const PLAYER_LIST_PACKET = 0xc3; - //const TELEMETRY_EVENT_PACKET = 0xc4; - //const SPAWN_EXPERIENCE_ORB_PACKET = 0xc5 + // const TELEMETRY_EVENT_PACKET = 0xc4; + // const SPAWN_EXPERIENCE_ORB_PACKET = 0xc5 + // const CLIENTBOUND_MAP_ITEM_DATA_PACKET = 0xc6; + // const MAP_INFO_REQUEST_PACKET = 0xc7; + // const REQUEST_CHUNK_RADIUS_PACKET = 0xc8; + // const CHUNK_RADIUS_UPDATE_PACKET = 0xc9; }