From cdcafb1e75edfc1c771104297e94cccfb86f7174 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 19 Jul 2018 15:19:33 +0100 Subject: [PATCH] PacketPool: Properly deal with varint packet IDs now that BatchPacket is gone --- src/pocketmine/network/mcpe/protocol/PacketPool.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/network/mcpe/protocol/PacketPool.php b/src/pocketmine/network/mcpe/protocol/PacketPool.php index d27545f7c..d7facb48a 100644 --- a/src/pocketmine/network/mcpe/protocol/PacketPool.php +++ b/src/pocketmine/network/mcpe/protocol/PacketPool.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\network\mcpe\protocol; +use pocketmine\utils\Binary; + class PacketPool{ /** @var \SplFixedArray */ protected static $pool = null; @@ -165,8 +167,9 @@ class PacketPool{ * @return DataPacket */ public static function getPacket(string $buffer) : DataPacket{ - $pk = static::getPacketById(ord($buffer{0})); - $pk->setBuffer($buffer); + $offset = 0; + $pk = static::getPacketById(Binary::readUnsignedVarInt($buffer, $offset)); + $pk->setBuffer($buffer, $offset); return $pk; }