13declare(strict_types=1);
15namespace pocketmine\network\mcpe\protocol;
24 public const NETWORK_ID = ProtocolInfo::LEVEL_EVENT_GENERIC_PACKET;
27 private Tag $eventData;
32 public static function create(
int $eventId,
Tag $eventData) : self{
34 $result->eventId = $eventId;
35 $result->eventData = $eventData;
39 public function getEventId() : int{
40 return $this->eventId;
43 public function getEventData() : Tag{
44 return $this->eventData;
48 $this->eventId = $in->getVarInt();
49 $offset = $in->getOffset();
51 $this->eventData = (
new NetworkNbtSerializer())->readHeadless($in->getBuffer(), NBT::TAG_Compound, $offset);
53 throw PacketDecodeException::wrap($e);
55 $in->setOffset($offset);
59 $out->putVarInt($this->eventId);
64 return $handler->handleLevelEventGeneric($this);
static create(int $eventId, Tag $eventData)
handle(PacketHandlerInterface $handler)
encodePayload(PacketSerializer $out)
decodePayload(PacketSerializer $in)