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