3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/network/ClientNetworkPackDependencies.h"
7#include "mc/common/SubClientId.h"
8#include "mc/deps/core/math/PairHash.h"
9#include "mc/deps/core/math/TupleHash.h"
10#include "mc/deps/core/threading/MPMCQueue.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12#include "mc/deps/core/utility/pub_sub/Subscription.h"
13#include "mc/deps/shared_types/legacy/LevelEvent.h"
14#include "mc/network/IncomingPacketFilterResult.h"
15#include "mc/network/MinecraftPacketIds.h"
16#include "mc/network/NetEventCallback.h"
17#include "mc/network/OutgoingPacketFilterResult.h"
18#include "mc/network/PacketViolationResponse.h"
19#include "mc/network/connection/DisconnectFailReason.h"
20#include "mc/network/connection/DisconnectionStage.h"
21#include "mc/network/packet/ShowStoreOfferRedirectType.h"
22#include "mc/network/packet/SubChunkPacket.h"
171namespace ClientBlobCache {
class Cache; }
186 using ChunkKey = ::std::pair<::Dimension const*, ::ChunkPos>;
188 using ChunkCallbackKey = ::std::tuple<::NetworkIdentifier, ::Dimension const*, ::ChunkPos>;
193 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ClientBlobCache::Cache>> mBlobCache;
194 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::MPMCQueue<uint64>>> mCacheMisses;
195 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::MPMCQueue<uint64>>> mCacheHits;
196 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SharedTypes::v1_21_20::JigsawStructureData>> mJigsawStructureData;
197 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::VoxelShapes::VoxelShapeRegistry>> mVoxelShapeRegistry;
198 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
199 ::ll::TypedStorage<8, 8, ::PacketSender&> mPacketSender;
200 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::IGameConnectionListener>> mGameConnectionListener;
201 ::ll::TypedStorage<8, 8, ::IGameServerStartup&> mGameServerStartup;
202 ::ll::TypedStorage<8, 8, ::ClientNetworkSystem&> mNetwork;
203 ::ll::TypedStorage<8, 8, ::PrivateKeyManager const&> mClientKeys;
204 ::ll::TypedStorage<8, 8, ::MinecraftCommands&> mMinecraftCommands;
205 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ILevel>> mLevel;
206 ::ll::TypedStorage<1, 1, bool> mHasMessage;
207 ::ll::TypedStorage<1, 1, bool> mIsLoggedIn;
208 ::ll::TypedStorage<1, 1, bool> mHasHandshaked;
209 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistenceTracker;
210 ::ll::TypedStorage<1, 1, bool> mPacketTelemetryEnabled;
214 ::std::unordered_map<
215 ::std::pair<::Dimension const*, ::ChunkPos>,
217 ::mce::Math::PairHash,
218 ::std::equal_to<::std::pair<::Dimension const*, ::ChunkPos>>>>
223 ::std::unordered_map<
224 ::std::tuple<::NetworkIdentifier, ::Dimension const*, ::ChunkPos>,
225 ::std::function<void(::BlockSource&)>,
226 ::mce::Math::TupleHash,
227 ::std::equal_to<::std::tuple<::NetworkIdentifier, ::Dimension const*, ::ChunkPos>>>>
228 mConnectionPausedCallbacks;
229 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
230 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::VideoCaptureSessionManager>> mVideoCaptureSessionManager;
231 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::TextureShiftManager>> mTextureShiftManager;
232 ::ll::TypedStorage<8, 128, ::ClientNetworkPackDependencies> mPackDependencies;
233 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::CachedHostPackIdProvider>> mCachedHostPackIdProvider;
234 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mHostPacksReceivedSub;
239 ClientNetworkHandler& operator=(ClientNetworkHandler
const&);
240 ClientNetworkHandler(ClientNetworkHandler
const&);
241 ClientNetworkHandler();
246 virtual ~ClientNetworkHandler() ;
248 virtual void handle(::NetworkIdentifier
const& source, ::ActorEventPacket
const& packet) ;
250 virtual void handle(::NetworkIdentifier
const&, ::AddBehaviorTreePacket
const& packet) ;
252 virtual void handle(::NetworkIdentifier
const&, ::AnimateEntityPacket
const& packet) ;
254 virtual void handle(::NetworkIdentifier
const&, ::AvailableActorIdentifiersPacket
const& packet) ;
256 virtual void handle(::NetworkIdentifier
const& source, ::AvailableCommandsPacket
const& packet) ;
258 virtual void handle(::NetworkIdentifier
const&, ::AutomationClientConnectPacket
const& packet) ;
260 virtual void handle(::NetworkIdentifier
const& source, ::BiomeDefinitionListPacket
const& packet) ;
262 virtual void handle(::NetworkIdentifier
const&, ::BossEventPacket
const& packet) ;
264 virtual void handle(::NetworkIdentifier
const&, ::CameraAimAssistPacket
const& packet) ;
266 virtual void handle(::NetworkIdentifier
const&, ::CameraAimAssistPresetsPacket
const& packet) ;
268 virtual void handle(::NetworkIdentifier
const&, ::CameraAimAssistActorPriorityPacket
const& packet) ;
270 virtual void handle(::NetworkIdentifier
const&, ::CameraInstructionPacket
const& packet) ;
272 virtual void handle(::NetworkIdentifier
const&, ::CameraPacket
const& packet) ;
274 virtual void handle(::NetworkIdentifier
const&, ::CameraPresetsPacket
const& packet) ;
276 virtual void handle(::NetworkIdentifier
const&, ::CameraShakePacket
const& packet) ;
278 virtual void handle(::NetworkIdentifier
const&, ::CameraSplinePacket
const& packet) ;
280 virtual void handle(::NetworkIdentifier
const&, ::ChunkRadiusUpdatedPacket
const& packet) ;
282 virtual void handle(::NetworkIdentifier
const&, ::ClientboundControlSchemeSetPacket
const& packet) ;
284 virtual void handle(::NetworkIdentifier
const&, ::ClientboundMapItemDataPacket
const& packet) ;
286 virtual void handle(::NetworkIdentifier
const& source, ::CommandOutputPacket
const& packet) ;
288 virtual void handle(::NetworkIdentifier
const& source, ::CommandRequestPacket
const& packet) ;
290 virtual void handle(::NetworkIdentifier
const&, ::CompletedUsingItemPacket
const& packet) ;
292 virtual void handle(::NetworkIdentifier
const&, ::CraftingDataPacket
const& packet) ;
294 virtual void handle(::NetworkIdentifier
const& source, ::EmoteListPacket
const& packet) ;
296 virtual void handle(::NetworkIdentifier
const&, ::DebugInfoPacket
const& packet) ;
298 virtual void handle(::NetworkIdentifier
const& source, ::EmotePacket
const& packet) ;
300 virtual void handle(::NetworkIdentifier
const&, ::LegacyTelemetryEventPacket
const& packet) ;
302 virtual void handle(::NetworkIdentifier
const&, ::FeatureRegistryPacket
const& packet) ;
304 virtual void handle(::NetworkIdentifier
const&, ::LessonProgressPacket
const& packet) ;
306 virtual void handle(::NetworkIdentifier
const& source, ::GuiDataPickItemPacket
const& packet) ;
308 virtual void handle(::NetworkIdentifier
const& source, ::ItemStackResponsePacket
const& packet) ;
310 virtual void handle(::NetworkIdentifier
const& source, ::LabTablePacket
const& packet) ;
312 virtual void handle(::NetworkIdentifier
const& source, ::LevelEventPacket
const& packet) ;
314 virtual void handle(::NetworkIdentifier
const& source, ::LevelEventGenericPacket
const& packet) ;
316 virtual void handle(::NetworkIdentifier
const& source, ::LevelSoundEventPacket
const& packet) ;
318 virtual void handle(::NetworkIdentifier
const&, ::ModalFormRequestPacket
const& packet) ;
320 virtual void handle(::NetworkIdentifier
const&, ::ToastRequestPacket
const& packet) ;
322 virtual void handle(::NetworkIdentifier
const&, ::OnScreenTextureAnimationPacket
const& packet) ;
324 virtual void handle(::NetworkIdentifier
const&, ::NetworkChunkPublisherUpdatePacket
const& packet) ;
326 virtual void handle(::NetworkIdentifier
const&, ::PhotoTransferPacket
const& packet) ;
328 virtual void handle(::NetworkIdentifier
const& source, ::PlayerArmorDamagePacket
const& packet) ;
330 virtual void handle(::NetworkIdentifier
const& source, ::PlayerStartItemCooldownPacket
const& packet) ;
332 virtual void handle(::NetworkIdentifier
const&, ::PlaySoundPacket
const& packet) ;
334 virtual void handle(::NetworkIdentifier
const& source, ::PlayStatusPacket
const& packet) ;
336 virtual void handle(::NetworkIdentifier
const&, ::PlayerFogPacket
const& packet) ;
339 handle(::NetworkIdentifier
const& source, ::PositionTrackingDBServerBroadcastPacket
const& packet) ;
341 virtual void handle(::NetworkIdentifier
const&, ::RemoveObjectivePacket
const& packet) ;
343 virtual void handle(::NetworkIdentifier
const&, ::ResourcePackChunkDataPacket
const& packet) ;
345 virtual void handle(::NetworkIdentifier
const& source, ::ResourcePackDataInfoPacket
const& packet) ;
347 virtual void handle(::NetworkIdentifier
const& source, ::ResourcePacksInfoPacket
const& packet) ;
349 virtual void handle(::NetworkIdentifier
const& source, ::ResourcePackStackPacket
const& packet) ;
351 virtual void handle(::NetworkIdentifier
const& source, ::RespawnPacket
const& packet) ;
353 virtual void handle(::NetworkIdentifier
const&, ::ScriptMessagePacket
const& packet) ;
355 virtual void handle(::NetworkIdentifier
const&, ::ServerPlayerPostMovePositionPacket
const& packet) ;
357 virtual void handle(::NetworkIdentifier
const&, ::ServerSettingsResponsePacket
const& packet) ;
359 virtual void handle(::NetworkIdentifier
const& source, ::ServerToClientHandshakePacket
const& packet) ;
361 virtual void handle(::NetworkIdentifier
const&, ::SetDisplayObjectivePacket
const& packet) ;
363 virtual void handle(::NetworkIdentifier
const&, ::SetLastHurtByPacket
const& packet) ;
365 virtual void handle(::NetworkIdentifier
const&, ::SetPlayerGameTypePacket
const& packet) ;
367 virtual void handle(::NetworkIdentifier
const& source, ::UpdatePlayerGameTypePacket
const& packet) ;
369 virtual void handle(::NetworkIdentifier
const&, ::SetScoreboardIdentityPacket
const& packet) ;
371 virtual void handle(::NetworkIdentifier
const&, ::SetScorePacket
const& packet) ;
373 virtual void handle(::NetworkIdentifier
const&, ::SetTitlePacket
const& packet) ;
375 virtual void handle(::NetworkIdentifier
const&, ::ShowCreditsPacket
const& packet) ;
377 virtual void handle(::NetworkIdentifier
const&, ::ShowProfilePacket
const& packet) ;
379 virtual void handle(::NetworkIdentifier
const&, ::ShowStoreOfferPacket
const& packet) ;
381 virtual void handle(::NetworkIdentifier
const& source, ::SimpleEventPacket
const& packet) ;
383 virtual void handle(::NetworkIdentifier
const&, ::StopSoundPacket
const& packet) ;
385 virtual void handle(::NetworkIdentifier
const& source, ::SubChunkPacket
const& packet) ;
387 virtual void handle(::NetworkIdentifier
const&, ::TakeItemActorPacket
const& packet) ;
389 virtual void handle(::NetworkIdentifier
const& source, ::TextPacket
const& packet) ;
391 virtual void handle(::NetworkIdentifier
const&, ::TickingAreasLoadStatusPacket
const& packet) ;
393 virtual void handle(::NetworkIdentifier
const&, ::TransferPacket
const& packet) ;
395 virtual void handle(::NetworkIdentifier
const&, ::std::shared_ptr<::UpdateAttributesPacket> packet) ;
397 virtual void handle(::NetworkIdentifier
const&, ::UpdateEquipPacket
const& packet) ;
399 virtual void handle(::NetworkIdentifier
const&, ::UpdateSoftEnumPacket
const& packet) ;
401 virtual void handle(::NetworkIdentifier
const&, ::UpdateTradePacket
const& packet) ;
403 virtual void handle(::NetworkIdentifier
const&, ::StructureTemplateDataResponsePacket
const& packet) ;
405 virtual void handle(::NetworkIdentifier
const&, ::EducationSettingsPacket
const& packet) ;
407 virtual void handle(::NetworkIdentifier
const&, ::EduUriResourcePacket
const& packet) ;
409 virtual void handle(::NetworkIdentifier
const&, ::MultiplayerSettingsPacket
const& packet) ;
411 virtual void handle(::NetworkIdentifier
const&, ::PlayerEnchantOptionsPacket
const& packet) ;
413 virtual void handle(::NetworkIdentifier
const&, ::CodeBuilderPacket
const& packet) ;
415 virtual void handle(::NetworkIdentifier
const&, ::CorrectPlayerMovePredictionPacket
const& packet) ;
417 virtual void handle(::NetworkIdentifier
const&, ::SyncActorPropertyPacket
const& packet) ;
419 virtual void handle(::NetworkIdentifier
const&, ::NpcDialoguePacket
const& packet) ;
421 virtual void handle(::NetworkIdentifier
const& source, ::ClientboundDebugRendererPacket
const& packet) ;
423 virtual void handle(::NetworkIdentifier
const&, ::AddVolumeEntityPacket
const& packet) ;
425 virtual void handle(::NetworkIdentifier
const&, ::RemoveVolumeEntityPacket
const& packet) ;
427 virtual void handle(::NetworkIdentifier
const&, ::SimulationTypePacket
const& packet) ;
429 virtual void handle(::NetworkIdentifier
const&, ::AgentActionEventPacket
const& packet) ;
431 virtual void handle(::NetworkIdentifier
const& source, ::UpdateSubChunkBlocksPacket
const& packet) ;
433 virtual void handle(::NetworkIdentifier
const&, ::DeathInfoPacket
const& packet) ;
435 virtual void handle(::NetworkIdentifier
const&, ::EditorNetworkPacket
const& packet) ;
437 virtual void handle(::NetworkIdentifier
const&, ::GameTestResultsPacket
const&) ;
439 virtual void handle(::NetworkIdentifier
const& source, ::UpdateClientInputLocksPacket
const& packet) ;
441 virtual void handle(::NetworkIdentifier
const&, ::PlayerActionPacket
const& packet) ;
443 virtual void handle(::NetworkIdentifier
const&, ::UnlockedRecipesPacket
const& packet) ;
445 virtual void handle(::NetworkIdentifier
const&, ::TrimDataPacket
const& packet) ;
447 virtual void handle(::NetworkIdentifier
const&, ::OpenSignPacket
const& packet) ;
449 virtual void handle(::NetworkIdentifier
const&, ::AgentAnimationPacket
const& packet) ;
451 virtual void handle(::NetworkIdentifier
const& source, ::RefreshEntitlementsPacket
const& packet) ;
453 virtual void handle(::NetworkIdentifier
const&, ::SetPlayerInventoryOptionsPacket
const& packet) ;
455 virtual void handle(::NetworkIdentifier
const&, ::AwardAchievementPacket
const& packet) ;
457 virtual void handle(::NetworkIdentifier
const& source, ::ClientboundCloseFormPacket
const&) ;
459 virtual void handle(::NetworkIdentifier
const&, ::JigsawStructureDataPacket
const& packet) ;
461 virtual void handle(::NetworkIdentifier
const&, ::CurrentStructureFeaturePacket
const& packet) ;
463 virtual void handle(::NetworkIdentifier
const& source, ::PlayerVideoCapturePacket
const& packet) ;
465 virtual void handle(::NetworkIdentifier
const&, ::DebugDrawerPacket
const& packet) ;
467 virtual void handle(::NetworkIdentifier
const&, ::PlayerLocationPacket
const& packet) ;
469 virtual void handle(::NetworkIdentifier
const&, ::ClientboundDataStorePacket
const& packet) ;
471 virtual void handle(::NetworkIdentifier
const&, ::GraphicsOverrideParameterPacket
const& packet) ;
474 handle(::NetworkIdentifier
const&, ::ClientboundDataDrivenUICloseScreenPacket
const& packet) ;
476 virtual void handle(::NetworkIdentifier
const&, ::ClientboundDataDrivenUIReloadPacket
const&) ;
479 handle(::NetworkIdentifier
const&, ::ClientboundDataDrivenUIShowScreenPacket
const& packet) ;
481 virtual void handle(::NetworkIdentifier
const&, ::ClientboundTextureShiftPacket
const& packet) ;
483 virtual void handle(::NetworkIdentifier
const&, ::VoxelShapesPacket
const& packet) ;
485 virtual void handle(::NetworkIdentifier
const&, ::LocatorBarPacket
const& packet) ;
487 virtual void handle(::NetworkIdentifier
const&, ::SyncWorldClocksPacket
const& packet) ;
489 virtual void handle(::NetworkIdentifier
const&, ::ClientboundAttributeLayerSyncPacket
const& packet) ;
491 virtual void onOutgoingPacket(
492 ::NetworkIdentifier
const& netId,
493 ::MinecraftPacketIds packetId,
495 ::SubClientId recipientSubId
498 virtual void onValidPacketReceived(
499 ::NetworkIdentifier
const& netId,
500 ::MinecraftPacketIds packetId,
502 ::SubClientId recipientSubId
506 onStoreOfferReceive(::ShowStoreOfferRedirectType
const redirectType, ::std::string
const& offerID) ;
508 virtual void onDisconnect(
509 ::NetworkIdentifier
const& source,
510 ::Connection::DisconnectFailReason
const discoReason,
511 ::Connection::DisconnectionStage
const disconnectStage,
512 ::std::string
const& messageFromServer,
513 ::std::string
const& messageBodyOverride,
515 ::std::string
const& telemetryOverride
518 virtual ::IncomingPacketFilterResult allowIncomingPacketId(
519 ::NetworkIdentifierWithSubId
const&
id,
520 ::MinecraftPacketIds packetId,
524 virtual ::OutgoingPacketFilterResult
525 allowOutgoingPacket(::std::vector<::NetworkIdentifierWithSubId>
const& ids, ::Packet
const& packet) ;
527 virtual void handlePacketViolation(
528 ::std::shared_ptr<::IPacketSecurityController>
const& packetSecurityController,
529 ::std::error_code
const& errorCode,
530 ::PacketViolationResponse
const response,
531 ::MinecraftPacketIds
const packetId,
532 ::std::string&& context,
533 ::NetworkIdentifier
const& netId,
534 ::SubClientId
const clientSubId,
535 ::SubClientId
const senderSubId,
536 uint
const packetSize
539 virtual void sendPacketViolationWarningPacket(
540 ::std::error_code
const& errorCode,
541 ::PacketViolationResponse violationResponse,
542 ::MinecraftPacketIds violatingPacketId,
543 ::std::string
const& context,
544 ::NetworkIdentifier
const& netId,
545 ::SubClientId clientSubId
548 virtual void onSuccessfulLogin(::NetworkIdentifier
const&
id);
554 MCAPI
explicit ClientNetworkHandler(::ClientNetworkHandlerArguments&& args);
556 MCAPI
void _disconnectFromServer(::NetworkIdentifier
const& source);
558 MCAPI ::ILevel* _getLevelIfValid();
560 MCAPI
void _handleLevelEvent(::SharedTypes::Legacy::LevelEvent type, ::LevelEventPacket
const& packet);
562 MCAPI
void _handleLevelMusicEvent(::SharedTypes::Legacy::LevelEvent type, ::LevelEventGenericPacket
const& packet);
564 MCAPI
void _handleSubChunkData(
565 ::NetworkIdentifier
const&,
566 ::SubChunkPacket
const& packet,
567 ::SubChunkPacket::SubChunkPacketData
const& subChunkData,
568 ::LocalPlayer
const* localPlayer,
569 bool levelAndPlayerExists
573 _handleUnlockedRecipes(::UnlockedRecipesPacket
const& packet, ::UnlockedRecipesClientComponent& component);
575 MCAPI
void _respondBlobCacheStatusForSubChunk(::SubChunkPacket::SubChunkPacketData
const& subChunkData);
578 onChunkHandleCompleted(::NetworkIdentifier
const& source, ::ChunkPos
const& cp, ::Dimension
const& dimension);
580 MCAPI
void queueHandleWorldChangePacket(
581 ::NetworkIdentifier
const& source,
582 ::BlockPos
const& requiredPos,
583 ::std::function<
void(::BlockSource&)>&& handler
590 MCAPI static ::ClientNetworkHandler::SubscribedHostPacks
591 createHostPacks(::PackDownloadManager& downloadMaager, ::IContentManager& contentManager);
597 MCAPI
void* $ctor(::ClientNetworkHandlerArguments&& args);
609 MCAPI
void $handle(::NetworkIdentifier
const& source, ::ActorEventPacket
const& packet);
611 MCFOLD
void $handle(::NetworkIdentifier
const&, ::AddBehaviorTreePacket
const& packet);
613 MCAPI
void $handle(::NetworkIdentifier
const&, ::AnimateEntityPacket
const& packet);
615 MCAPI
void $handle(::NetworkIdentifier
const&, ::AvailableActorIdentifiersPacket
const& packet);
617 MCAPI
void $handle(::NetworkIdentifier
const& source, ::AvailableCommandsPacket
const& packet);
619 MCAPI
void $handle(::NetworkIdentifier
const&, ::AutomationClientConnectPacket
const& packet);
621 MCAPI
void $handle(::NetworkIdentifier
const& source, ::BiomeDefinitionListPacket
const& packet);
623 MCAPI
void $handle(::NetworkIdentifier
const&, ::BossEventPacket
const& packet);
625 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraAimAssistPacket
const& packet);
627 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraAimAssistPresetsPacket
const& packet);
629 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraAimAssistActorPriorityPacket
const& packet);
631 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraInstructionPacket
const& packet);
633 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraPacket
const& packet);
635 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraPresetsPacket
const& packet);
637 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraShakePacket
const& packet);
639 MCAPI
void $handle(::NetworkIdentifier
const&, ::CameraSplinePacket
const& packet);
641 MCAPI
void $handle(::NetworkIdentifier
const&, ::ChunkRadiusUpdatedPacket
const& packet);
643 MCAPI
void $handle(::NetworkIdentifier
const&, ::ClientboundControlSchemeSetPacket
const& packet);
645 MCAPI
void $handle(::NetworkIdentifier
const&, ::ClientboundMapItemDataPacket
const& packet);
647 MCAPI
void $handle(::NetworkIdentifier
const& source, ::CommandOutputPacket
const& packet);
649 MCFOLD
void $handle(::NetworkIdentifier
const& source, ::CommandRequestPacket
const& packet);
651 MCAPI
void $handle(::NetworkIdentifier
const&, ::CompletedUsingItemPacket
const& packet);
653 MCAPI
void $handle(::NetworkIdentifier
const&, ::CraftingDataPacket
const& packet);
655 MCAPI
void $handle(::NetworkIdentifier
const& source, ::EmoteListPacket
const& packet);
657 MCFOLD
void $handle(::NetworkIdentifier
const&, ::DebugInfoPacket
const& packet);
659 MCAPI
void $handle(::NetworkIdentifier
const& source, ::EmotePacket
const& packet);
661 MCAPI
void $handle(::NetworkIdentifier
const&, ::LegacyTelemetryEventPacket
const& packet);
663 MCAPI
void $handle(::NetworkIdentifier
const&, ::FeatureRegistryPacket
const& packet);
665 MCAPI
void $handle(::NetworkIdentifier
const&, ::LessonProgressPacket
const& packet);
667 MCAPI
void $handle(::NetworkIdentifier
const& source, ::GuiDataPickItemPacket
const& packet);
669 MCAPI
void $handle(::NetworkIdentifier
const& source, ::ItemStackResponsePacket
const& packet);
671 MCAPI
void $handle(::NetworkIdentifier
const& source, ::LabTablePacket
const& packet);
673 MCAPI
void $handle(::NetworkIdentifier
const& source, ::LevelEventPacket
const& packet);
675 MCAPI
void $handle(::NetworkIdentifier
const& source, ::LevelEventGenericPacket
const& packet);
677 MCAPI
void $handle(::NetworkIdentifier
const& source, ::LevelSoundEventPacket
const& packet);
679 MCAPI
void $handle(::NetworkIdentifier
const&, ::ModalFormRequestPacket
const& packet);
681 MCAPI
void $handle(::NetworkIdentifier
const&, ::ToastRequestPacket
const& packet);
683 MCAPI
void $handle(::NetworkIdentifier
const&, ::OnScreenTextureAnimationPacket
const& packet);
685 MCAPI
void $handle(::NetworkIdentifier
const&, ::NetworkChunkPublisherUpdatePacket
const& packet);
687 MCAPI
void $handle(::NetworkIdentifier
const&, ::PhotoTransferPacket
const& packet);
689 MCAPI
void $handle(::NetworkIdentifier
const& source, ::PlayerArmorDamagePacket
const& packet);
691 MCAPI
void $handle(::NetworkIdentifier
const& source, ::PlayerStartItemCooldownPacket
const& packet);
693 MCAPI
void $handle(::NetworkIdentifier
const&, ::PlaySoundPacket
const& packet);
695 MCAPI
void $handle(::NetworkIdentifier
const& source, ::PlayStatusPacket
const& packet);
697 MCAPI
void $handle(::NetworkIdentifier
const&, ::PlayerFogPacket
const& packet);
699 MCAPI
void $handle(::NetworkIdentifier
const& source, ::PositionTrackingDBServerBroadcastPacket
const& packet);
701 MCAPI
void $handle(::NetworkIdentifier
const&, ::RemoveObjectivePacket
const& packet);
703 MCAPI
void $handle(::NetworkIdentifier
const&, ::ResourcePackChunkDataPacket
const& packet);
705 MCAPI
void $handle(::NetworkIdentifier
const& source, ::ResourcePackDataInfoPacket
const& packet);
707 MCAPI
void $handle(::NetworkIdentifier
const& source, ::ResourcePacksInfoPacket
const& packet);
709 MCAPI
void $handle(::NetworkIdentifier
const& source, ::ResourcePackStackPacket
const& packet);
711 MCAPI
void $handle(::NetworkIdentifier
const& source, ::RespawnPacket
const& packet);
713 MCAPI
void $handle(::NetworkIdentifier
const&, ::ScriptMessagePacket
const& packet);
715 MCAPI
void $handle(::NetworkIdentifier
const&, ::ServerPlayerPostMovePositionPacket
const& packet);
717 MCAPI
void $handle(::NetworkIdentifier
const&, ::ServerSettingsResponsePacket
const& packet);
719 MCAPI
void $handle(::NetworkIdentifier
const& source, ::ServerToClientHandshakePacket
const& packet);
721 MCAPI
void $handle(::NetworkIdentifier
const&, ::SetDisplayObjectivePacket
const& packet);
723 MCAPI
void $handle(::NetworkIdentifier
const&, ::SetLastHurtByPacket
const& packet);
725 MCAPI
void $handle(::NetworkIdentifier
const&, ::SetPlayerGameTypePacket
const& packet);
727 MCAPI
void $handle(::NetworkIdentifier
const& source, ::UpdatePlayerGameTypePacket
const& packet);
729 MCAPI
void $handle(::NetworkIdentifier
const&, ::SetScoreboardIdentityPacket
const& packet);
731 MCAPI
void $handle(::NetworkIdentifier
const&, ::SetScorePacket
const& packet);
733 MCAPI
void $handle(::NetworkIdentifier
const&, ::SetTitlePacket
const& packet);
735 MCAPI
void $handle(::NetworkIdentifier
const&, ::ShowCreditsPacket
const& packet);
737 MCAPI
void $handle(::NetworkIdentifier
const&, ::ShowProfilePacket
const& packet);
739 MCAPI
void $handle(::NetworkIdentifier
const&, ::ShowStoreOfferPacket
const& packet);
741 MCAPI
void $handle(::NetworkIdentifier
const& source, ::SimpleEventPacket
const& packet);
743 MCAPI
void $handle(::NetworkIdentifier
const&, ::StopSoundPacket
const& packet);
745 MCAPI
void $handle(::NetworkIdentifier
const& source, ::SubChunkPacket
const& packet);
747 MCAPI
void $handle(::NetworkIdentifier
const&, ::TakeItemActorPacket
const& packet);
749 MCAPI
void $handle(::NetworkIdentifier
const& source, ::TextPacket
const& packet);
751 MCAPI
void $handle(::NetworkIdentifier
const&, ::TickingAreasLoadStatusPacket
const& packet);
753 MCAPI
void $handle(::NetworkIdentifier
const&, ::TransferPacket
const& packet);
755 MCAPI
void $handle(::NetworkIdentifier
const&, ::std::shared_ptr<::UpdateAttributesPacket> packet);
757 MCAPI
void $handle(::NetworkIdentifier
const&, ::UpdateEquipPacket
const& packet);
759 MCAPI
void $handle(::NetworkIdentifier
const&, ::UpdateSoftEnumPacket
const& packet);
761 MCAPI
void $handle(::NetworkIdentifier
const&, ::UpdateTradePacket
const& packet);
763 MCAPI
void $handle(::NetworkIdentifier
const&, ::StructureTemplateDataResponsePacket
const& packet);
765 MCAPI
void $handle(::NetworkIdentifier
const&, ::EducationSettingsPacket
const& packet);
767 MCAPI
void $handle(::NetworkIdentifier
const&, ::EduUriResourcePacket
const& packet);
769 MCAPI
void $handle(::NetworkIdentifier
const&, ::MultiplayerSettingsPacket
const& packet);
771 MCAPI
void $handle(::NetworkIdentifier
const&, ::PlayerEnchantOptionsPacket
const& packet);
773 MCAPI
void $handle(::NetworkIdentifier
const&, ::CodeBuilderPacket
const& packet);
775 MCAPI
void $handle(::NetworkIdentifier
const&, ::CorrectPlayerMovePredictionPacket
const& packet);
777 MCAPI
void $handle(::NetworkIdentifier
const&, ::SyncActorPropertyPacket
const& packet);
779 MCAPI
void $handle(::NetworkIdentifier
const&, ::NpcDialoguePacket
const& packet);
781 MCFOLD
void $handle(::NetworkIdentifier
const& source, ::ClientboundDebugRendererPacket
const& packet);
783 MCAPI
void $handle(::NetworkIdentifier
const&, ::AddVolumeEntityPacket
const& packet);
785 MCAPI
void $handle(::NetworkIdentifier
const&, ::RemoveVolumeEntityPacket
const& packet);
787 MCAPI
void $handle(::NetworkIdentifier
const&, ::SimulationTypePacket
const& packet);
789 MCAPI
void $handle(::NetworkIdentifier
const&, ::AgentActionEventPacket
const& packet);
791 MCAPI
void $handle(::NetworkIdentifier
const& source, ::UpdateSubChunkBlocksPacket
const& packet);
793 MCAPI
void $handle(::NetworkIdentifier
const&, ::DeathInfoPacket
const& packet);
795 MCAPI
void $handle(::NetworkIdentifier
const&, ::EditorNetworkPacket
const& packet);
797 MCFOLD
void $handle(::NetworkIdentifier
const&, ::GameTestResultsPacket
const&);
799 MCAPI
void $handle(::NetworkIdentifier
const& source, ::UpdateClientInputLocksPacket
const& packet);
801 MCAPI
void $handle(::NetworkIdentifier
const&, ::PlayerActionPacket
const& packet);
803 MCAPI
void $handle(::NetworkIdentifier
const&, ::UnlockedRecipesPacket
const& packet);
805 MCAPI
void $handle(::NetworkIdentifier
const&, ::TrimDataPacket
const& packet);
807 MCAPI
void $handle(::NetworkIdentifier
const&, ::OpenSignPacket
const& packet);
809 MCAPI
void $handle(::NetworkIdentifier
const&, ::AgentAnimationPacket
const& packet);
811 MCAPI
void $handle(::NetworkIdentifier
const& source, ::RefreshEntitlementsPacket
const& packet);
813 MCAPI
void $handle(::NetworkIdentifier
const&, ::SetPlayerInventoryOptionsPacket
const& packet);
815 MCAPI
void $handle(::NetworkIdentifier
const&, ::AwardAchievementPacket
const& packet);
817 MCAPI
void $handle(::NetworkIdentifier
const& source, ::ClientboundCloseFormPacket
const&);
819 MCAPI
void $handle(::NetworkIdentifier
const&, ::JigsawStructureDataPacket
const& packet);
821 MCAPI
void $handle(::NetworkIdentifier
const&, ::CurrentStructureFeaturePacket
const& packet);
823 MCAPI
void $handle(::NetworkIdentifier
const& source, ::PlayerVideoCapturePacket
const& packet);
825 MCAPI
void $handle(::NetworkIdentifier
const&, ::DebugDrawerPacket
const& packet);
827 MCAPI
void $handle(::NetworkIdentifier
const&, ::PlayerLocationPacket
const& packet);
829 MCAPI
void $handle(::NetworkIdentifier
const&, ::ClientboundDataStorePacket
const& packet);
831 MCAPI
void $handle(::NetworkIdentifier
const&, ::GraphicsOverrideParameterPacket
const& packet);
833 MCAPI
void $handle(::NetworkIdentifier
const&, ::ClientboundDataDrivenUICloseScreenPacket
const& packet);
835 MCAPI
void $handle(::NetworkIdentifier
const&, ::ClientboundDataDrivenUIReloadPacket
const&);
837 MCAPI
void $handle(::NetworkIdentifier
const&, ::ClientboundDataDrivenUIShowScreenPacket
const& packet);
839 MCFOLD
void $handle(::NetworkIdentifier
const&, ::ClientboundTextureShiftPacket
const& packet);
841 MCAPI
void $handle(::NetworkIdentifier
const&, ::VoxelShapesPacket
const& packet);
843 MCAPI
void $handle(::NetworkIdentifier
const&, ::LocatorBarPacket
const& packet);
845 MCFOLD
void $handle(::NetworkIdentifier
const&, ::SyncWorldClocksPacket
const& packet);
847 MCFOLD
void $handle(::NetworkIdentifier
const&, ::ClientboundAttributeLayerSyncPacket
const& packet);
849 MCAPI
void $onOutgoingPacket(
850 ::NetworkIdentifier
const& netId,
851 ::MinecraftPacketIds packetId,
853 ::SubClientId recipientSubId
856 MCAPI
void $onValidPacketReceived(
857 ::NetworkIdentifier
const& netId,
858 ::MinecraftPacketIds packetId,
860 ::SubClientId recipientSubId
863 MCAPI
void $onStoreOfferReceive(::ShowStoreOfferRedirectType
const redirectType, ::std::string
const& offerID);
865 MCAPI
void $onDisconnect(
866 ::NetworkIdentifier
const& source,
867 ::Connection::DisconnectFailReason
const discoReason,
868 ::Connection::DisconnectionStage
const disconnectStage,
869 ::std::string
const& messageFromServer,
870 ::std::string
const& messageBodyOverride,
872 ::std::string
const& telemetryOverride
875 MCAPI ::IncomingPacketFilterResult
876 $allowIncomingPacketId(::NetworkIdentifierWithSubId
const&
id, ::MinecraftPacketIds packetId, uint64 packetSize);
878 MCFOLD ::OutgoingPacketFilterResult
879 $allowOutgoingPacket(::std::vector<::NetworkIdentifierWithSubId>
const& ids, ::Packet
const& packet);
881 MCAPI
void $handlePacketViolation(
882 ::std::shared_ptr<::IPacketSecurityController>
const& packetSecurityController,
883 ::std::error_code
const& errorCode,
884 ::PacketViolationResponse
const response,
885 ::MinecraftPacketIds
const packetId,
886 ::std::string&& context,
887 ::NetworkIdentifier
const& netId,
888 ::SubClientId
const clientSubId,
889 ::SubClientId
const senderSubId,
890 uint
const packetSize
893 MCAPI
void $sendPacketViolationWarningPacket(
894 ::std::error_code
const& errorCode,
895 ::PacketViolationResponse violationResponse,
896 ::MinecraftPacketIds violatingPacketId,
897 ::std::string
const& context,
898 ::NetworkIdentifier
const& netId,
899 ::SubClientId clientSubId
902 MCAPI
void $onSuccessfulLogin(::NetworkIdentifier
const&
id);
Definition ActorEventPacket.h:19
Definition AddBehaviorTreePacket.h:19
Definition AddVolumeEntityPacket.h:19
Definition AgentActionEventPacket.h:19
Definition AgentAnimationPacket.h:19
Definition AnimateEntityPacket.h:19
Definition AutomationClientConnectPacket.h:19
Definition AvailableActorIdentifiersPacket.h:19
Definition AvailableCommandsPacket.h:19
Definition AwardAchievementPacket.h:19
Definition BiomeDefinitionListPacket.h:18
Definition BlockSource.h:71
Definition BossEventPacket.h:21
Definition CachedHostPackIdProvider.h:5
Definition CameraAimAssistActorPriorityPacket.h:19
Definition CameraAimAssistPacket.h:19
Definition CameraAimAssistPresetsPacket.h:19
Definition CameraInstructionPacket.h:19
Definition CameraPacket.h:19
Definition CameraPresetsPacket.h:19
Definition CameraShakePacket.h:19
Definition CameraSplinePacket.h:19
Definition ChunkRadiusUpdatedPacket.h:19
Definition ClientNetworkHandler.h:5
static MCAPI void ** $vftable()
Definition ClientNetworkSystem.h:40
Definition ClientboundAttributeLayerSyncPacket.h:19
Definition ClientboundControlSchemeSetPacket.h:19
Definition ClientboundDataDrivenUICloseScreenPacket.h:20
Definition ClientboundDataDrivenUIReloadPacket.h:19
Definition ClientboundDataDrivenUIShowScreenPacket.h:20
Definition ClientboundDataStorePacket.h:19
Definition ClientboundDebugRendererPacket.h:19
Definition ClientboundMapItemDataPacket.h:25
Definition ClientboundTextureShiftPacket.h:19
Definition CodeBuilderPacket.h:19
Definition CommandOutputPacket.h:19
Definition CommandRequestPacket.h:19
Definition CompletedUsingItemPacket.h:19
Definition CorrectPlayerMovePredictionPacket.h:19
Definition CraftingDataPacket.h:21
Definition CurrentStructureFeaturePacket.h:19
Definition DeathInfoPacket.h:19
Definition DebugDrawerPacket.h:19
Definition DebugInfoPacket.h:19
Definition Dimension.h:86
Definition EditorNetworkPacket.h:19
Definition EduUriResourcePacket.h:19
Definition EducationSettingsPacket.h:19
Definition EmoteListPacket.h:19
Definition EmotePacket.h:19
Definition FeatureRegistryPacket.h:19
Definition GameTestResultsPacket.h:19
Definition GraphicsOverrideParameterPacket.h:19
Definition GuiDataPickItemPacket.h:19
Definition IClientInstance.h:5
Definition IContentManager.h:5
Definition IGameConnectionListener.h:5
Definition IGameServerStartup.h:5
Definition IPacketSecurityController.h:22
Definition ItemStackResponsePacket.h:17
Definition JigsawStructureDataPacket.h:19
Definition LabTablePacket.h:19
Definition LegacyTelemetryEventPacket.h:19
Definition LessonProgressPacket.h:19
Definition LevelEventGenericPacket.h:19
Definition LevelEventPacket.h:19
Definition LevelSoundEventPacket.h:19
Definition LocalPlayer.h:5
Definition LocatorBarPacket.h:19
Definition MinecraftCommands.h:34
Definition MultiplayerSettingsPacket.h:19
Definition NetEventCallback.h:258
Definition NetworkChunkPublisherUpdatePacket.h:19
Definition NetworkIdentifier.h:10
Definition NpcDialoguePacket.h:19
Definition OnScreenTextureAnimationPacket.h:19
Definition OpenSignPacket.h:19
Definition PackDownloadManager.h:5
Definition PacketSender.h:17
Definition PhotoTransferPacket.h:19
Definition PlaySoundPacket.h:19
Definition PlayStatusPacket.h:19
Definition PlayerActionPacket.h:19
Definition PlayerArmorDamagePacket.h:19
Definition PlayerEnchantOptionsPacket.h:17
Definition PlayerFogPacket.h:19
Definition PlayerLocationPacket.h:18
Definition PlayerStartItemCooldownPacket.h:19
Definition PlayerVideoCapturePacket.h:19
Definition PositionTrackingDBServerBroadcastPacket.h:20
Definition PrivateKeyManager.h:9
Definition RefreshEntitlementsPacket.h:19
Definition RemoveObjectivePacket.h:19
Definition RemoveVolumeEntityPacket.h:19
Definition ResourcePackChunkDataPacket.h:19
Definition ResourcePackDataInfoPacket.h:19
Definition ResourcePackStackPacket.h:20
Definition ResourcePacksInfoPacket.h:19
Definition RespawnPacket.h:19
Definition ScriptMessagePacket.h:19
Definition ServerPlayerPostMovePositionPacket.h:19
Definition ServerSettingsResponsePacket.h:19
Definition ServerToClientHandshakePacket.h:19
Definition SetDisplayObjectivePacket.h:19
Definition SetLastHurtByPacket.h:19
Definition SetPlayerGameTypePacket.h:19
Definition SetPlayerInventoryOptionsPacket.h:19
Definition SetScorePacket.h:20
Definition SetScoreboardIdentityPacket.h:18
Definition SetTitlePacket.h:19
Definition ShowCreditsPacket.h:19
Definition ShowProfilePacket.h:19
Definition ShowStoreOfferPacket.h:19
Definition SimpleEventPacket.h:19
Definition SimulationTypePacket.h:19
Definition StopSoundPacket.h:19
Definition StructureTemplateDataResponsePacket.h:19
Definition SubChunkPacket.h:19
Definition SyncActorPropertyPacket.h:19
Definition SyncWorldClocksPacket.h:19
Definition TakeItemActorPacket.h:19
Definition TaskGroup.h:57
Definition TextPacket.h:19
Definition TextureShiftManager.h:5
Definition TickingAreasLoadStatusPacket.h:19
Definition ToastRequestPacket.h:19
Definition TransferPacket.h:19
Definition TrimDataPacket.h:20
Definition UnlockedRecipesClientComponent.h:11
Definition UnlockedRecipesPacket.h:19
Definition UpdateAttributesPacket.h:21
Definition UpdateEquipPacket.h:19
Definition UpdatePlayerGameTypePacket.h:19
Definition UpdateSoftEnumPacket.h:19
Definition UpdateSubChunkBlocksPacket.h:19
Definition UpdateTradePacket.h:19
Definition VideoCaptureSessionManager.h:5
Definition VoxelShapesPacket.h:19
Definition VoxelShapeRegistry.h:14
Definition ClientNetworkHandlerArguments.h:5
Definition ClientNetworkHandler.h:13
Definition NetworkIdentifierWithSubId.h:10
Definition JigsawStructureData.h:16