From 5056754ceab65823a53d0c871f3a0883831a5aa5 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 31 May 2020 20:17:42 +0100 Subject: [PATCH] NetworkBinaryStream: do not round vectors directly on reading fixes #3199 --- src/pocketmine/Player.php | 2 +- src/pocketmine/network/mcpe/NetworkBinaryStream.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 23bc3801b2..de0d99e472 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2238,7 +2238,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ } public function handleMovePlayer(MovePlayerPacket $packet) : bool{ - $newPos = $packet->position->subtract(0, $this->baseOffset, 0); + $newPos = $packet->position->round(4)->subtract(0, $this->baseOffset, 0); if($this->isTeleporting and $newPos->distanceSquared($this) > 1){ //Tolerate up to 1 block to avoid problems with client-sided physics when spawning in blocks $this->sendPosition($this, null, null, MovePlayerPacket::MODE_RESET); diff --git a/src/pocketmine/network/mcpe/NetworkBinaryStream.php b/src/pocketmine/network/mcpe/NetworkBinaryStream.php index fdef686754..ccee8fe54c 100644 --- a/src/pocketmine/network/mcpe/NetworkBinaryStream.php +++ b/src/pocketmine/network/mcpe/NetworkBinaryStream.php @@ -547,9 +547,9 @@ class NetworkBinaryStream extends BinaryStream{ */ public function getVector3() : Vector3{ return new Vector3( - $this->getRoundedLFloat(4), - $this->getRoundedLFloat(4), - $this->getRoundedLFloat(4) + $this->getLFloat(), + $this->getLFloat(), + $this->getLFloat() ); }