Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
LegacyClientNetworkHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/certificates/identity/PlayerAuthenticationType.h"
7#include "mc/certificates/identity/RawGameServerToken.h"
8#include "mc/client/network/ClientNetworkHandler.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/core/utility/pub_sub/Subscription.h"
11#include "mc/network/NetworkIdentifier.h"
12#include "mc/network/connection/DisconnectFailReason.h"
13#include "mc/platform/brstd/move_only_function.h"
14#include "mc/world/actor/player/SkinMemThresholds.h"
15#include "mc/world/level/LevelListener.h"
16#include "mc/world/level/dimension/DimensionDefinitionGroup.h"
17
18// auto generated forward declare list
19// clang-format off
20class Actor;
21class AddActorPacket;
24class AddPlayerPacket;
25class AnimatePacket;
26class AppPlatform;
27class Block;
30class BlockPos;
33class ClientLevel;
41class EntityOverrides;
43class HurtArmorPacket;
44class IBlockSource;
45class ILevel;
53class MobEffectPacket;
63class Player;
77class SetHealthPacket;
78class SetHudPacket;
81class SetTimePacket;
83class StartGamePacket;
91namespace Parties { class PartySystem; }
92namespace cereal { struct ReflectionCtx; }
93namespace mce { class UUID; }
94// clang-format on
95
97public:
98 // member variables
99 // NOLINTBEGIN
100 ::ll::TypedStorage<8, 16, ::DimensionDefinitionGroup> mDimensionDefinitionGroup;
101 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ILevel>> mClientLevel;
102 ::ll::TypedStorage<4, 4, int> mPendingTime;
103 ::ll::TypedStorage<8, 32, ::std::string> mServerIdentifier;
104 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::NetworkChunkInserter>> mChunkInsertQueue;
105 ::ll::TypedStorage<8, 176, ::NetworkIdentifier> mServerGuid;
106 ::ll::TypedStorage<4, 4, ::PlayerAuthenticationType> mPlayerAuthenticationType;
107 ::ll::TypedStorage<8, 32, ::RawGameServerToken> mGameServerToken;
108 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPackSettingChangeSubscriber;
109 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mNextChunkRequestDrainTime;
110 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistanceTracker;
111 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IPersonaNetworkHandlerDelegate>> mPersonaNetworkHandlerDelegate;
112 ::ll::TypedStorage<8, 24, ::SkinMemThresholds> mSkinMemThresholds;
113 ::ll::TypedStorage<1, 1, bool> mIsConnectedToApplicationLayer;
114 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::cereal::ReflectionCtx>> mCtx;
115 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::EntityOverrides>> mEntityOverrides;
116 ::ll::TypedStorage<
117 8,
118 64,
119 ::brstd::move_only_function<::std::unique_ptr<::ClientLevel>(::ClientCreateLevelArguments&&) const>>
120 mCreateLevel;
121 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::AppPlatform>> mAppPlatform;
122 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Parties::PartySystem>> mPartySystem;
123 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<bool() const>> mDidLocalPlayerCancelJoin;
124 // NOLINTEND
125
126public:
127 // prevent constructor by default
128 LegacyClientNetworkHandler();
129
130public:
131 // virtual functions
132 // NOLINTBEGIN
133 virtual ~LegacyClientNetworkHandler() /*override*/ = default;
134
135 virtual void onPlayerReady(::Player& player) /*override*/;
136
137 virtual void onConnect(::NetworkIdentifier const& hostId) /*override*/;
138
139 virtual void onUnableToConnect(
140 ::Connection::DisconnectFailReason discoReason,
141 ::std::string const& messageFromServer,
142 ::std::string const& messageBodyOverride
143 ) /*override*/;
144
145 virtual bool getIsConnectedToApplicationLayer() const /*override*/;
146
147 virtual void handle(::NetworkIdentifier const& source, ::AddActorPacket const& packet) /*override*/;
148
149 virtual void handle(::NetworkIdentifier const& source, ::AddItemActorPacket const& packet) /*override*/;
150
151 virtual void handle(::NetworkIdentifier const& source, ::AddPaintingPacket const& packet) /*override*/;
152
153 virtual void handle(::NetworkIdentifier const& source, ::AddPlayerPacket const& packet) /*override*/;
154
155 virtual void handle(::NetworkIdentifier const&, ::AnimatePacket const& packet) /*override*/;
156
157 virtual void
158 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet) /*override*/;
159
160 virtual void handle(::NetworkIdentifier const& source, ::BlockEventPacket const& packet) /*override*/;
161
162 virtual void handle(::NetworkIdentifier const& source, ::ChangeDimensionPacket const& packet) /*override*/;
163
164 virtual void handle(::NetworkIdentifier const& source, ::ContainerClosePacket const& packet) /*override*/;
165
166 virtual void handle(::NetworkIdentifier const& source, ::ContainerOpenPacket const& packet) /*override*/;
167
168 virtual void handle(::NetworkIdentifier const& source, ::ContainerRegistryCleanupPacket const& packet) /*override*/;
169
170 virtual void handle(::NetworkIdentifier const& source, ::ContainerSetDataPacket const& packet) /*override*/;
171
172 virtual void handle(::NetworkIdentifier const& source, ::DisconnectPacket const& packet) /*override*/;
173
174 virtual void handle(::NetworkIdentifier const& source, ::std::shared_ptr<::LevelChunkPacket> packet) /*override*/;
175
176 virtual void
177 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::ClientCacheMissResponsePacket> packet) /*override*/;
178
179 virtual void handle(::NetworkIdentifier const& source, ::GameRulesChangedPacket const& packet) /*override*/;
180
181 virtual void handle(::NetworkIdentifier const& source, ::HurtArmorPacket const& packet) /*override*/;
182
183 virtual void handle(::NetworkIdentifier const& source, ::InventoryContentPacket const& packet) /*override*/;
184
185 virtual void handle(::NetworkIdentifier const& source, ::InventorySlotPacket const& packet) /*override*/;
186
187 virtual void
188 handle(::NetworkIdentifier const&, ::std::shared_ptr<::InventoryTransactionPacket> packet) /*override*/;
189
190 virtual void handle(::NetworkIdentifier const& source, ::MobArmorEquipmentPacket const& packet) /*override*/;
191
192 virtual void handle(::NetworkIdentifier const&, ::MobEffectPacket const& packet) /*override*/;
193
194 virtual void
195 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::MobEquipmentPacket> packetPtr) /*override*/;
196
197 virtual void handle(::NetworkIdentifier const& source, ::MoveActorAbsolutePacket const& packet) /*override*/;
198
199 virtual void handle(::NetworkIdentifier const& source, ::MoveActorDeltaPacket const& packet) /*override*/;
200
201 virtual void handle(::NetworkIdentifier const&, ::MovementEffectPacket const& packet) /*override*/;
202
203 virtual void handle(::NetworkIdentifier const& source, ::MovePlayerPacket const& packet) /*override*/;
204
205 virtual void handle(::NetworkIdentifier const& source, ::NetworkSettingsPacket const& packet) /*override*/;
206
207 virtual void handle(::NetworkIdentifier const& source, ::NetworkStackLatencyPacket const& packet) /*override*/;
208
209 virtual void handle(::NetworkIdentifier const& source, ::PlayerHotbarPacket const& packet) /*override*/;
210
211 virtual void handle(::NetworkIdentifier const& source, ::PlayerListPacket const& packet) /*override*/;
212
213 virtual void handle(::NetworkIdentifier const& source, ::PlayerSkinPacket const& packet) /*override*/;
214
215 virtual void handle(::NetworkIdentifier const&, ::PlayerUpdateEntityOverridesPacket const& packet) /*override*/;
216
217 virtual void handle(::NetworkIdentifier const& source, ::RemoveActorPacket const& packet) /*override*/;
218
219 virtual void handle(::NetworkIdentifier const& source, ::SetActorDataPacket const& packet) /*override*/;
220
221 virtual void handle(::NetworkIdentifier const& source, ::SetActorLinkPacket const& packet) /*override*/;
222
223 virtual void handle(::NetworkIdentifier const&, ::SetActorMotionPacket const& packet) /*override*/;
224
225 virtual void handle(::NetworkIdentifier const& source, ::MotionPredictionHintsPacket const& packet) /*override*/;
226
227 virtual void handle(::NetworkIdentifier const& source, ::SetCommandsEnabledPacket const& packet) /*override*/;
228
229 virtual void handle(::NetworkIdentifier const& source, ::SetDefaultGameTypePacket const& packet) /*override*/;
230
231 virtual void handle(::NetworkIdentifier const& source, ::SetDifficultyPacket const& packet) /*override*/;
232
233 virtual void handle(::NetworkIdentifier const& source, ::SetHealthPacket const& packet) /*override*/;
234
235 virtual void handle(::NetworkIdentifier const&, ::SetPassengerOfBlockPacket const& packet) /*override*/;
236
237 virtual void handle(::NetworkIdentifier const& source, ::SetSpawnPositionPacket const& packet) /*override*/;
238
239 virtual void handle(::NetworkIdentifier const& source, ::SetTimePacket const& packet) /*override*/;
240
241 virtual void handle(::NetworkIdentifier const& source, ::SetHudPacket const& packet) /*override*/;
242
243 virtual void handle(::NetworkIdentifier const& source, ::SpawnParticleEffectPacket const& packet) /*override*/;
244
245 virtual void handle(::NetworkIdentifier const& source, ::StartGamePacket const& packet) /*override*/;
246
247 virtual void handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockPacket> packet) /*override*/;
248
249 virtual void
250 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockSyncedPacket> packet) /*override*/;
251
252 virtual void handle(::NetworkIdentifier const& source, ::CreativeContentPacket const& packet) /*override*/;
253
254 virtual void handle(::NetworkIdentifier const&, ::ItemRegistryPacket const& packet) /*override*/;
255
256 virtual void handle(::NetworkIdentifier const& source, ::DimensionDataPacket const& packet) /*override*/;
257
258 virtual void handle(::NetworkIdentifier const& source, ::UpdateAbilitiesPacket const& packet) /*override*/;
259
260 virtual void handle(::NetworkIdentifier const& source, ::UpdateAdventureSettingsPacket const& packet) /*override*/;
261
262 virtual void handle(::NetworkIdentifier const& source, ::ServerStatsPacket const& packet) /*override*/;
263
264 virtual void onTick() /*override*/;
265
266 virtual void onEntityRemoved(::Actor& entity) /*override*/;
267
268 virtual void onLevelDestruction(::std::string const&) /*override*/;
269 // NOLINTEND
270
271public:
272 // member functions
273 // NOLINTBEGIN
274 MCNAPI explicit LegacyClientNetworkHandler(::LegacyClientNetworkHandlerArguments&& args);
275
276 MCNAPI ::std::string _getServerIdentifier() const;
277
278 MCNAPI bool _shouldKeepSkinBasedOnMemory(::mce::UUID const& playerId, ::SerializedSkinRef const& skin) const;
279
280 MCNAPI void onSubClientConnect();
281 // NOLINTEND
282
283public:
284 // static functions
285 // NOLINTBEGIN
286 MCNAPI static void handleUpdateBlock(
287 ::IBlockSource& region,
288 ::BlockPos const& pos,
289 ::Block const& block,
290 int layer,
291 int updateFlags,
292 ::ActorBlockSyncMessage const* syncMsg
293 );
294 // NOLINTEND
295
296public:
297 // constructor thunks
298 // NOLINTBEGIN
300 // NOLINTEND
301
302public:
303 // virtual function thunks
304 // NOLINTBEGIN
305 MCNAPI void $onPlayerReady(::Player& player);
306
307 MCNAPI void $onConnect(::NetworkIdentifier const& hostId);
308
310 ::Connection::DisconnectFailReason discoReason,
311 ::std::string const& messageFromServer,
312 ::std::string const& messageBodyOverride
313 );
314
316
317 MCAPI void $handle(::NetworkIdentifier const& source, ::AddActorPacket const& packet);
318
319 MCAPI void $handle(::NetworkIdentifier const& source, ::AddItemActorPacket const& packet);
320
321 MCNAPI void $handle(::NetworkIdentifier const& source, ::AddPaintingPacket const& packet);
322
323 MCNAPI void $handle(::NetworkIdentifier const& source, ::AddPlayerPacket const& packet);
324
325 MCNAPI void $handle(::NetworkIdentifier const&, ::AnimatePacket const& packet);
326
327 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet);
328
329 MCAPI void $handle(::NetworkIdentifier const& source, ::BlockEventPacket const& packet);
330
331 MCNAPI void $handle(::NetworkIdentifier const& source, ::ChangeDimensionPacket const& packet);
332
333 MCAPI void $handle(::NetworkIdentifier const& source, ::ContainerClosePacket const& packet);
334
335 MCAPI void $handle(::NetworkIdentifier const& source, ::ContainerOpenPacket const& packet);
336
337 MCNAPI void $handle(::NetworkIdentifier const& source, ::ContainerRegistryCleanupPacket const& packet);
338
339 MCAPI void $handle(::NetworkIdentifier const& source, ::ContainerSetDataPacket const& packet);
340
341 MCNAPI void $handle(::NetworkIdentifier const& source, ::DisconnectPacket const& packet);
342
343 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::LevelChunkPacket> packet);
344
345 MCNAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::ClientCacheMissResponsePacket> packet);
346
347 MCAPI void $handle(::NetworkIdentifier const& source, ::GameRulesChangedPacket const& packet);
348
349 MCNAPI void $handle(::NetworkIdentifier const& source, ::HurtArmorPacket const& packet);
350
351 MCAPI void $handle(::NetworkIdentifier const& source, ::InventoryContentPacket const& packet);
352
353 MCAPI void $handle(::NetworkIdentifier const& source, ::InventorySlotPacket const& packet);
354
355 MCAPI void $handle(::NetworkIdentifier const&, ::std::shared_ptr<::InventoryTransactionPacket> packet);
356
357 MCNAPI void $handle(::NetworkIdentifier const& source, ::MobArmorEquipmentPacket const& packet);
358
359 MCNAPI void $handle(::NetworkIdentifier const&, ::MobEffectPacket const& packet);
360
361 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::MobEquipmentPacket> packetPtr);
362
363 MCAPI void $handle(::NetworkIdentifier const& source, ::MoveActorAbsolutePacket const& packet);
364
365 MCAPI void $handle(::NetworkIdentifier const& source, ::MoveActorDeltaPacket const& packet);
366
367 MCNAPI void $handle(::NetworkIdentifier const&, ::MovementEffectPacket const& packet);
368
369 MCNAPI void $handle(::NetworkIdentifier const& source, ::MovePlayerPacket const& packet);
370
371 MCNAPI void $handle(::NetworkIdentifier const& source, ::NetworkSettingsPacket const& packet);
372
373 MCNAPI void $handle(::NetworkIdentifier const& source, ::NetworkStackLatencyPacket const& packet);
374
375 MCAPI void $handle(::NetworkIdentifier const& source, ::PlayerHotbarPacket const& packet);
376
377 MCNAPI void $handle(::NetworkIdentifier const& source, ::PlayerListPacket const& packet);
378
379 MCNAPI void $handle(::NetworkIdentifier const& source, ::PlayerSkinPacket const& packet);
380
381 MCNAPI void $handle(::NetworkIdentifier const&, ::PlayerUpdateEntityOverridesPacket const& packet);
382
383 MCAPI void $handle(::NetworkIdentifier const& source, ::RemoveActorPacket const& packet);
384
385 MCAPI void $handle(::NetworkIdentifier const& source, ::SetActorDataPacket const& packet);
386
387 MCNAPI void $handle(::NetworkIdentifier const& source, ::SetActorLinkPacket const& packet);
388
389 MCNAPI void $handle(::NetworkIdentifier const&, ::SetActorMotionPacket const& packet);
390
391 MCNAPI void $handle(::NetworkIdentifier const& source, ::MotionPredictionHintsPacket const& packet);
392
393 MCNAPI void $handle(::NetworkIdentifier const& source, ::SetCommandsEnabledPacket const& packet);
394
395 MCNAPI void $handle(::NetworkIdentifier const& source, ::SetDefaultGameTypePacket const& packet);
396
397 MCAPI void $handle(::NetworkIdentifier const& source, ::SetDifficultyPacket const& packet);
398
399 MCNAPI void $handle(::NetworkIdentifier const& source, ::SetHealthPacket const& packet);
400
401 MCNAPI void $handle(::NetworkIdentifier const&, ::SetPassengerOfBlockPacket const& packet);
402
403 MCNAPI void $handle(::NetworkIdentifier const& source, ::SetSpawnPositionPacket const& packet);
404
405 MCAPI void $handle(::NetworkIdentifier const& source, ::SetTimePacket const& packet);
406
407 MCNAPI void $handle(::NetworkIdentifier const& source, ::SetHudPacket const& packet);
408
409 MCNAPI void $handle(::NetworkIdentifier const& source, ::SpawnParticleEffectPacket const& packet);
410
411 MCAPI void $handle(::NetworkIdentifier const& source, ::StartGamePacket const& packet);
412
413 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockPacket> packet);
414
415 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockSyncedPacket> packet);
416
417 MCAPI void $handle(::NetworkIdentifier const& source, ::CreativeContentPacket const& packet);
418
419 MCNAPI void $handle(::NetworkIdentifier const&, ::ItemRegistryPacket const& packet);
420
421 MCNAPI void $handle(::NetworkIdentifier const& source, ::DimensionDataPacket const& packet);
422
423 MCNAPI void $handle(::NetworkIdentifier const& source, ::UpdateAbilitiesPacket const& packet);
424
425 MCNAPI void $handle(::NetworkIdentifier const& source, ::UpdateAdventureSettingsPacket const& packet);
426
427 MCNAPI void $handle(::NetworkIdentifier const& source, ::ServerStatsPacket const& packet);
428
429 MCNAPI void $onTick();
430
431 MCNAPI void $onEntityRemoved(::Actor& entity);
432
433 MCNAPI void $onLevelDestruction(::std::string const&);
434 // NOLINTEND
435};
Definition Actor.h:116
Definition AddActorPacket.h:20
Definition AddItemActorPacket.h:19
Definition AddPaintingPacket.h:20
Definition AddPlayerPacket.h:20
Definition AnimatePacket.h:19
Definition AppPlatform.h:79
Definition BlockActorDataPacket.h:19
Definition BlockEventPacket.h:19
Definition BlockPos.h:14
Definition Block.h:42
Definition ChangeDimensionPacket.h:19
Definition ClientCacheMissResponsePacket.h:19
Definition ClientLevel.h:5
Definition ClientNetworkHandler.h:5
Definition ContainerClosePacket.h:19
Definition ContainerOpenPacket.h:19
Definition ContainerRegistryCleanupPacket.h:19
Definition ContainerSetDataPacket.h:19
Definition CreativeContentPacket.h:19
Definition DimensionDataPacket.h:19
Definition DisconnectPacket.h:19
Definition EntityOverrides.h:8
Definition GameRulesChangedPacket.h:19
Definition HurtArmorPacket.h:19
Definition IBlockSource.h:39
Definition ILevel.h:223
Definition IPersonaNetworkHandlerDelegate.h:5
Definition InventoryContentPacket.h:19
Definition InventorySlotPacket.h:19
Definition InventoryTransactionPacket.h:19
Definition ItemRegistryPacket.h:19
Definition LegacyClientNetworkHandler.h:5
MCAPI bool _shouldKeepSkinBasedOnMemory(::mce::UUID const &playerId, ::SerializedSkinRef const &skin) const
MCAPI void * $ctor(::LegacyClientNetworkHandlerArguments &&args)
MCAPI void onSubClientConnect()
static MCAPI void handleUpdateBlock(::IBlockSource &region, ::BlockPos const &pos, ::Block const &block, int layer, int updateFlags, ::ActorBlockSyncMessage const *syncMsg)
MCAPI void $onUnableToConnect(::Connection::DisconnectFailReason discoReason, ::std::string const &messageFromServer, ::std::string const &messageBodyOverride)
MCAPI void $onPlayerReady(::Player &player)
MCAPI bool $getIsConnectedToApplicationLayer() const
MCAPI void $onEntityRemoved(::Actor &entity)
MCAPI void $onLevelDestruction(::std::string const &)
MCAPI void $onConnect(::NetworkIdentifier const &hostId)
MCAPI::std::string _getServerIdentifier() const
Definition LevelChunkPacket.h:19
Definition LevelListener.h:28
Definition MobArmorEquipmentPacket.h:19
Definition MobEffectPacket.h:19
Definition MobEquipmentPacket.h:19
Definition MotionPredictionHintsPacket.h:19
Definition MoveActorAbsolutePacket.h:19
Definition MoveActorDeltaPacket.h:19
Definition MovePlayerPacket.h:19
Definition MovementEffectPacket.h:19
Definition NetworkChunkInserter.h:5
Definition NetworkIdentifier.h:10
Definition NetworkSettingsPacket.h:19
Definition NetworkStackLatencyPacket.h:19
Definition PartySystem.h:7
Definition PlayerHotbarPacket.h:19
Definition PlayerListPacket.h:19
Definition PlayerSkinPacket.h:19
Definition PlayerUpdateEntityOverridesPacket.h:19
Definition Player.h:131
Definition RemoveActorPacket.h:19
Definition SerializedSkinRef.h:26
Definition ServerStatsPacket.h:19
Definition SetActorDataPacket.h:23
Definition SetActorLinkPacket.h:19
Definition SetActorMotionPacket.h:19
Definition SetCommandsEnabledPacket.h:19
Definition SetDefaultGameTypePacket.h:19
Definition SetDifficultyPacket.h:19
Definition SetHealthPacket.h:19
Definition SetHudPacket.h:19
Definition SetPassengerOfBlockPacket.h:19
Definition SetSpawnPositionPacket.h:19
Definition SetTimePacket.h:19
Definition SpawnParticleEffectPacket.h:19
Definition StartGamePacket.h:19
Definition UpdateAbilitiesPacket.h:20
Definition UpdateAdventureSettingsPacket.h:19
Definition UpdateBlockPacket.h:19
Definition UpdateBlockSyncedPacket.h:19
Definition UUID.h:8
STL namespace.
Definition ActorBlockSyncMessage.h:8
Definition ClientCreateLevelArguments.h:5
Definition LegacyClientNetworkHandlerArguments.h:5
Definition ReflectionCtx.h:11