3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/common/SubClientId.h"
7#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
8#include "mc/network/IncomingPacketFilterResult.h"
9#include "mc/network/MinecraftPacketIds.h"
10#include "mc/network/OutgoingPacketFilterResult.h"
11#include "mc/network/PacketViolationResponse.h"
12#include "mc/network/connection/DisconnectFailReason.h"
13#include "mc/network/connection/DisconnectionStage.h"
14#include "mc/network/packet/ShowStoreOfferRedirectType.h"
269 virtual void onPlayerReady(
::Player& player);
276 virtual void onUnableToConnect(::Connection::DisconnectFailReason, ::std::string
const&, ::std::string
const&);
278 virtual void onUnableToConnect(
279 ::Connection::DisconnectFailReason discoReason,
280 ::std::string
const& messageFromServer,
281 ::std::string
const& messageBodyOverride
285 virtual void onTick();
287 virtual void onOutgoingPacket(
::NetworkIdentifier const&, ::MinecraftPacketIds, ::SubClientId, ::SubClientId);
289 virtual void onValidPacketReceived(
::NetworkIdentifier const&, ::MinecraftPacketIds, ::SubClientId, ::SubClientId);
292 virtual void onStoreOfferReceive(::ShowStoreOfferRedirectType
const, ::std::string
const& offerID);
294 virtual void onStoreOfferReceive(::ShowStoreOfferRedirectType
const redirectType, ::std::string
const& offerID);
298 virtual void onDisconnect(
300 ::Connection::DisconnectFailReason
const discoReason,
301 ::Connection::DisconnectionStage
const disconnectStage,
302 ::std::string
const& messageFromServer,
303 ::std::string
const& messageBodyOverride,
305 ::std::string
const& telemetryOverride
308 virtual void onDisconnect(
310 ::Connection::DisconnectFailReason
const discoReason,
311 ::Connection::DisconnectionStage
const disconnectStage,
312 ::std::string
const& messageFromServer,
313 ::std::string
const& messageBodyOverride,
315 ::std::string
const& telemetryOverride
320 virtual ::IncomingPacketFilterResult allowIncomingPacketId(
322 ::MinecraftPacketIds packetId,
326 virtual ::IncomingPacketFilterResult
330 virtual ::OutgoingPacketFilterResult
331 allowOutgoingPacket(::std::vector<::NetworkIdentifierWithSubId>
const& ids,
::Packet const& packet) = 0;
333 virtual void onWebsocketRequest(
334 ::std::string
const& serverAddress,
335 ::std::string
const& payload,
336 ::std::function<
void()> errorCallback
339 virtual void handlePacketViolation(
340 ::std::shared_ptr<::IPacketSecurityController>
const& packetSecurityController,
341 ::std::error_code
const& errorCode,
342 ::PacketViolationResponse
const response,
343 ::MinecraftPacketIds
const packetId,
346 ::SubClientId
const clientSubId,
347 ::SubClientId
const senderSubId,
348 uint
const packetSize
351 virtual void sendPacketViolationWarningPacket(
352 ::std::error_code
const& errorCode,
353 ::PacketViolationResponse violationResponse,
354 ::MinecraftPacketIds violatingPacketId,
357 ::SubClientId clientSubId
362 virtual bool getIsConnectedToApplicationLayer()
const;
364 virtual ::GameSpecificNetEventCallback* getGameSpecificNetEventCallback();
374 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::LoginPacket> packet);
382 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::SubClientLoginPacket> packet);
495 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockPacket> packet);
499 virtual void handle(
::NetworkIdentifier const&, ::std::shared_ptr<::UpdateBlockSyncedPacket>);
501 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockSyncedPacket> packet);
546 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::MobEquipmentPacket> packet);
650 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet);
659 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::LevelChunkPacket> packet);
673 virtual void handle(
::NetworkIdentifier const&, ::std::shared_ptr<::ClientCacheMissResponsePacket>);
675 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::ClientCacheMissResponsePacket> packet);
694 virtual void handle(
::NetworkIdentifier const&, ::std::shared_ptr<::UpdateAttributesPacket>);
812 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::InventoryTransactionPacket> packet);
1102 MCFOLD
void $onPlayerReady(
::Player& player);
1107 MCFOLD
void $onUnableToConnect(::Connection::DisconnectFailReason, ::std::string
const&, ::std::string
const&);
1109 MCFOLD
void $onUnableToConnect(
1110 ::Connection::DisconnectFailReason discoReason,
1111 ::std::string
const& messageFromServer,
1112 ::std::string
const& messageBodyOverride
1116 MCFOLD
void $onTick();
1118 MCFOLD
void $onOutgoingPacket(
::NetworkIdentifier const&, ::MinecraftPacketIds, ::SubClientId, ::SubClientId);
1120 MCFOLD
void $onValidPacketReceived(
::NetworkIdentifier const&, ::MinecraftPacketIds, ::SubClientId, ::SubClientId);
1123 MCFOLD
void $onStoreOfferReceive(::ShowStoreOfferRedirectType
const, ::std::string
const& offerID);
1125 MCFOLD
void $onStoreOfferReceive(::ShowStoreOfferRedirectType
const redirectType, ::std::string
const& offerID);
1129 MCFOLD
void $onDisconnect(
1131 ::Connection::DisconnectFailReason
const discoReason,
1132 ::Connection::DisconnectionStage
const disconnectStage,
1133 ::std::string
const& messageFromServer,
1134 ::std::string
const& messageBodyOverride,
1136 ::std::string
const& telemetryOverride
1139 MCFOLD
void $onDisconnect(
1141 ::Connection::DisconnectFailReason
const discoReason,
1142 ::Connection::DisconnectionStage
const disconnectStage,
1143 ::std::string
const& messageFromServer,
1144 ::std::string
const& messageBodyOverride,
1146 ::std::string
const& telemetryOverride
1150 MCFOLD
void $onWebsocketRequest(
1151 ::std::string
const& serverAddress,
1152 ::std::string
const& payload,
1153 ::std::function<
void()> errorCallback
1156 MCFOLD
void $handlePacketViolation(
1157 ::std::shared_ptr<::IPacketSecurityController>
const& packetSecurityController,
1158 ::std::error_code
const& errorCode,
1159 ::PacketViolationResponse
const response,
1160 ::MinecraftPacketIds
const packetId,
1163 ::SubClientId
const clientSubId,
1164 ::SubClientId
const senderSubId,
1165 uint
const packetSize
1168 MCFOLD
void $sendPacketViolationWarningPacket(
1169 ::std::error_code
const& errorCode,
1170 ::PacketViolationResponse violationResponse,
1171 ::MinecraftPacketIds violatingPacketId,
1174 ::SubClientId clientSubId
1179 MCFOLD
bool $getIsConnectedToApplicationLayer()
const;
1181 MCFOLD ::GameSpecificNetEventCallback* $getGameSpecificNetEventCallback();
1191 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::LoginPacket> packet);
1199 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::SubClientLoginPacket> packet);
1312 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockPacket> packet);
1316 MCFOLD
void $handle(
::NetworkIdentifier const&, ::std::shared_ptr<::UpdateBlockSyncedPacket>);
1318 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::UpdateBlockSyncedPacket> packet);
1363 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::MobEquipmentPacket> packet);
1467 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet);
1476 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::LevelChunkPacket> packet);
1490 MCFOLD
void $handle(
::NetworkIdentifier const&, ::std::shared_ptr<::ClientCacheMissResponsePacket>);
1492 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::ClientCacheMissResponsePacket> packet);
1511 MCFOLD
void $handle(
::NetworkIdentifier const&, ::std::shared_ptr<::UpdateAttributesPacket>);
1629 MCFOLD
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::InventoryTransactionPacket> packet);
Definition ActorEventPacket.h:19
Definition ActorFallPacket.h:5
Definition ActorPickRequestPacket.h:19
Definition AddActorPacket.h:20
Definition AddBehaviorTreePacket.h:19
Definition AddItemActorPacket.h:19
Definition AddMobPacket.h:5
Definition AddPaintingPacket.h:20
Definition AddPlayerPacket.h:20
Definition AddVolumeEntityPacket.h:19
Definition AgentActionEventPacket.h:19
Definition AgentAnimationPacket.h:19
Definition AnimateEntityPacket.h:19
Definition AnimatePacket.h:19
Definition AnvilDamagePacket.h:19
Definition AutomationClientConnectPacket.h:19
Definition AvailableActorIdentifiersPacket.h:19
Definition AvailableCommandsPacket.h:19
Definition AwardAchievementPacket.h:19
Definition EnableNonOwnerReferences.h:7
static MCAPI void ** $vftable()
Definition BiomeDefinitionListPacket.h:19
Definition BlockActorDataPacket.h:19
Definition BlockEventPacket.h:19
Definition BlockPickRequestPacket.h:19
Definition BookAddPagePacket.h:5
Definition BookDeletePagePacket.h:5
Definition BookEditPacket.h:19
Definition BookSignPacket.h:5
Definition BookSwapPagesPacket.h:5
Definition BossEventPacket.h:19
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 ChangeDimensionPacket.h:19
Definition ChangeMobPropertyPacket.h:19
Definition ChunkRadiusUpdatedPacket.h:19
Definition ClientCacheBlobStatusPacket.h:19
Definition ClientCacheMissResponsePacket.h:19
Definition ClientCacheStatusPacket.h:19
Definition ClientCameraAimAssistPacket.h:19
Definition ClientMovementPredictionSyncPacket.h:19
Definition ClientToServerHandshakePacket.h:19
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:19
Definition ClientboundTextureShiftPacket.h:19
Definition ClientboundUpdateSoundDataPacket.h:19
Definition CodeBuilderPacket.h:19
Definition CodeBuilderSourcePacket.h:19
Definition CommandBlockUpdatePacket.h:19
Definition CommandOutputPacket.h:19
Definition CommandRequestPacket.h:19
Definition CompletedUsingItemPacket.h:19
Definition ContainerClosePacket.h:19
Definition ContainerOpenPacket.h:19
Definition ContainerRegistryCleanupPacket.h:19
Definition ContainerSetDataPacket.h:19
Definition CorrectPlayerMovePredictionPacket.h:19
Definition CraftingDataPacket.h:19
Definition CreatePhotoPacket.h:19
Definition CreativeContentPacket.h:19
Definition CurrentStructureFeaturePacket.h:19
Definition DeathInfoPacket.h:19
Definition DebugInfoPacket.h:19
Definition DimensionDataPacket.h:19
Definition DisconnectPacket.h:19
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 GameRulesChangedPacket.h:19
Definition GameSpecificNetEventCallback.h:11
Definition GameTestRequestPacket.h:19
Definition GameTestResultsPacket.h:19
Definition GraphicsOverrideParameterPacket.h:19
Definition GuiDataPickItemPacket.h:19
Definition HurtArmorPacket.h:19
Definition IPacketSecurityController.h:22
Definition InteractPacket.h:19
Definition InventoryActionPacket.h:5
Definition InventoryContentPacket.h:19
Definition InventorySlotPacket.h:19
Definition InventoryTransactionPacket.h:19
Definition ItemRegistryPacket.h:19
Definition ItemStackRequestPacket.h:20
Definition ItemStackResponsePacket.h:19
Definition JigsawStructureDataPacket.h:19
Definition LabTablePacket.h:19
Definition LecternUpdatePacket.h:19
Definition LegacyTelemetryEventPacket.h:19
Definition LessonProgressPacket.h:19
Definition LevelChunkPacket.h:19
Definition LevelEventGenericPacket.h:19
Definition LevelEventPacket.h:19
Definition LevelSoundEventPacket.h:19
Definition LocatorBarPacket.h:19
Definition LoginPacket.h:19
Definition MapCreateLockedCopyPacket.h:19
Definition MapInfoRequestPacket.h:19
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 MultiplayerSettingsPacket.h:19
Definition NetEventCallback.h:265
Definition NetworkChunkPublisherUpdatePacket.h:19
Definition NetworkIdentifier.h:10
Definition NetworkSettingsPacket.h:19
Definition NetworkStackLatencyPacket.h:19
Definition NpcDialoguePacket.h:19
Definition NpcRequestPacket.h:19
Definition OnScreenTextureAnimationPacket.h:19
Definition OpenSignPacket.h:19
Definition PacketViolationWarningPacket.h:19
Definition PartyChangedPacket.h:19
Definition PartyDestinationCookieResponsePacket.h:19
Definition PhotoTransferPacket.h:19
Definition PlaySoundPacket.h:19
Definition PlayStatusPacket.h:19
Definition PlayerActionPacket.h:19
Definition PlayerArmorDamagePacket.h:19
Definition PlayerEnchantOptionsPacket.h:19
Definition PlayerFogPacket.h:19
Definition PlayerHotbarPacket.h:19
Definition PlayerListPacket.h:19
Definition PlayerLocationPacket.h:19
Definition PlayerSkinPacket.h:19
Definition PlayerStartItemCooldownPacket.h:19
Definition PlayerToggleCrafterSlotRequestPacket.h:19
Definition PlayerUpdateEntityOverridesPacket.h:19
Definition PlayerVideoCapturePacket.h:19
Definition PositionTrackingDBClientRequestPacket.h:20
Definition PositionTrackingDBServerBroadcastPacket.h:20
Definition PrimitiveShapesPacket.h:19
Definition PurchaseReceiptPacket.h:19
Definition RecordStartedPacket.h:19
Definition RefreshEntitlementsPacket.h:19
Definition RemoveActorPacket.h:19
Definition RemoveObjectivePacket.h:19
Definition RemoveVolumeEntityPacket.h:19
Definition RequestAbilityPacket.h:19
Definition RequestChunkRadiusPacket.h:19
Definition RequestNetworkSettingsPacket.h:19
Definition RequestPermissionsPacket.h:19
Definition ResourcePackChunkDataPacket.h:19
Definition ResourcePackChunkRequestPacket.h:19
Definition ResourcePackClientResponsePacket.h:19
Definition ResourcePackDataInfoPacket.h:19
Definition ResourcePackStackPacket.h:19
Definition ResourcePacksInfoPacket.h:19
Definition ResourcePacksReadyForValidationPacket.h:20
Definition RespawnPacket.h:19
Definition ScriptMessagePacket.h:19
Definition SendPartyDestinationCookiePacket.h:19
Definition ServerPlayerPostMovePositionPacket.h:19
Definition ServerPresenceInfoPacket.h:19
Definition ServerSettingsRequestPacket.h:19
Definition ServerSettingsResponsePacket.h:19
Definition ServerStatsPacket.h:19
Definition ServerStoreInfoPacket.h:19
Definition ServerToClientHandshakePacket.h:19
Definition ServerboundDataDrivenScreenClosedPacket.h:20
Definition ServerboundDataStorePacket.h:19
Definition ServerboundDiagnosticsPacket.h:19
Definition ServerboundLoadingScreenPacket.h:19
Definition ServerboundPackSettingChangePacket.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 SetDisplayObjectivePacket.h:19
Definition SetHealthPacket.h:19
Definition SetHudPacket.h:19
Definition SetLastHurtByPacket.h:19
Definition SetLocalPlayerAsInitializedPacket.h:19
Definition SetPlayerFurnaceOptionsPacket.h:19
Definition SetPlayerGameTypePacket.h:19
Definition SetPlayerInventoryOptionsPacket.h:19
Definition SetScorePacket.h:19
Definition SetScoreboardIdentityPacket.h:19
Definition SetSpawnPositionPacket.h:19
Definition SetTimePacket.h:19
Definition SetTitlePacket.h:19
Definition SettingsCommandPacket.h:19
Definition ShowCreditsPacket.h:19
Definition ShowProfilePacket.h:19
Definition ShowStoreOfferPacket.h:19
Definition SimpleEventPacket.h:19
Definition SimulationTypePacket.h:19
Definition GameConnectionInfo.h:24
Definition SpawnExperienceOrbPacket.h:19
Definition SpawnParticleEffectPacket.h:19
Definition StartGamePacket.h:19
Definition StopSoundPacket.h:19
Definition StructureBlockUpdatePacket.h:19
Definition StructureTemplateDataRequestPacket.h:19
Definition StructureTemplateDataResponsePacket.h:19
Definition SubChunkPacket.h:19
Definition SubChunkRequestPacket.h:19
Definition SubClientLoginPacket.h:19
Definition SyncActorPropertyPacket.h:19
Definition SyncWorldClocksPacket.h:19
Definition TakeItemActorPacket.h:19
Definition TextPacket.h:19
Definition TickingAreasLoadStatusPacket.h:19
Definition ToastRequestPacket.h:20
Definition TransferPacket.h:19
Definition TrimDataPacket.h:19
Definition UnlockedRecipesPacket.h:19
Definition UpdateAbilitiesPacket.h:20
Definition UpdateAdventureSettingsPacket.h:19
Definition UpdateAttributesPacket.h:19
Definition UpdateBlockPacket.h:19
Definition UpdateBlockSyncedPacket.h:19
Definition UpdateClientOptionsPacket.h:19
Definition UpdateEquipPacket.h:19
Definition UpdatePlayerGameTypePacket.h:19
Definition UpdateSoftEnumPacket.h:19
Definition UpdateSubChunkBlocksPacket.h:19
Definition UpdateTradePacket.h:19
Definition VoxelShapesPacket.h:19
Definition NetworkIdentifierWithSubId.h:10