3#include "mc/_HeaderOutputPredefine.h"
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"
91namespace mce {
class UUID; }
98 ::ll::TypedStorage<8, 16, ::DimensionDefinitionGroup> mDimensionDefinitionGroup;
99 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ILevel>> mMultiPlayerLevel;
100 ::ll::TypedStorage<4, 4, int> mPendingTime;
101 ::ll::TypedStorage<8, 32, ::std::string> mServerIdentifier;
102 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::NetworkChunkInserter>> mChunkInsertQueue;
103 ::ll::TypedStorage<8, 176, ::NetworkIdentifier> mServerGuid;
104 ::ll::TypedStorage<4, 4, ::PlayerAuthenticationType> mPlayerAuthenticationType;
105 ::ll::TypedStorage<8, 32, ::RawGameServerToken> mGameServerToken;
106 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPackSettingChangeSubscriber;
107 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mNextChunkRequestDrainTime;
108 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistanceTracker;
109 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IPersonaNetworkHandlerDelegate>> mPersonaNetworkHandlerDelegate;
110 ::ll::TypedStorage<8, 24, ::SkinMemThresholds> mSkinMemThresholds;
111 ::ll::TypedStorage<1, 1, bool> mIsConnectedToApplicationLayer;
112 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::cereal::ReflectionCtx>> mCtx;
113 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::EntityOverrides>> mEntityOverrides;
117 ::brstd::move_only_function<::std::unique_ptr<::MultiPlayerLevel>(::ClientCreateLevelArguments&&) const>>
119 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::AppPlatform>> mAppPlatform;
124 LegacyClientNetworkHandler();
129 virtual ~LegacyClientNetworkHandler() ;
131 virtual
void onPlayerReady(::Player& player) ;
133 virtual
void onConnect(::NetworkIdentifier const& hostId) ;
135 virtual
void onUnableToConnect(
136 ::Connection::DisconnectFailReason discoReason,
137 ::std::
string const& messageFromServer,
138 ::std::
string const& messageBodyOverride
141 virtual
bool getIsConnectedToApplicationLayer() const ;
143 virtual
void handle(::NetworkIdentifier const& source, ::AddActorPacket const& packet) ;
145 virtual
void handle(::NetworkIdentifier const& packet, ::AddItemActorPacket const&) ;
147 virtual
void handle(::NetworkIdentifier const& packet, ::AddPaintingPacket const&) ;
149 virtual
void handle(::NetworkIdentifier const& source, ::AddPlayerPacket const& packet) ;
151 virtual
void handle(::NetworkIdentifier const& packet, ::AnimatePacket const&) ;
154 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet) ;
156 virtual
void handle(::NetworkIdentifier const& source, ::BlockEventPacket const& packet) ;
158 virtual
void handle(::NetworkIdentifier const& packet, ::ChangeDimensionPacket const&) ;
160 virtual
void handle(::NetworkIdentifier const& packet, ::ContainerClosePacket const&) ;
162 virtual
void handle(::NetworkIdentifier const& source, ::ContainerOpenPacket const& packet) ;
164 virtual
void handle(::NetworkIdentifier const& packet, ::ContainerRegistryCleanupPacket const&) ;
166 virtual
void handle(::NetworkIdentifier const& packet, ::ContainerSetDataPacket const&) ;
168 virtual
void handle(::NetworkIdentifier const& source, ::DisconnectPacket const& packet) ;
170 virtual
void handle(::NetworkIdentifier const& source, ::std::shared_ptr<::LevelChunkPacket> packet) ;
173 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::ClientCacheMissResponsePacket> packet) ;
175 virtual
void handle(::NetworkIdentifier const& packet, ::GameRulesChangedPacket const&) ;
177 virtual
void handle(::NetworkIdentifier const& packet, ::HurtArmorPacket const&) ;
179 virtual
void handle(::NetworkIdentifier const& packet, ::InventoryContentPacket const&) ;
181 virtual
void handle(::NetworkIdentifier const& packet, ::InventorySlotPacket const&) ;
184 handle(::NetworkIdentifier const& packet, ::std::shared_ptr<::InventoryTransactionPacket>) ;
186 virtual
void handle(::NetworkIdentifier const& packet, ::MobArmorEquipmentPacket const&) ;
188 virtual
void handle(::NetworkIdentifier const& packet, ::MobEffectPacket const&) ;
190 virtual
void handle(::NetworkIdentifier const& packetPtr, ::std::shared_ptr<::MobEquipmentPacket>) ;
192 virtual
void handle(::NetworkIdentifier const& packet, ::MoveActorAbsolutePacket const&) ;
194 virtual
void handle(::NetworkIdentifier const& packet, ::MoveActorDeltaPacket const&) ;
196 virtual
void handle(::NetworkIdentifier const& packet, ::MovementEffectPacket const&) ;
198 virtual
void handle(::NetworkIdentifier const& packet, ::MovePlayerPacket const&) ;
200 virtual
void handle(::NetworkIdentifier const& source, ::NetworkSettingsPacket const& packet) ;
202 virtual
void handle(::NetworkIdentifier const& packet, ::NetworkStackLatencyPacket const&) ;
204 virtual
void handle(::NetworkIdentifier const& packet, ::PlayerHotbarPacket const&) ;
206 virtual
void handle(::NetworkIdentifier const& packet, ::PlayerListPacket const&) ;
208 virtual
void handle(::NetworkIdentifier const& packet, ::PlayerSkinPacket const&) ;
210 virtual
void handle(::NetworkIdentifier const& packet, ::PlayerUpdateEntityOverridesPacket const&) ;
212 virtual
void handle(::NetworkIdentifier const& packet, ::RemoveActorPacket const&) ;
214 virtual
void handle(::NetworkIdentifier const& packet, ::SetActorDataPacket const&) ;
216 virtual
void handle(::NetworkIdentifier const& packet, ::SetActorLinkPacket const&) ;
218 virtual
void handle(::NetworkIdentifier const& packet, ::SetActorMotionPacket const&) ;
220 virtual
void handle(::NetworkIdentifier const& packet, ::MotionPredictionHintsPacket const&) ;
222 virtual
void handle(::NetworkIdentifier const& packet, ::SetCommandsEnabledPacket const&) ;
224 virtual
void handle(::NetworkIdentifier const& packet, ::SetDefaultGameTypePacket const&) ;
226 virtual
void handle(::NetworkIdentifier const& packet, ::SetDifficultyPacket const&) ;
228 virtual
void handle(::NetworkIdentifier const& packet, ::SetHealthPacket const&) ;
230 virtual
void handle(::NetworkIdentifier const& packet, ::SetSpawnPositionPacket const&) ;
232 virtual
void handle(::NetworkIdentifier const& packet, ::SetTimePacket const&) ;
234 virtual
void handle(::NetworkIdentifier const& packet, ::SetHudPacket const&) ;
236 virtual
void handle(::NetworkIdentifier const& packet, ::SpawnParticleEffectPacket const&) ;
238 virtual
void handle(::NetworkIdentifier const& source, ::StartGamePacket const& packet) ;
240 virtual
void handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockPacket> packet) ;
243 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockSyncedPacket> packet) ;
245 virtual
void handle(::NetworkIdentifier const& packet, ::CreativeContentPacket const&) ;
247 virtual
void handle(::NetworkIdentifier const& packet, ::ItemRegistryPacket const&) ;
249 virtual
void handle(::NetworkIdentifier const& source, ::DimensionDataPacket const& packet) ;
251 virtual
void handle(::NetworkIdentifier const& packet, ::UpdateAbilitiesPacket const&) ;
253 virtual
void handle(::NetworkIdentifier const& packet, ::UpdateAdventureSettingsPacket const&) ;
255 virtual
void handle(::NetworkIdentifier const& packet, ::ServerStatsPacket const&) ;
257 virtual
void onTick() ;
259 virtual
void onEntityRemoved(::Actor& entity) ;
261 virtual
void onLevelDestruction(::std::
string const&) ;
267 MCAPI explicit LegacyClientNetworkHandler(::LegacyClientNetworkHandlerArguments&& args);
269 MCAPI
void _drainCacheMissesQueueAndSendPacket();
271 MCAPI ::std::
string _getServerIdentifier() const;
273 MCAPI
void _removePlayer(::mce::UUID const& playerEntryId);
275 MCAPI
bool _shouldKeepSkinBasedOnMemory(::mce::UUID const& playerId, ::SerializedSkinRef const& skin) const;
277 MCAPI
void _updateBlobCacheTrackingData();
279 MCAPI
void onSubClientConnect();
285 MCAPI static
void handleUpdateBlock(
286 ::IBlockSource& region,
287 ::BlockPos const& pos,
288 ::Block const& block,
291 ::ActorBlockSyncMessage const* syncMsg
298 MCAPI
void* $ctor(::LegacyClientNetworkHandlerArguments&& args);
310 MCAPI
void $onPlayerReady(::Player& player);
312 MCAPI
void $onConnect(::NetworkIdentifier const& hostId);
314 MCAPI
void $onUnableToConnect(
315 ::Connection::DisconnectFailReason discoReason,
316 ::std::
string const& messageFromServer,
317 ::std::
string const& messageBodyOverride
320 MCAPI
bool $getIsConnectedToApplicationLayer() const;
322 MCAPI
void $handle(::NetworkIdentifier const& source, ::AddActorPacket const& packet);
324 MCAPI
void $handle(::NetworkIdentifier const& packet, ::AddItemActorPacket const&);
326 MCAPI
void $handle(::NetworkIdentifier const& packet, ::AddPaintingPacket const&);
328 MCAPI
void $handle(::NetworkIdentifier const& source, ::AddPlayerPacket const& packet);
330 MCAPI
void $handle(::NetworkIdentifier const& packet, ::AnimatePacket const&);
332 MCAPI
void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet);
334 MCAPI
void $handle(::NetworkIdentifier const& source, ::BlockEventPacket const& packet);
336 MCAPI
void $handle(::NetworkIdentifier const& packet, ::ChangeDimensionPacket const&);
338 MCAPI
void $handle(::NetworkIdentifier const& packet, ::ContainerClosePacket const&);
340 MCAPI
void $handle(::NetworkIdentifier const& source, ::ContainerOpenPacket const& packet);
342 MCAPI
void $handle(::NetworkIdentifier const& packet, ::ContainerRegistryCleanupPacket const&);
344 MCAPI
void $handle(::NetworkIdentifier const& packet, ::ContainerSetDataPacket const&);
346 MCAPI
void $handle(::NetworkIdentifier const& source, ::DisconnectPacket const& packet);
348 MCAPI
void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::LevelChunkPacket> packet);
350 MCAPI
void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::ClientCacheMissResponsePacket> packet);
352 MCAPI
void $handle(::NetworkIdentifier const& packet, ::GameRulesChangedPacket const&);
354 MCAPI
void $handle(::NetworkIdentifier const& packet, ::HurtArmorPacket const&);
356 MCAPI
void $handle(::NetworkIdentifier const& packet, ::InventoryContentPacket const&);
358 MCAPI
void $handle(::NetworkIdentifier const& packet, ::InventorySlotPacket const&);
360 MCAPI
void $handle(::NetworkIdentifier const& packet, ::std::shared_ptr<::InventoryTransactionPacket>);
362 MCAPI
void $handle(::NetworkIdentifier const& packet, ::MobArmorEquipmentPacket const&);
364 MCAPI
void $handle(::NetworkIdentifier const& packet, ::MobEffectPacket const&);
366 MCAPI
void $handle(::NetworkIdentifier const& packetPtr, ::std::shared_ptr<::MobEquipmentPacket>);
368 MCAPI
void $handle(::NetworkIdentifier const& packet, ::MoveActorAbsolutePacket const&);
370 MCAPI
void $handle(::NetworkIdentifier const& packet, ::MoveActorDeltaPacket const&);
372 MCAPI
void $handle(::NetworkIdentifier const& packet, ::MovementEffectPacket const&);
374 MCAPI
void $handle(::NetworkIdentifier const& packet, ::MovePlayerPacket const&);
376 MCAPI
void $handle(::NetworkIdentifier const& source, ::NetworkSettingsPacket const& packet);
378 MCAPI
void $handle(::NetworkIdentifier const& packet, ::NetworkStackLatencyPacket const&);
380 MCAPI
void $handle(::NetworkIdentifier const& packet, ::PlayerHotbarPacket const&);
382 MCAPI
void $handle(::NetworkIdentifier const& packet, ::PlayerListPacket const&);
384 MCAPI
void $handle(::NetworkIdentifier const& packet, ::PlayerSkinPacket const&);
386 MCAPI
void $handle(::NetworkIdentifier const& packet, ::PlayerUpdateEntityOverridesPacket const&);
388 MCAPI
void $handle(::NetworkIdentifier const& packet, ::RemoveActorPacket const&);
390 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetActorDataPacket const&);
392 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetActorLinkPacket const&);
394 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetActorMotionPacket const&);
396 MCAPI
void $handle(::NetworkIdentifier const& packet, ::MotionPredictionHintsPacket const&);
398 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetCommandsEnabledPacket const&);
400 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetDefaultGameTypePacket const&);
402 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetDifficultyPacket const&);
404 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetHealthPacket const&);
406 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetSpawnPositionPacket const&);
408 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetTimePacket const&);
410 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SetHudPacket const&);
412 MCAPI
void $handle(::NetworkIdentifier const& packet, ::SpawnParticleEffectPacket const&);
414 MCAPI
void $handle(::NetworkIdentifier const& source, ::StartGamePacket const& packet);
416 MCAPI
void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockPacket> packet);
418 MCAPI
void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockSyncedPacket> packet);
420 MCAPI
void $handle(::NetworkIdentifier const& packet, ::CreativeContentPacket const&);
422 MCAPI
void $handle(::NetworkIdentifier const& packet, ::ItemRegistryPacket const&);
424 MCAPI
void $handle(::NetworkIdentifier const& source, ::DimensionDataPacket const& packet);
426 MCAPI
void $handle(::NetworkIdentifier const& packet, ::UpdateAbilitiesPacket const&);
428 MCAPI
void $handle(::NetworkIdentifier const& packet, ::UpdateAdventureSettingsPacket const&);
430 MCAPI
void $handle(::NetworkIdentifier const& packet, ::ServerStatsPacket const&);
432 MCAPI
void $onTick();
434 MCAPI
void $onEntityRemoved(::Actor& entity);
436 MCAPI
void $onLevelDestruction(::std::
string const&);
Definition AddActorPacket.h:29
Definition AddItemActorPacket.h:23
Definition AddPaintingPacket.h:20
Definition AddPlayerPacket.h:32
Definition AnimatePacket.h:19
Definition BlockActorDataPacket.h:19
Definition BlockEventPacket.h:19
Definition ChangeDimensionPacket.h:19
Definition ClientCacheMissResponsePacket.h:19
Definition ClientNetworkHandler.h:5
Definition ContainerClosePacket.h:19
Definition ContainerOpenPacket.h:19
Definition ContainerRegistryCleanupPacket.h:19
Definition ContainerSetDataPacket.h:19
Definition CreativeContentPacket.h:22
Definition DimensionDataPacket.h:17
Definition DisconnectPacket.h:19
Definition EntityOverrides.h:8
Definition GameRulesChangedPacket.h:19
Definition HurtArmorPacket.h:19
Definition IBlockSource.h:38
Definition IPersonaNetworkHandlerDelegate.h:5
Definition InventoryContentPacket.h:21
Definition InventorySlotPacket.h:19
Definition InventoryTransactionPacket.h:22
Definition ItemRegistryPacket.h:19
Definition LegacyClientNetworkHandler.h:5
static MCAPI void ** $vftableForClientNetworkHandler()
static MCAPI void ** $vftableForLevelListener()
Definition LevelChunkPacket.h:18
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:17
Definition MovePlayerPacket.h:22
Definition MovementEffectPacket.h:19
Definition MultiPlayerLevel.h:5
Definition NetworkChunkInserter.h:5
Definition NetworkSettingsPacket.h:19
Definition NetworkStackLatencyPacket.h:19
Definition PlayerHotbarPacket.h:19
Definition PlayerListPacket.h:18
Definition PlayerSkinPacket.h:19
Definition PlayerUpdateEntityOverridesPacket.h:18
Definition RemoveActorPacket.h:19
Definition SerializedSkinRef.h:31
Definition ServerStatsPacket.h:19
Definition SetActorDataPacket.h:26
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:31
Definition UpdateAbilitiesPacket.h:20
Definition UpdateAdventureSettingsPacket.h:19
Definition UpdateBlockPacket.h:19
Definition UpdateBlockSyncedPacket.h:19
Definition ActorBlockSyncMessage.h:8
Definition ClientCreateLevelArguments.h:5
Definition LegacyClientNetworkHandlerArguments.h:5
Definition ReflectionCtx.h:11