13declare(strict_types=1);
15namespace pocketmine\network\mcpe\protocol;
17use pmmp\encoding\Byte;
18use pmmp\encoding\ByteBufferReader;
19use pmmp\encoding\ByteBufferWriter;
20use pmmp\encoding\VarInt;
23 public const NETWORK_ID = ProtocolInfo::POSITION_TRACKING_D_B_CLIENT_REQUEST_PACKET;
25 public const ACTION_QUERY = 0;
28 private int $trackingId;
33 public static function create(
int $action,
int $trackingId) : self{
35 $result->action = $action;
36 $result->trackingId = $trackingId;
40 public function getAction() : int{ return $this->action; }
42 public function getTrackingId() : int{ return $this->trackingId; }
45 $this->action = Byte::readUnsigned($in);
46 $this->trackingId = VarInt::readSignedInt($in);
50 Byte::writeUnsigned($out, $this->action);
51 VarInt::writeSignedInt($out, $this->trackingId);
55 return $handler->handlePositionTrackingDBClientRequest($this);
encodePayload(ByteBufferWriter $out)
static create(int $action, int $trackingId)
handle(PacketHandlerInterface $handler)
decodePayload(ByteBufferReader $in)