30 [[nodiscard]]
constexpr explicit Packet(
31 PacketPriority priority = PacketPriority::MediumPriority,
32 NetworkPeer::Reliability reliability = NetworkPeer::Reliability::ReliableOrdered,
33 SubClientId clientSubId = SubClientId::PrimaryClient,
36 : mPriority(priority),
37 mReliability(reliability),
38 mSenderSubId(clientSubId),
39 mCompressible(compress ? Compressibility::Compressible : Compressibility::Incompressible) {}
81 LLAPI
void sendToServer()
const;
86 ::PacketPriority mPriority;
87 ::NetworkPeer::Reliability mReliability;
88 ::SubClientId mSenderSubId;
90 ::std::chrono::steady_clock::time_point mReceiveTimepoint;
92 ::Compressibility mCompressible;
100 virtual ::MinecraftPacketIds getId()
const = 0;
102 virtual ::std::string getName()
const = 0;
104 virtual uint64 getMaxSize()
const;
106 virtual ::Bedrock::Result<void> checkSize(uint64 packetSize,
bool receiverIsServer)
const;
108 virtual void writeWithSerializationMode(
111 ::std::optional<::SerializationMode>
118 virtual ::Bedrock::Result<void>
123 virtual bool disallowBatching()
const;
125 virtual bool isValid()
const;
127 virtual ::SerializationMode getSerializationMode()
const;
129 virtual void setSerializationMode(::SerializationMode);
131 virtual ::std::string toString()
const;
133 virtual ::Bedrock::Result<void>
142 MCAPI ::Bedrock::Result<void> readNoHeader(
145 ::SubClientId
const& subid
158 MCFOLD uint64 $getMaxSize()
const;
160 MCAPI ::Bedrock::Result<void> $checkSize(uint64 packetSize,
bool receiverIsServer)
const;
162 MCAPI
void $writeWithSerializationMode(
165 ::std::optional<::SerializationMode>
170 MCFOLD ::Bedrock::Result<void>
175 MCFOLD
bool $disallowBatching()
const;
177 MCFOLD
bool $isValid()
const;
179 MCFOLD ::SerializationMode $getSerializationMode()
const;
181 MCFOLD
void $setSerializationMode(::SerializationMode);
183 MCFOLD ::std::string $toString()
const;
185 MCFOLD ::Bedrock::Result<void>
194 MCAPI
static void** $vftable();