use pocketmine\network\mcpe\NetworkSession; class MovePlayerPacket extends DataPacket{ const NETWORK_ID = ProtocolInfo::MOVE_PLAYER_PACKET; const MODE_NORMAL = 0; const MODE_RESET = 1; const MODE_ROTATION = 2; public $eid; public $x; public $y; public $z; public $yaw; public $bodyYaw; public $pitch; public $mode = self::MODE_NORMAL; public $onGround; public function decode(){ $this->eid = $this->getEntityRuntimeId(); $this->getVector3f($this->x, $this->y, $this->z); $this->pitch = $this->getLFloat(); $this->yaw = $this->getLFloat(); $this->bodyYaw = $this->getLFloat(); $this->mode = $this->getByte(); $this->onGround = $this->getBool(); } public function encode(){ $this->reset(); $this->putEntityRuntimeId($this->eid); $this->putVector3f($this->x, $this->y, $this->z); $this->putLFloat($this->pitch); $this->putLFloat($this->yaw); $this->putLFloat($this->bodyYaw); //TODO $this->putByte($this->mode); $this->putBool($this->onGround); } public function handle(NetworkSession $session) : bool{ return $session->handleMovePlayer($this); } }