LeviLamina
Loading...
Searching...
No Matches
MinecraftEventing.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/certificates/identity/ActiveDirectoryAction.h"
7#include "mc/certificates/identity/LastClickedSource.h"
8#include "mc/certificates/identity/edu/Role.h"
9#include "mc/client/game/DiskStatus.h"
10#include "mc/client/game/edu_cloud/CloudItemType.h"
11#include "mc/client/game/edu_cloud/ConflictResolutionStatus.h"
12#include "mc/client/gui/screens/controllers/ClassroomSetting.h"
13#include "mc/client/gui/screens/controllers/EduShareMethodType.h"
14#include "mc/client/gui/screens/controllers/EduShareUriType.h"
15#include "mc/client/gui/screens/controllers/SettingsScreenMode.h"
16#include "mc/client/social/MultiplayerServiceIdentifier.h"
17#include "mc/client/social/MultiplayerState.h"
18#include "mc/client/store/iap/transactions/TransactionStatus.h"
19#include "mc/client/util/edu_cloud_utils/Operation.h"
20#include "mc/common/SubClientId.h"
21#include "mc/deps/application/crash_manager/CrashTelemetryProcessor.h"
22#include "mc/deps/application/storage_migration/StorageMigrationType.h"
23#include "mc/deps/application/storage_migration/WorldRecoveryTelemetryHandler.h"
24#include "mc/deps/core/file/LevelStorageState.h"
25#include "mc/deps/core/file/PathBuffer.h"
26#include "mc/deps/core/threading/BasicLockbox.h"
27#include "mc/deps/core/utility/NonOwnerPointer.h"
28#include "mc/deps/core/utility/ServiceRegistrationToken.h"
29#include "mc/deps/core/utility/ValidationStatus.h"
30#include "mc/deps/core/utility/buffer_span.h"
31#include "mc/deps/core/utility/pub_sub/Subscription.h"
32#include "mc/deps/input/InputMode.h"
33#include "mc/deps/input/enums/RawInputType.h"
34#include "mc/deps/shared_types/legacy/Difficulty.h"
35#include "mc/deps/shared_types/legacy/actor/ActorDamageCause.h"
36#include "mc/events/ConnectedStorageEventType.h"
37#include "mc/events/EduControlPanelUpdateType.h"
38#include "mc/events/FatalClientPackErrorType.h"
39#include "mc/events/IConnectionEventing.h"
40#include "mc/events/IMinecraftEventing.h"
41#include "mc/events/NetworkType.h"
42#include "mc/events/OpenCodeMethod.h"
43#include "mc/events/TextProcessingEventOrigin.h"
44#include "mc/events/UserGeneratedUriSource.h"
45#include "mc/events/identity/EduSignInStage.h"
46#include "mc/events/store_event_data/StoreType.h"
47#include "mc/identity/IdentitySignInTrigger.h"
48#include "mc/identity/IdentityType.h"
49#include "mc/identity/SignInResult.h"
50#include "mc/network/MinecraftPacketIds.h"
51#include "mc/network/PacketViolationResponse.h"
52#include "mc/network/TransportLayer.h"
53#include "mc/network/connection/DisconnectFailReason.h"
54#include "mc/network/services/signaling/SignalServiceConnectStage.h"
55#include "mc/platform/brstd/function_ref.h"
56#include "mc/platform/brstd/move_only_function.h"
57#include "mc/platform/threading/Mutex.h"
58#include "mc/server/commands/CommandPermissionLevel.h"
59#include "mc/server/commands/PlayerPermissionLevel.h"
60#include "mc/server/safety/ChatFloodingAction.h"
61#include "mc/world/actor/ActorType.h"
62#include "mc/world/actor/player/LoadingState.h"
63#include "mc/world/actor/player/persona/ProfileType.h"
64#include "mc/world/containers/managers/controllers/MapOutputType.h"
65#include "mc/world/item/ItemAcquisitionMethod.h"
66#include "mc/world/item/ItemUseMethod.h"
67#include "mc/world/level/FileArchiverOutcome.h"
68#include "mc/world/level/GameType.h"
69#include "mc/world/level/block/CommandBlockMode.h"
70#include "mc/world/level/storage/DBStorageFolderWatcherSnapshotKind.h"
71
72// auto generated forward declare list
73// clang-format off
74class Actor;
75class AppPlatform;
76class ArmorTrim;
78class Block;
79class BlockPos;
82class ContentIdentity;
84class Experiments;
85class IPacketObserver;
88class ItemDescriptor;
89class ItemEnchants;
90class ItemInstance;
91class ItemStack;
92class Level;
93class LevelChunk;
94class LevelData;
95class LevelSeed64;
96class LevelSettings;
98class Mob;
101class PackInstance;
102class PackManifest;
103class PackSettings;
104class PacketObserver;
106class Player;
112class TaskGroup;
113class TelemetryInfo;
114struct AsyncJoinAllow;
115struct AsyncJoinDeny;
118struct ExtraLicenseData;
120struct LowMemoryReport;
122struct NewBlockID;
123struct PacksInfoData;
126struct StackStats;
128struct glTFExportData;
129namespace Bedrock { class SessionInfo; }
130namespace Bedrock { struct CrashUploadStatus; }
131namespace Bedrock { struct DeviceIdContext; }
132namespace Bedrock { struct DirectoryEntry; }
133namespace Bedrock { struct WorldRecoveryTelemetryEvent; }
134namespace Bedrock::Http { class Status; }
135namespace Core { class Path; }
136namespace Core::Profile { struct FileCounters; }
137namespace Identity { struct EduDSTelemetryIdentifier; }
138namespace Json { class Value; }
139namespace PlayerMessaging { struct SigninID; }
140namespace PuvLoadData { struct TelemetryEventData; }
141namespace Social { class GameConnectionInfo; }
142namespace Social { class IUserManager; }
143namespace Social { struct PermissionCheckResult; }
144namespace Social { struct PlayerIDs; }
145namespace Social::Events { class AchievementEventing; }
146namespace Social::Events { class Event; }
147namespace Social::Events { class EventManager; }
148namespace Social::Events { class IEventListener; }
149namespace Social::Events { class Measurement; }
150namespace Social::Events { class MobTelemetry; }
151namespace Social::Events { class PlayerTelemetry; }
152namespace Social::Events { class Property; }
153namespace Social::Events { class RealtimeRoute; }
154namespace Social::Events { class ScreenFlow; }
155namespace Social::Events { class TelemetryHeartbeat; }
156namespace Social::Events { struct InboxSummaryData; }
157namespace Webview { struct TelemetryCommonProperties; }
158namespace mce { class UUID; }
159namespace Legacy { struct WorldConversionReport; }
160// clang-format on
161
162class MinecraftEventing : public ::IMinecraftEventing,
165public:
166 // MinecraftEventing inner types declare
167 // clang-format off
168 struct RealmsTelemetryBox;
169 // clang-format on
170
171 // MinecraftEventing inner types define
172 enum class AccountType : int {
173 Xbl = 1,
174 Guest = 2,
175 Other = 3,
176 };
177
178 enum class AchievementIds : uchar {
179 ChestFullOfCobblestone = 7,
180 DiamondForYou = 10,
181 IronBelly = 20,
182 IronMan = 21,
183 OnARail = 29,
184 Overkill = 30,
185 ReturnToSender = 37,
186 SniperDuel = 38,
187 StayinFrosty = 39,
188 TakeInventory = 40,
189 MapRoom = 50,
190 FreightStation = 52,
191 SmeltEverything = 53,
192 TasteOfYourOwnMedicine = 54,
193 WhenPigsFly = 56,
194 Inception = 58,
195 ArtificialSelection = 60,
196 FreeDiver = 61,
197 SpawnTheWither = 62,
198 Beaconator = 63,
199 GreatView = 64,
200 SuperSonic = 65,
201 TheEndAgain = 66,
202 TreasureHunter = 67,
203 ShootingStar = 68,
204 FashionShow = 69,
205 SelfPublishedAuthor = 71,
206 AlternativeFuel = 72,
207 SleepWithTheFishes = 73,
208 Castaway = 74,
209 ImAMarineBiologist = 75,
210 SailThe7Seas = 76,
211 MeGold = 77,
212 Ahoy = 78,
213 Atlantis = 79,
214 OnePickleTwoPickleSeaPickleFour = 80,
215 DoaBarrelRoll = 81,
216 Moskstraumen = 82,
217 Echolocation = 83,
218 WhereHaveYouBeen = 84,
219 TopOfTheWorld = 85,
220 FruitOnTheLoom = 86,
221 SoundTheAlarm = 87,
222 BuyLowSellHigh = 88,
223 Disenchanted = 89,
224 TimeForStew = 90,
225 BeeOurGuest = 91,
226 TotalBeeLocation = 92,
227 StickySituation = 93,
228 CoverMeInDebris = 94,
229 FloatYourGoat = 95,
230 Friend = 96,
231 WaxOnWaxOff = 97,
232 StriderRiddenInLavaInOverworld = 98,
233 GoatHornAcquired = 99,
234 JukeboxUsedInMeadows = 100,
235 TradedAtWorldHeight = 101,
236 SurvivedFallFromWorldHeight = 102,
237 SneakCloseToSculkSensor = 103,
238 ItSpreads = 104,
239 BirthdaySong = 105,
240 WithOurPowersCombined = 106,
241 PlantingThePast = 107,
242 CarefulRestoration = 108,
243 Revaulting = 109,
244 CraftersCraftingCrafters = 110,
245 WhoNeedsRockets = 111,
246 OverOverkill = 112,
247 HeartTransplanter = 113,
248 StayHydrated = 114,
249 MobKabob = 115,
250 Count = 116,
251 };
252
253 enum class BlockPlacementMethod : int {
254 Entity = 0,
255 Command = 1,
256 };
257
258 enum class ChangeType : int {
259 Unknown = 0,
260 Added = 1,
261 Removed = 2,
262 Updated = 3,
263 };
264
265 enum class InteractionType : uchar {
266 Breeding = 1,
267 Taming = 2,
268 Curing = 3,
269 Crafted = 4,
270 Shearing = 5,
271 Milking = 6,
272 Trading = 7,
273 Feeding = 8,
274 Igniting = 9,
275 Coloring = 10,
276 Naming = 11,
277 Leashing = 12,
278 Unleashing = 13,
279 PetSleep = 14,
280 Trusting = 15,
281 Commanding = 16,
282 };
283
284 enum class ItemInteractMethod : int {
285 Use = 0,
286 Place = 1,
287 };
288
289 enum class POIBlockInteractionType : uchar {
290 None = 0,
291 Extend = 1,
292 Clone = 2,
293 Lock = 3,
294 Create = 4,
295 CreateLocator = 5,
296 Rename = 6,
297 ItemPlaced = 7,
298 ItemRemoved = 8,
299 Cooking = 9,
300 Dousing = 10,
301 Lighting = 11,
302 Haystack = 12,
303 Filled = 13,
304 Emptied = 14,
305 AddDye = 15,
306 DyeItem = 16,
307 ClearItem = 17,
308 EnchantArrow = 18,
309 CompostItemPlaced = 19,
310 RecoveredBonemeal = 20,
311 BookPlaced = 21,
312 BookOpened = 22,
313 Disenchant = 23,
314 Repair = 24,
315 DisenchantAndRepair = 25,
316 };
317
318 enum class PoiEventBlockType : int {
319 BlastFurnace = 0,
320 BrewingStand = 1,
321 CartographyTable = 2,
322 Grindstone = 3,
323 Loom = 4,
324 Smoker = 5,
325 Stonecutter = 6,
326 Barrel = 7,
327 Bell = 8,
328 Campfire = 9,
329 Cauldron = 10,
330 Composter = 11,
331 Lectern = 12,
332 };
333
334 enum class PoiEventType : int {
335 BlockUsageAttempt = 0,
336 BlockUsed = 1,
337 };
338
339 enum class TeleportationCause : int {
340 Unknown = 0,
341 Projectile = 1,
342 ChorusFruit = 2,
343 Command = 3,
344 Behavior = 4,
345 TeleportationCauseCount = 5,
346 };
347
348 struct RealmsTelemetryBox {
349 public:
350 // member variables
351 // NOLINTBEGIN
353 // NOLINTEND
354
355 public:
356 // prevent constructor by default
357 RealmsTelemetryBox& operator=(RealmsTelemetryBox const&);
358 RealmsTelemetryBox(RealmsTelemetryBox const&);
359 RealmsTelemetryBox();
360 };
361
362public:
363 // member variables
364 // NOLINTBEGIN
365 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TelemetryInfo>> mTelemetryInfo;
366 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Social::Events::TelemetryHeartbeat>> mHeartbeat;
367 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Social::IUserManager>> mUserManager;
368 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::AppPlatform>> mAppPlatform;
369 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mAssertTelemetrySubscription;
370 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mSettingsDir;
371 ::ll::TypedStorage<8, 32, ::std::string> mPlayerSessionID;
372 ::ll::TypedStorage<8, 32, ::std::string> mAppSessionID;
373 ::ll::TypedStorage<1, 1, bool> mShouldHaveAchievementsEnabled;
374 ::ll::TypedStorage<1, 1, bool> mAchievementsAlwaysEnabled;
375 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mAchivementsAlwaysOptionSubscription;
376 ::ll::TypedStorage<8, 8, double> mLastScreenTimestamp;
377 ::ll::TypedStorage<8, 8, double> mLastImGuiScreenTimestamp;
378 ::ll::TypedStorage<1, 1, bool> mFlagPlayerGameTypeDefault;
379 ::ll::TypedStorage<1, 1, bool> mFlagDeepLink;
380 ::ll::TypedStorage<4, 4, int> mNumTimesDeviceLost;
381 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, double>> mPlayerLastDamagedTimestamp;
382 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mWorldSessionIdGenerationTimestamp;
383 ::ll::TypedStorage<8, 8, ::ServiceRegistrationToken<::IMinecraftEventing>> mServiceRegistrationToken;
384 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PacketObserver>> mPacketObserver;
385 ::ll::TypedStorage<8, 8, ::ServiceRegistrationToken<::IPacketObserver>> mPacketObserverRegistrationToken;
386 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ChunkRecyclerTelemetryData>> mChunkRecyclerTelemetryData;
387 ::ll::TypedStorage<8, 8, ::ServiceRegistrationToken<::ChunkRecyclerTelemetryData>>
388 mChunkRecyclerTelemetryDataRegistrationToken;
389 ::ll::TypedStorage<8, 8, ::ServiceRegistrationToken<::Bedrock::WorldRecoveryTelemetryHandler>>
390 mWorldRecoveryRegistrationToken;
391 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::MinecraftEventingDependencies>>> mDeps;
392 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mTaskGroup;
393 ::ll::TypedStorage<
394 8,
395 88,
397 mRealmsTelemetry;
398 // NOLINTEND
399
400public:
401 // prevent constructor by default
402 MinecraftEventing();
403
404public:
405 // virtual functions
406 // NOLINTBEGIN
407 virtual ~MinecraftEventing() /*override*/;
408
409 virtual ::IPurchaseEventing& getPurchaseEventing() /*override*/;
410
411 virtual void init(
412 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager,
414 ) /*override*/;
415
416 virtual void initDeviceAndSessionIds() /*override*/;
417
418 virtual void initEditorEventListener() /*override*/;
419
420 virtual void shutdown() /*override*/;
421
422 virtual void updatePrimaryLocalUserId(uint const& userId) /*override*/;
423
424 virtual ::std::string getUserUID(::Social::IdentityType type, ::std::string const& primaryId) const /*override*/;
425
426 virtual void registerSecondaryUserCommonProperties(uint const& userId, ::std::string const& uid) const /*override*/;
427
428 virtual void unregisterSecondaryUserCommonProperties(uint const& userId) const /*override*/;
429
430 virtual void updateIsLegacyPlayer(bool isLegacyPlayer) const /*override*/;
431
432 virtual void updateIsTrial(bool isTrial) const /*override*/;
433
434 virtual void updateEditionType() const /*override*/;
435
436 virtual void updateClientId() const /*override*/;
437
438 virtual void addListener(::std::unique_ptr<::Social::Events::IEventListener> listener) /*override*/;
439
440 virtual void clearListeners() /*override*/;
441
442 virtual void registerOptionsObserver(
443 ::brstd::function_ref<
444 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>) const,
445 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>)> registerObserver
446 ) /*override*/;
447
448 virtual void setTestBuildIdTag(char const* id) /*override*/;
449
450 virtual void removeTestBuildIdTag() /*override*/;
451
452 virtual void setTestTelemetryTag(char const* name) /*override*/;
453
454 virtual void removeTestTelemetryTag() /*override*/;
455
456 virtual void stopDebugEventLoggingForAllListeners() /*override*/;
457
458 virtual void tick() /*override*/;
459
460 virtual void forceSendEvents() /*override*/;
461
462 virtual ::std::string getSessionId() /*override*/;
463
464 virtual ::std::string const& getPlayerSessionId() /*override*/;
465
466 virtual ::std::chrono::steady_clock::time_point getWorldSessionIdGenerationTimestamp() const /*override*/;
467
468 virtual void fireEventDefaultGameTypeChanged(::GameType, ::GameType) /*override*/;
469
470 virtual void fireEventWorldLoaded(
471 ::Player* player,
472 ::brstd::function_ref<
473 void(::Social::Events::EventManager&, ::Social::Events::Event&) const,
474 void(::Social::Events::EventManager&, ::Social::Events::Event&)> writer
475 ) /*override*/;
476
477 virtual void fireEventMarkLevelForSync(
478 ::std::string const& levelId,
479 int64 local,
480 int64 remote,
481 ::IMinecraftEventing::MarkLevelForSyncReason reason
482 ) /*override*/;
483
484 virtual void fireEventLockedItemGiven() /*override*/;
485
486 virtual void fireEventWorldLoadTimes(
487 ::std::string const& calledFromScreen,
488 ::std::vector<::std::pair<::std::string, float>> const progressHandlerLoadTimes
489 ) /*override*/;
490
491 virtual void fireEventBlockPlacedByCommand(::Block const& placedBlock, int numberOfBlocksPlaced) /*override*/;
492
493 virtual void fireEventEntitySpawned(::Player* player, int mobType, uint spawnMethod) /*override*/;
494
495 virtual void
496 fireEventDevSlashCommandExecuted(::std::string const& commandName, ::std::string const& command) /*override*/;
497
498 virtual void fireCommandParseTableTelemetry(
499 bool const isServer,
500 ::std::vector<::IMinecraftEventing::CommandParseTableEntry> const& parseTableDetails
501 ) const /*override*/;
502
503 virtual void
504 fireEventPlayerTravelled(::Player* player, float metersTravelledSinceLastEvent, int newBiome) /*override*/;
505
506 virtual void fireEventPlayerBounced(::Player* player, ::Block const& block, int bounceHeight) /*override*/;
507
508 virtual void
509 fireEventPlayerDamaged(::Player* player, ::SharedTypes::Legacy::ActorDamageCause damageCause) /*override*/;
510
511 virtual void fireEventSetValidForAchievements(::Player* player, bool currentlyValidForAchievements) /*override*/;
512
513 virtual void fireEventAchievementReceived(
514 ::std::string const& title,
515 ::std::string const& description,
516 ::std::string const& achievementId
517 ) /*override*/;
518
519 virtual void updatePlayerUndergroundStatus(::Player* player, bool const isUnderground) /*override*/;
520
521 virtual void
522 fireEventPlayerAttemptingExploit(::Player* player, ::IMinecraftEventing::ExploitType exploitType) /*override*/;
523
524 virtual void fireEventWorldGenerated(
525 ::std::string const& levelId,
526 ::LevelSettings const& levelSettings,
527 bool fromTemplate
528 ) /*override*/;
529
530 virtual void fireEventMultiplayerClientConnectionStateChanged(
531 ::std::string const& connectionType,
532 uint fromState,
533 uint toState,
534 uint port,
535 ::std::string const& status
536 ) /*override*/;
537
538 virtual void fireEventPacketViolationDetected(
539 uint64 readResult,
540 ::std::string readResultContext,
541 ::PacketViolationResponse violationResponse,
542 ::MinecraftPacketIds violatingPacketId,
543 ::NetworkIdentifier const& netId,
544 uint numViolations,
545 ::SubClientId clientSubId,
546 ::SubClientId senderSubId,
547 uint packetStreamLength
548 ) /*override*/;
549
550 virtual void fireEventServerReceivedValidPacket(
551 ::NetworkIdentifier const& netId,
552 ::MinecraftPacketIds packetId,
553 ::SubClientId clientSubId
554 ) /*override*/;
555
556 virtual void fireEventClientSentOrReceivedPacket(
557 ::NetworkIdentifier const& netId,
558 ::MinecraftPacketIds packetId,
559 ::SubClientId clientSubId,
560 ::std::string correlationId,
561 bool isOutgoing
562 ) /*override*/;
563
564 virtual void fireEventJoinCanceled(::LoadingState currentState) /*override*/;
565
566 virtual void fireEvent(
567 ::std::string const& eventName,
568 ::std::vector<::Social::Events::Property> const& properties,
569 ::std::vector<::Social::Events::Measurement> const& measurements,
570 bool shouldAggregate
571 ) /*override*/;
572
573 virtual void fireEventBlockTypeRegistryChecksumMismatch(
574 ::std::string const& reason,
575 uint64 const& serverBlockChecksum,
576 uint64 const& clientBlockChecksum,
577 ::std::string const& serverVersion
578 ) /*override*/;
579
580 virtual void fireEventOnSuccessfulClientLogin(::Level const* level) /*override*/;
581
582 virtual void fireEventStartWorld(
583 ::NetworkType networkType,
584 ::std::string const& ipAddress,
585 ::Social::MultiplayerServiceIdentifier const friendWorldType
586 ) /*override*/;
587
588 virtual void fireEventPlayerJoinWorld(
589 uint const& userId,
590 ::SubClientId const subId,
591 bool isJoiningLocalServer,
592 ::std::optional<bool> isUsingTURN,
593 ::IConnectionEventing::PlayerJoinWorldAttemptState const JoinState,
594 int attemptId,
595 ::Connection::DisconnectFailReason failReason,
596 ::Json::Value const& failDebugInfo,
597 ::TransportLayer transportLayer,
598 ::NetworkType networkTypeOverride,
599 ::Social::MultiplayerState multiplayerState,
600 bool isConnectedToApplicationLayer,
601 bool isFilteringProfanity,
602 ::Social::MultiplayerServiceIdentifier multiplayerServiceIdentifier,
603 ::std::string const& titleMessage,
604 ::std::string const& errorMessage,
605 ::std::string const& codeword,
606 bool isServerTransfer,
607 ::Social::GameConnectionInfo const& connectionInfo
608 ) /*override*/;
609
610 virtual void fireEventClientLastPackets(
611 uint const& userId,
612 ::SubClientId const subId,
613 int correlationId,
614 ::Json::Value const& lastSentPackets,
615 ::Json::Value const& lastReceivedPackets
616 ) /*override*/;
617
618 virtual void fireEventSignalServiceConnect(
619 ::SignalServiceConnectStage stage,
620 bool bIsSigningInAsHost,
621 ::Json::Value const& stageProperties,
622 ::PlayerMessaging::SigninID const& signinId,
623 ::std::string const& correlationId,
624 bool isJsonRpc
625 ) /*override*/;
626
627 virtual void fireEventSignalMessagePerformance(
628 ::PlayerMessaging::SigninID const& signinId,
629 ::MessagePerformance const& messagePerformanceEvent,
630 bool isJsonRpc
631 ) /*override*/;
632
633 virtual void fireEventOnClientDisconnect(
634 ::SubClientId subId,
635 bool isNetworked,
636 ::Connection::DisconnectFailReason reason,
637 ::std::string const& titleMessage,
638 ::std::string const& errorMessage,
639 ::std::string const& codeword
640 ) /*override*/;
641
642 virtual void fireEventOnServerDisconnect(
643 ::Connection::DisconnectFailReason reason,
644 ::std::string const& disconnectedClientId,
645 ::SubClientId subId,
646 ::std::string const& reasonContext,
647 uint64 clientCount,
648 ::std::string const& firstTimeStamp
649 ) /*override*/;
650
651 virtual void fireEventOnServerAsyncJoinTaskVerdict(
652 ::nonstd::expected<::AsyncJoinAllow, ::AsyncJoinDeny> const& joinVerdict,
653 ::SubClientId const subId,
654 uint verdictQueueLength
655 ) /*override*/;
656
657 virtual void fireEventHttpClientError(::std::string const& error) /*override*/;
658
659 virtual void fireEventSignInToIdentity(
660 ::IMinecraftEventing::SignInAccountType accountType,
661 ::Social::IdentitySignInTrigger trigger,
662 ::std::string const& signInSource,
663 bool signInUIShown,
664 ::IMinecraftEventing::SignInStage stage,
665 ::Social::SignInResult result,
666 int retryCount,
667 ::Social::PlayerIDs ids,
668 ::std::string const& errorCode
669 ) /*override*/;
670
671 virtual void fireEventSignOutOfIdentity(
672 ::IMinecraftEventing::SignInAccountType accountType,
673 ::Social::IdentitySignInTrigger trigger,
674 ::std::string const& accountId,
675 ::std::string const& errorCode
676 ) /*override*/;
677
678 virtual void fireEventSignInEdu(
679 ::std::string const& mutsUserId,
680 ::edu::Role role,
681 ::Identity::EduSignInStage stage,
682 ::std::string const& tenantType,
683 ::std::string const& error,
684 ::std::vector<::std::pair<::std::string, ::std::string>> const& details
685 ) /*override*/;
686
687 virtual void fireEventSignOutEdu(
688 ::std::string const& mutsUserId,
689 ::edu::Role role,
690 ::std::string const& tenantType,
691 ::std::string const& action,
692 ::std::string const& error
693 ) /*override*/;
694
695 virtual void fireEventSwitchAccountEdu(
696 ::std::string const& mutsUserId,
697 ::edu::Role role,
698 ::std::string const& tenantType
699 ) /*override*/;
700
701 virtual void fireEventEduDemoConversion(::edu::Role role, ::LastClickedSource lastClickedSource) /*override*/;
702
703 virtual void fireEventCloudOperationStartedEdu(
704 ::EduCloudUtils::Operation const operation,
705 ::EduCloud::CloudItemType const cloudItemType,
706 ::std::string const& cloudCorrelationId,
707 uint64 const size,
708 ::std::optional<::std::string> const& driveItemId
709 ) /*override*/;
710
711 virtual void fireEventCloudOperationEndedEdu(
712 ::EduCloudUtils::Operation const operation,
713 ::EduCloud::CloudItemType const cloudItemType,
714 ::std::string const& cloudCorrelationId,
715 ::std::chrono::milliseconds const elapsedTime,
716 uint const status,
717 uint64 const size,
718 ::std::optional<::std::string> const& driveItemId,
719 ::std::optional<::std::string> const& errorCode,
720 ::std::optional<::std::string> const& errorMessage,
721 ::std::optional<::std::string> const& error
722 ) /*override*/;
723
724 virtual void fireEventCloudMyWorldsSummary(
725 int const totalWorldsCount,
726 int const placeholderCount,
727 int const needsUploadCount,
728 int const ctagMismatchCount,
729 int const conflictCount
730 ) /*override*/;
731
732 virtual void fireEventCloudConflictCheckEdu(
733 ::std::string const& cloudCorrelationId,
734 ::EduCloud::ConflictResolutionStatus const conflictStatus
735 ) /*override*/;
736
737 virtual void fireEventPopupFiredEdu(
738 ::std::string const& mutsUserId,
739 ::std::string const& dialogType,
740 ::std::string const& experienceId,
741 ::std::string const& title,
742 ::ActiveDirectoryAction const postAction
743 ) /*override*/;
744
745 virtual void fireEventPlayIntegrityCheck(
746 ::std::string const& result,
747 ::std::string const& appRecognitionVerdict,
748 ::std::string const& deviceIntegrity,
749 ::std::string const& appLicensingVerdict
750 ) /*override*/;
751
752 virtual void fireServerConnectionEvent(
753 ::IConnectionEventing::ServerConnectionOutcome outcome,
754 uint pingLatency,
755 double timeElapsed,
756 ::std::string const& creatorName,
757 ::std::string const& worldId
758 ) /*override*/;
759
760 virtual void fireServerConnectionAttemptEvent(
761 ::std::string const& creatorName,
762 bool isTransfer,
763 ::std::string const& serverAddress
764 ) /*override*/;
765
766 virtual void fireEventServerPlayerJoinedGame(
767 ::NetworkIdentifier const& id,
768 ::SubClientId subId,
769 ::std::string const& firstConnectionTime
770 ) /*override*/;
771
772 virtual void fireEventScriptPluginDiscovery(::ScriptPluginResult const& pluginResult, bool client) /*override*/;
773
774 virtual void fireEventScriptPluginRun(
775 ::ScriptPluginResult const& pluginResult,
776 ::std::chrono::microseconds runDuration,
777 bool client
778 ) /*override*/;
779
780 virtual void fireEventScriptDebuggerListen(bool client, bool autoAttach) /*override*/;
781
782 virtual void fireEventScriptDebuggerConnect(bool client, bool autoAttach, int retries) /*override*/;
783
784 virtual void fireEditorEventToolActivated(::std::string const& toolName) /*override*/;
785
786 virtual void fireEditorUndo(::std::string const& transactionName) /*override*/;
787
788 virtual void fireEditorRedo(::std::string const& transactionName) /*override*/;
789
790 virtual void fireEditorScriptAction(
791 ::std::string const& scriptSource,
792 ::std::string const& actionName,
793 ::std::string const& actionMetadata
794 ) /*override*/;
795
796 virtual void fireEditorTutorialEvent(
797 ::std::string_view type,
798 ::std::optional<::std::string> const& state,
799 ::std::string const& currentStage,
800 ::std::optional<::std::string> const& previousStage
801 ) /*override*/;
802
803 virtual void fireEventStartClient(::std::string const& ipAddress, bool isTextToSpeechEnabled) /*override*/;
804
805 virtual void fireEventHardwareInfo() /*override*/;
806
807 virtual void fireEventDeviceLost() /*override*/;
808
809 virtual void fireEventRenderingSizeChanged() /*override*/;
810
811 virtual void
812 fireEventDiskStatus(::DiskStatus status, ::Core::LevelStorageState errorCode, uint64 freeSpace) /*override*/;
813
814 virtual void fireEventStorageAreaFull(
815 ::std::string const& areaPath,
816 ::std::vector<::Bedrock::DirectoryEntry> const& diskSizeData
817 ) /*override*/;
818
819 virtual void fireEventAppPaused() /*override*/;
820
821 virtual void fireEventAppUnpaused() /*override*/;
822
823 virtual void fireEventAppSurfaceCreated() /*override*/;
824
825 virtual void fireEventAppSurfaceDestroyed() /*override*/;
826
827 virtual void fireEventPurchaseGameAttempt(
828 ::std::string const& storeId,
829 ::std::string const& activeTab,
830 ::std::string const& productId
831 ) /*override*/;
832
833 virtual void fireEventPurchaseGameResult(int purchaseResult) /*override*/;
834
835 virtual void fireEventTrialDeviceIdCorrelation(
836 int64 myTime,
837 ::std::string const& theirId,
838 int64 theirTime,
839 ::std::string const& theirLastSessionId
840 ) /*override*/;
841
842 virtual void fireEventDeviceIdManagerFailOnIdentityGained() /*override*/;
843
844 virtual void fireEventDlcStorageFull(
845 ::std::string const& productId,
846 uint64 dlcSize,
847 uint64 onDiskScratchSpace,
848 uint64 scratchSpace,
849 uint64 premiumSpace
850 ) /*override*/;
851
852 virtual void fireEventPushNotificationPermission(bool permission, ::std::string const& deviceId) /*override*/;
853
854 virtual void fireEventPushNotificationReceived(::PushNotificationMessage const& msg) /*override*/;
855
856 virtual void
857 fireEventPushNotificationOpened(::std::string const& threadId, ::std::string const& deepLink) /*override*/;
858
859 virtual void firePerfTestEvent(
860 ::std::string const& testArtifact,
861 ::std::string const& modelName,
862 ::std::string const& renderSize,
863 uint renderDistance,
864 uint simDistance,
865 ::std::string const& memorySize,
866 ::std::vector<::std::pair<::std::string, float>> const& testArtifactData
867 ) /*override*/;
868
869 virtual void fireEventLicenseCheck(bool isLicensed, ::ExtraLicenseData& data) /*override*/;
870
871 virtual void
872 fireQueryOfferResult(::std::string const& storeID, int NumberOfOffers, bool QuerySucceeded) /*override*/;
873
874 virtual void fireEventQueryPurchasesResult(
875 ::std::string const& storeID,
876 ::std::string const& priorPurchaseIds,
877 int NumberOfPurchases,
878 bool QuerySucceeded
879 ) /*override*/;
880
881 virtual void fireEventPurchaseFailureDetails(
882 int httpCode,
883 ::std::string const& errorMessage,
884 ::std::string const& productId,
885 ::std::string const& transactionId
886 ) /*override*/;
887
888 virtual void fireEventPlatformStorePurchaseFailure(
889 ::std::string const& productId,
890 ::std::string const& errorMessage
891 ) /*override*/;
892
893 virtual void fireEventDeviceAccountFailure(
894 ::IMinecraftEventing::SignInStage stage,
895 ::IMinecraftEventing::DeviceAccountFailurePhase phase,
896 uint resultStatus,
897 ::std::string const& accountID
898 ) /*override*/;
899
900 virtual void fireEventDeviceAccountSuccess(bool isNewAccount, ::std::string const& accountID) /*override*/;
901
902 virtual void fireEventEntitlementListInfo(
903 ::std::vector<::ContentIdentity>& entitlementContentIds,
904 bool isLegacyList
905 ) /*override*/;
906
907 virtual void fireEventVideoPlayed(::std::string const& productId, ::std::string const& videoUrl) /*override*/;
908
909 virtual void fireEventBundleSubOfferClicked(
910 int offerIndex,
911 int bundleSubOfferCount,
912 ::std::string const& telemetryId,
913 ::std::string const& productId,
914 bool isOnSale,
915 ::std::string const& timeRemainingOnSale
916 ) /*override*/;
917
918 virtual void fireEventStoreOfferClicked(
919 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
920 ) /*override*/;
921
922 virtual void
923 fireEventStoreOfferClicked(::std::string const telemetryId, ::std::string const& productId) /*override*/;
924
925 virtual void fireEventPersonaOfferClicked(
926 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
927 ) /*override*/;
928
929 virtual void fireEventStoreSearch(
930 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
931 ) /*override*/;
932
933 virtual void fireEventSearchItemSelected(
934 int const correlationId,
935 int const sessionId,
936 ::std::string const& productId,
937 int const row,
938 int const column,
939 int const currentPage,
940 ::std::string const& searchType
941 ) /*override*/;
942
943 virtual void fireEventUserListUpdated(
944 ::std::string const& productId,
945 ::std::string const& listId,
946 ::std::string const& operation,
947 bool success
948 ) /*override*/;
949
950 virtual void fireEventUgcAcquisitionStateChanged(
951 ::std::string const& ugcProductId,
952 uint64 downloadSize,
953 double elapsedTime,
954 bool isUpdate,
955 int retries,
956 bool silent,
957 int numContentTrackers,
958 ::std::string const& result,
959 ::std::string const& resultDetails,
960 int httpStatus,
961 int errorCode
962 ) /*override*/;
963
964 virtual void fireEventSearchCatalogRequest(
965 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
966 ) /*override*/;
967
968 virtual void
969 fireEventStoreLocalizationBinaryFetchResponse(int const status, uint const currentFetchAttempt) /*override*/;
970
971 virtual void fireEventStoreSessionResponse(
972 ::std::string const& responseType,
973 int const status,
974 int const retryCount,
975 bool const asyncServicesManager
976 ) /*override*/;
977
978 virtual void fireEventStoreDiscoveryRequestResponse(
979 int const status,
980 int const retryAttempt,
981 bool const asyncServicesManager
982 ) /*override*/;
983
984 virtual void fireEventStoreInventoryRefreshRequestResponse(
985 int const status,
986 int const retryAttempt,
987 bool const asyncServicesManager
988 ) /*override*/;
989
990 virtual void fireEventInventoryVersionRefreshRequestResponse(
991 int const status,
992 int const retryAttempt,
993 bool const asyncServicesManager
994 ) /*override*/;
995
996 virtual void fireEventServerDrivenLayoutPageLoaded(
997 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
998 ::std::string pageID,
999 int requestSize,
1000 int responseSize,
1001 int rowCount,
1002 int itemCount,
1003 int imageCount
1004 ) /*override*/;
1005
1006 virtual void fireEventServerDrivenLayoutImagesLoaded(
1007 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
1008 ::std::string pageID,
1009 int imageCount,
1010 uint64 totalImagesSize,
1011 int successCount,
1012 int failCount,
1013 int cachedCount,
1014 ::std::vector<ushort>& responseCodes
1015 ) /*override*/;
1016
1017 virtual void fireEventTreatmentsSet(
1018 ::std::vector<::std::string> const& treatments,
1019 ::std::string const& treatmentContext
1020 ) /*override*/;
1021
1022 virtual void fireEventProgressionsSet(::std::vector<::std::string> const& progressions) /*override*/;
1023
1024 virtual void fireEventTreatmentsCleared() /*override*/;
1025
1026 virtual void fireEventPackImportTimeout(::std::string const& productId) /*override*/;
1027
1028 virtual void fireEventFatalClientPackError(
1029 ::FatalClientPackErrorType errorType,
1030 ::gsl::span<::std::string const> packIds
1031 ) /*override*/;
1032
1033 virtual void fireEventStoreErrorPage(
1034 ::std::string const& errorCode,
1035 ::std::string const& pageId,
1036 ::std::string const& discoveryServiceTitleId,
1037 ::std::string const& playFabTitleId
1038 ) /*override*/;
1039
1040 virtual void setServerIdsforClient(
1041 ::std::string const& multiplayerCorrelationId,
1042 ::std::string const& serverVersion,
1043 ::std::string const& serverId,
1044 ::std::string const& worldId,
1045 ::std::string const& scenarioId,
1046 ::std::string const& ownerId
1047 ) /*override*/;
1048
1049 virtual void setConnectionGUID(::std::string const& connectionGUID) /*override*/;
1050
1051 virtual void removeConnectionGUID() /*override*/;
1052
1053 virtual void fireEventOptionsUpdated(
1054 bool onStartup,
1055 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1056 ) /*override*/;
1057
1058 virtual void fireEventChatSettingsUpdated(
1059 ::Player const* player,
1060 ::std::vector<::Social::Events::Property> const& properties
1061 ) const /*override*/;
1062
1063 virtual void
1064 fireEventControlRemappedByPlayer(::std::string const& actionName, ::RawInputType inputType, int keyCode) const
1065 /*override*/;
1066
1067 virtual void
1068 fireEventDifficultySet(::SharedTypes::Legacy::Difficulty, ::SharedTypes::Legacy::Difficulty) /*override*/;
1069
1070 virtual void
1071 fireEventGameRulesUpdated(bool oldValue, bool newValue, ::std::string const& gameRuleName) /*override*/;
1072
1073 virtual void fireEventGameRulesUpdated(int oldValue, int newValue, ::std::string const& gameRuleName) /*override*/;
1074
1075 virtual void
1076 fireEventGameRulesUpdated(float oldValue, float newValue, ::std::string const& gameRuleName) /*override*/;
1077
1078 virtual void fireCurrentInputUpdated(uint userId, ::InputMode inputMode) /*override*/;
1079
1080 virtual void fireEventSplitScreenUpdated(::SplitScreenUpdatedEventData const& data) /*override*/;
1081
1082 virtual void fireEventPerformanceMetrics(
1083 ::ProfilerLiteTelemetry const& profileTelemetry,
1084 bool IsEcoFrameThrottled,
1085 int fpsThrottle
1086 ) /*override*/;
1087
1088 virtual void fireEventPerformanceContext(
1089 ::PerfContextTrackerReport const& perfContextReport,
1090 bool IsEcoFrameThrottled,
1091 int fpsThrottle
1092 ) /*override*/;
1093
1094 virtual void fireEventScreenChanged(
1095 uint const& userId,
1096 ::std::string const& screenName,
1097 ::std::unordered_map<::std::string, ::std::string> const& additionalProperties
1098 ) /*override*/;
1099
1100 virtual void fireEventImGuiScreenChanged(
1101 ::std::string const& screenName,
1102 ::std::unordered_map<::std::string, ::std::string> const& additionalProperties
1103 ) /*override*/;
1104
1105 virtual void fireEventPopupClosed(::std::string const& popupName) const /*override*/;
1106
1107 virtual void
1108 fireEventNewContentCheckCompleted(::std::string const& newContentPrefix, bool hasNewStoreContent) /*override*/;
1109
1110 virtual void fireEventEncyclopediaTopicChanged(::std::string const& topicName, ::InputMode inputMode) /*override*/;
1111
1112 virtual void fireEventHowToPlayTopicChanged(::std::string const& topicName, ::InputMode inputMode) /*override*/;
1113
1114 virtual void fireEventAndroidHelpRequest() /*override*/;
1115
1116 virtual void fireEventWorldFilesListed(
1117 uint64 numLevels,
1118 uint64 totalSizeMB,
1119 uint64 largestLevelMB,
1120 uint64 smallestLevelMB
1121 ) /*override*/;
1122
1123 virtual void fireEventStorage(int state, ::std::string const& extra) /*override*/;
1124
1125 virtual void fireEventStorageReport(::std::string const& report) /*override*/;
1126
1127 virtual void fireEventPlayerMessageSay(::std::string const& fromName, ::std::string const& message) /*override*/;
1128
1129 virtual void fireEventPlayerMessageTell(
1130 ::std::string const& fromName,
1131 ::std::string const& toName,
1132 ::std::string const& message
1133 ) /*override*/;
1134
1135 virtual void fireEventPlayerMessageChat(::std::string const& fromName, ::std::string const& message) /*override*/;
1136
1137 virtual void fireEventPlayerMessageMe(::std::string const& fromName, ::std::string const& message) /*override*/;
1138
1139 virtual void fireEventPlayerMessageTitle(
1140 ::std::string const& fromName,
1141 ::std::string const& toName,
1142 ::std::string const& message
1143 ) /*override*/;
1144
1145 virtual void
1146 fireEventPlayerKicked(::std::string const& sessionType, ::std::string const& kickedPlayer) /*override*/;
1147
1148 virtual void fireEventPlayerBanned(::std::string const& bannedPlayer) /*override*/;
1149
1150 virtual void fireEventChunkLoaded(::LevelChunk& chunk) /*override*/;
1151
1152 virtual void fireEventChunkUnloaded(::LevelChunk& chunk) /*override*/;
1153
1154 virtual void fireEventChunkChanged(::LevelChunk& chunk) /*override*/;
1155
1156 virtual void fireEventPackPlayed(::PackInstance const& packInstance, uint priority) /*override*/;
1157
1158 virtual void fireEventRespondedToAcceptContent(
1159 ::PacksInfoData const& data,
1160 bool accepted,
1161 bool downloadOptionalResourcePacks
1162 ) /*override*/;
1163
1164 virtual void fireEventStackLoaded(::StackStats const& stats) /*override*/;
1165
1166 virtual void firePackSettingsEvent(
1167 ::PackSettings const& packSettings,
1168 ::PackManifest const& manifest,
1169 ::std::string serializedPackSettings
1170 ) /*override*/;
1171
1172 virtual void fireEventTreatmentPackApplied(::PackManifest const& manifest) /*override*/;
1173
1174 virtual void fireEventTreatmentPackDownloadFailed(
1175 ::std::string productId,
1176 ::std::string packId,
1177 ::std::string versionNumber,
1178 ::std::string requiredTreatmentTag
1179 ) /*override*/;
1180
1181 virtual void fireEventTreatmentPackDownloaded(
1182 ::std::string productId,
1183 ::std::string packId,
1184 ::std::string versionNumber,
1185 ::std::string requiredTreatmentTag
1186 ) /*override*/;
1187
1188 virtual void fireEventTreatmentPackRemoved(::std::string packId) /*override*/;
1189
1190 virtual void fireCDNDownloadEvent(
1191 ::std::string const& packId,
1192 ::std::string const& versionNumber,
1193 ::std::string const& hostUrl,
1194 ::IMinecraftEventing::CDNDownloadResult const& downloadResult,
1195 ::IMinecraftEventing::CDNDownloadEventOrigin const& origin,
1196 float const& elapsedTime
1197 ) /*override*/;
1198
1199 virtual void
1200 fireEventContentLogsInWorldSession(::std::string const& logArea, uint errorCount, uint warningCount) /*override*/;
1201
1202 virtual void fireEventEntitlementCacheLoadTimeout() /*override*/;
1203
1204 virtual void fireTextToSpeechToggled(bool uiTTS, bool chatTTS) /*override*/;
1205
1206 virtual void fireEventWorldLoadedClassroomCustomization(
1207 ::IMinecraftEventing::WorldClassroomCustomization customization,
1208 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
1209 ) /*override*/;
1210
1211 virtual void
1212 fireClassroomSettingUpdated(::ClassroomSetting classroomSetting, ::SettingsScreenMode settingMode) /*override*/;
1213
1214 virtual void fireEventNpcPropertiesUpdated(::Actor& npcOwner, bool isEditorWorldbuilder) /*override*/;
1215
1216 virtual void fireEventBoardTextUpdated(::ChalkboardBlockActor& board) /*override*/;
1217
1218 virtual void fireEventCameraUsed(bool isSelfie) /*override*/;
1219
1220 virtual void fireEventPortfolioExported(int imageCount, int captionedCount) /*override*/;
1221
1222 virtual void fireQuickPlayEvent() /*override*/;
1223
1224 virtual void firePermissionsSetEvent(
1225 ::PlayerPermissionLevel const,
1226 ::CommandPermissionLevel const,
1227 ::PlayerPermissionLevel const,
1228 ::CommandPermissionLevel const
1229 ) /*override*/;
1230
1231 virtual void fireExternalUriLaunched(::std::string const& uri) const /*override*/;
1232
1233 virtual void fireUserGeneratedUriLaunched(::UserGeneratedUriSource source) const /*override*/;
1234
1235 virtual void fireUserGeneratedUriLaunchFailed(
1236 ::UserGeneratedUriSource source,
1237 ::Util::ResourceUri::ValidationStatus reasonCode,
1238 ::std::string const& additionalData
1239 ) const /*override*/;
1240
1241 virtual void fireEventEmptyLibraryCategoryError(::std::string const& categoryTitle) const /*override*/;
1242
1243 virtual void
1244 fireCodeBuilderCachePerformance(::std::string const& stage, ::std::chrono::milliseconds elapsedTimeMS) const
1245 /*override*/;
1246
1247 virtual void fireCodeBuilderLoadPerformance(
1248 ::std::string const& stage,
1249 uint64 tutorialSize,
1250 uint64 downloadSize,
1251 ::std::chrono::milliseconds elapsedTimeMS
1252 ) const /*override*/;
1253
1254 virtual void
1255 fireCodeBuilderRunPerformance(::std::string const& stage, ::std::chrono::milliseconds elapsedTimeMS) const
1256 /*override*/;
1257
1258 virtual void fireLibraryButtonPressed(
1259 ::std::string const& productId,
1260 ::std::string const& worldName,
1261 ::std::string const& buttonAction
1262 ) /*override*/;
1263
1264 virtual void fireCourseButtonPressed(::std::string const& courseTitle, ::std::string const& courseId) /*override*/;
1265
1266 virtual void fireLessonActionTaken(
1267 ::std::string const& lessonTitle,
1268 ::std::string const& lessonId,
1269 ::std::string const& courseId,
1270 ::IMinecraftEventing::EducationLessonAction buttonAction,
1271 int score
1272 ) /*override*/;
1273
1274 virtual void fireLessonProgressEvent(
1275 ::std::string const& lessonTitle,
1276 ::std::string const& lessonId,
1277 ::std::string const& courseId,
1278 ::std::string const& activityId,
1279 ::std::string const& action,
1280 ::std::string const& educationCreatorID,
1281 ::std::string const& educationCreatorWorldID,
1282 int score
1283 ) /*override*/;
1284
1285 virtual void fireShareButtonPressed(
1286 ::std::string const& location,
1287 ::EduShareUriType shareType,
1288 ::EduShareMethodType methodType,
1289 bool includesResource
1290 ) /*override*/;
1291
1292 virtual void
1293 fireLessonCompleteDialogOpened(::IMinecraftEventing::LessonCompleteDialogEntryPoint const entryPoint) const
1294 /*override*/;
1295
1296 virtual void fireEventEduiOSPurchaseTransaction(::TransactionStatus const& status) const /*override*/;
1297
1298 virtual void fireInAppCodeBuilderActivated(
1299 ::OpenCodeMethod method,
1300 ::std::string const& ideName,
1301 ::std::string const& educationCreatorID,
1302 ::std::string const& educationCreatorWorldID
1303 ) const /*override*/;
1304
1305 virtual void fireInAppCodeBuilderDismissed(::std::string const& ideName) const /*override*/;
1306
1307 virtual void fireCodeCommandButtonPressed() /*override*/;
1308
1309 virtual void fireIDESelected(::std::string const& name) const /*override*/;
1310
1311 virtual void fireEventEduResources() const /*override*/;
1312
1313 virtual void fireEventCodeBuilderClosed() const /*override*/;
1314
1315 virtual void fireEventCodeBuilderLog(
1316 ::Webview::TelemetryCommonProperties const& properties,
1317 ::std::string const& message,
1318 ::std::string& level
1319 ) const /*override*/;
1320
1321 virtual void fireEventCodeBuilderScoreChanged(::std::string const& objective, int const score) const /*override*/;
1322
1323 virtual void fireEventEduServiceStatus(
1324 ::std::string const& serviceName,
1325 ::std::string const& requestName,
1326 int durationMS,
1327 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
1328 ) const /*override*/;
1329
1330 virtual void fireEventCodeBuilderRuntimeAction(::std::string const& action) const /*override*/;
1331
1332 virtual void
1333 fireEventWebviewDownload(::std::string const& downloadState, ::WebviewDownloadInfo const& downloadInfo) const
1334 /*override*/;
1335
1336 virtual void fireEduServiceRequestFailed(
1337 ::std::string const& serviceName,
1338 ::std::string const& requestName,
1339 ::std::string const& error,
1340 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
1341 ) const /*override*/;
1342
1343 virtual void fireEventButtonPressed(
1344 ::std::string const& buttonName,
1345 ::std::unordered_map<::std::string, ::std::string> const& details
1346 ) const /*override*/;
1347
1348 virtual void fireEventOptionsChanged(
1349 ::std::string const& optionGroup,
1350 ::std::unordered_map<::std::string, int> const& events
1351 ) const /*override*/;
1352
1353 virtual void fireEventModalShown(
1354 ::std::string const& modalName,
1355 ::std::unordered_map<::std::string, ::std::string> const& details
1356 ) const /*override*/;
1357
1358 virtual void fireEventTagButtonPressed(::std::string const& tag, bool showMore) const /*override*/;
1359
1360 virtual void fireEventLevelDataOverride(::std::string_view valueName) const /*override*/;
1361
1362 virtual void fireEventEduContentVerificationFailed() const /*override*/;
1363
1364 virtual void fireEventLibrarySearch(
1365 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1366 ) const /*override*/;
1367
1368 virtual void fireEventLibrarySearchItemSelected(
1369 int const sessionId,
1370 int const correlationId,
1371 ::std::string const& productId,
1372 int const row,
1373 int const column
1374 ) const /*override*/;
1375
1376 virtual void fireEventControlTipsPanelUpdated(::EduControlPanelUpdateType updateType, double elapsedTimeSec) const
1377 /*override*/;
1378
1379 virtual void fireEventWorldExported(int64 worldSeed, uint64 worldSize) /*override*/;
1380
1381 virtual void fireEventWorldImported(int64 worldSeed, uint64 worldSize) /*override*/;
1382
1383 virtual void fireEventWorldImportedResult(::FileArchiverOutcome) /*override*/;
1384
1385 virtual void
1386 fireGlobalResourcePackCrashRecovery(::PackInstance& packInstance, ::mce::UUID recoveryID, int order) /*override*/;
1387
1388 virtual void fireEventRealmShared(
1389 ::std::string const& url,
1390 ::IMinecraftEventing::ShareMode const& mode,
1391 int64 const& worldId
1392 ) /*override*/;
1393
1394 virtual void fireEventRealmMemberlistCleared(int64 const& worldId, int const& numberOfUsersRemoved) /*override*/;
1395
1396 virtual void fireEventRealmUrlGenerated(::std::string const& url, int64 const& worldId) /*override*/;
1397
1398 virtual void fireEventStructureExport(
1399 ::glTFExportData const& exportData,
1400 ::IMinecraftEventing::ExportOutcome outcome,
1401 ::IMinecraftEventing::ExportStage stage
1402 ) const /*override*/;
1403
1404 virtual void fireEventContentShared(
1405 ::std::string const& productId,
1406 ::std::string const& url,
1407 ::IMinecraftEventing::ShareMode const& mode
1408 ) /*override*/;
1409
1410 virtual void fireMinecraftVersionLaunched(bool launchedLegacy) /*override*/;
1411
1412 virtual void fireMinecraftVersionInviteAccepted(bool launchedLegacy, uint64 inviteGameOwner) /*override*/;
1413
1414 virtual void fireInviteStatusReceived(::std::string id) /*override*/;
1415
1416 virtual void fireInviteStatusSentImpl(uint userId, ::std::vector<::std::string> invitationIds) /*override*/;
1417
1418 virtual void fireDayOneExperienceStateChanged(
1419 ::IMinecraftEventing::DayOneExperienceState newState,
1420 ::std::optional<uint> importedWorldIndex,
1421 ::std::optional<uint64> importedWorldTimestamp
1422 ) /*override*/;
1423
1424 virtual void fireContentDecryptionFailure(
1425 ::std::string const& failedContentIds,
1426 ::std::string const& contentKey,
1427 ::std::string const& failurePoint
1428 ) /*override*/;
1429
1430 virtual void fireWorldConversionAttemptEvent(::Legacy::WorldConversionReport const& report) /*override*/;
1431
1432 virtual void fireWorldConversionInitiatedEvent(::std::string const& converterVersion) /*override*/;
1433
1434 virtual void fireWorldUpgradedToCnCPart2(
1435 bool willUpgrade,
1436 ::std::string const& baseGameVersion,
1437 ::Experiments const& experiments,
1438 ::std::string const& lastOpenedVersion,
1439 ::LevelSeed64 worldSeed,
1440 float worldSizeMB
1441 ) /*override*/;
1442
1443 virtual void fireEventAssertFailed(::std::string const& assertBucket, ::std::string const& message) /*override*/;
1444
1445 virtual void fireEventCrashSystemFailedToInit() /*override*/;
1446
1447 virtual void fireChatUsedEvent(uint chatLength, bool isSlashCommand) /*override*/;
1448
1449 virtual void fireEventJoinByCode(::std::string const&) /*override*/;
1450
1451 virtual void fireEventAppInitFileOpenStats(
1452 ::Core::Profile::FileCounters const& openForRead,
1453 ::Core::Profile::FileCounters const& openForWrite
1454 ) /*override*/;
1455
1456 virtual void fireEventStartupPerformance(
1457 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1458 ) /*override*/;
1459
1460 virtual void fireEventOnAppStart(
1461 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1462 ) /*override*/;
1463
1464 virtual void fireEventOnAppSuspend(
1465 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
1466 ::IMinecraftEventing::SuspendTriggersDisconnect triggersDisconnect,
1467 bool forceDisableEvents
1468 ) /*override*/;
1469
1470 virtual void fireEventOnAppResume(
1471 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
1472 ::std::optional<int64> sessionAuthValidUntil
1473 ) /*override*/;
1474
1475 virtual void fireEventOnDeviceLost(
1476 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1477 ) /*override*/;
1478
1479 virtual void
1480 fireEventRealmsGeneralCall(::std::string const& callName, ::Bedrock::Http::Status returnCode) /*override*/;
1481
1482 virtual void fireEventRealmsRealmSpecificCall(
1483 ::std::string const& callName,
1484 int64 realmId,
1485 ::Bedrock::Http::Status returnCode
1486 ) /*override*/;
1487
1488 virtual void fireEventRealmDownload(
1489 ::std::string const& correlationId,
1490 ::std::string const& downloadStage,
1491 int const errorCode,
1492 int const realmId,
1493 int const fileSizeKB
1494 ) /*override*/;
1495
1496 virtual void fireEventRealmUpload(
1497 ::std::string const& correlationId,
1498 ::std::string const& uploadStage,
1499 int const errorCode,
1500 int const realmId,
1501 int const fileSizeKB,
1502 bool const isPack
1503 ) /*override*/;
1504
1505 virtual void
1506 fireRealmConnectionEventStart(::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow) /*override*/;
1507
1508 virtual void
1509 fireRealmConnectionEventRealmAPIRequest(::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow) /*override*/;
1510
1511 virtual void fireRealmConnectionEventRealmAPIResponse(
1512 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
1513 int responseCode
1514 ) /*override*/;
1515
1516 virtual void fireRealmConnectionEventGenericLambdaCalled(
1517 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
1518 ::IMinecraftEventing::RealmConnectionLambda realmConnectionLambda,
1519 ::IMinecraftEventing::RealmConnectionResult realmConnectionResult
1520 ) /*override*/;
1521
1522 virtual void fireIgnoredNotificationsEvent(
1523 ::IMinecraftEventing::IgnoredNotificationsType notificationType,
1524 int notificationCount,
1525 ::std::set<::IMinecraftEventing::IgnoredNotificationSource> notificationSources
1526 ) /*override*/;
1527
1528 virtual void fireClubsOpenFeedScreenEvent(
1529 ::IMinecraftEventing::ClubsFeedScreenSource const source,
1530 int64 const realmId,
1531 ::std::string const& clubId,
1532 int unreadPosts
1533 ) /*override*/;
1534
1535 virtual void fireClubsEngagementEvent(
1536 ::IMinecraftEventing::ClubsEngagementAction action,
1537 ::IMinecraftEventing::ClubsEngagementTargetType engagementTargetType,
1538 char const* target,
1539 int64 const realmId,
1540 ::std::string const& clubId
1541 ) /*override*/;
1542
1543 virtual void fireEventCopyWorldEducationEnabled() /*override*/;
1544
1545 virtual void fireEventRespawn(::Player& player, int dimID) /*override*/;
1546
1547 virtual void
1548 fireEventServerRespawnSearchTime(::Player& player, ::PlayerRespawnTelemetryData const& data) /*override*/;
1549
1550 virtual void fireEventUnknownBlockReceived(::NewBlockID const& blockId, ushort data) /*override*/;
1551
1552 virtual void fireEventCompoundCreatorCreated(int compoundId, int count) /*override*/;
1553
1554 virtual void fireEventLabTableCreated(int reactionId, int productId, int productAux) /*override*/;
1555
1556 virtual void fireEventElementConstructorUsed(
1557 int atomicNumber,
1558 int count,
1559 ::IMinecraftEventing::ElementConstructorUseType useType
1560 ) /*override*/;
1561
1562 virtual void fireEventReducerBlockEntered(::ItemDescriptor const& item) /*override*/;
1563
1564 virtual void fireEventMultiplayerSessionUpdate(::Bedrock::NonOwnerPointer<::Level> level) /*override*/;
1565
1566 virtual void fireEventLevelDestruct(bool isTransfer) /*override*/;
1567
1568 virtual void flagEventDeepLink() /*override*/;
1569
1570 virtual void flagEventPlayerGameTypeDefault(bool isDefault) /*override*/;
1571
1572 virtual void fileEventCloudWorldPullFailed(
1573 ::std::string const& reason,
1574 ::std::string const& worldID,
1575 bool localLevelDatUsed
1576 ) /*override*/;
1577
1578 virtual void
1579 fireEventLevelDatLoadFailed(::std::string const& reason, ::std::string const& worldID, bool isFatal) /*override*/;
1580
1581 virtual void fireEventWorldCorruptionCausedWorldShutdown(
1583 ::std::string const& reason,
1584 ::std::optional<bool> isOutOfDiskSpace
1585 ) /*override*/;
1586
1587 virtual void
1588 fireEventClientLeftGameDueToUnrecoverableError(::std::string const& reason, bool isServer) /*override*/;
1589
1590 virtual void fireEventServerShutdownDueToError(::std::string const& reason) /*override*/;
1591
1592 virtual void fireEventServerInitializationFailed(
1593 ::std::string const& failReason,
1594 bool serverLevelExists,
1595 bool serverNetworkHandlerValid
1596 ) /*override*/;
1597
1598 virtual void fireEventDBStorageSizeSnapshot(
1600 ::DBStorageFolderWatcher const& folderWatcher,
1601 ::DBStorageFolderWatcherSnapshotKind kind
1602 ) /*override*/;
1603
1604 virtual void fireEventLevelDBPerformanceData(
1606 ::DBStoragePerformanceTelemetryData const& perfData
1607 ) /*override*/;
1608
1609 virtual void
1610 fireEventDBReadFail(::LevelStorageEventingContext const& context, ::std::string const& reason) /*override*/;
1611
1612 virtual void fireEventWorldHistoryPackSourceMissingDuringUpgrade(
1613 ::std::string const& worldPath,
1614 ::std::string const& levelId,
1615 ::std::string const& deletionCandidate
1616 ) /*override*/;
1617
1618 virtual void fireStructureBlockAction(
1619 ::IMinecraftEventing::StructureBlockActionType structureBlockActionType,
1620 ::StructureEditorData const& structureEditorData,
1621 ::StructureTelemetryClientData const* telemetryClientData
1622 ) /*override*/;
1623
1624 virtual void fireStructureBlockRedstoneActivated(
1625 ::IMinecraftEventing::StructureBlockActionType structureBlockActionType,
1626 ::StructureEditorData const& structureEditorData,
1627 ::StructureTelemetryClientData const* telemetryClientData
1628 ) /*override*/;
1629
1630 virtual void fireEventSidebarNavigation(
1631 uint const& userId,
1632 ::std::string const& layoutType,
1633 ::std::string const& telemetryId,
1634 int const depthLevel,
1635 bool const isSelected,
1636 bool const areChildrenVisible,
1637 bool const hasChildren
1638 ) /*override*/;
1639
1640 virtual void fireEventSidebarVerboseToggled(
1641 uint const& userId,
1642 ::std::string const& layoutType,
1643 ::std::string const& verboseNavigationType,
1644 bool const verboseState
1645 ) /*override*/;
1646
1647 virtual void fireEventPersonaUserLoadedActive(
1648 ::persona::ProfileType const personaProfile,
1649 ::std::string const& classicSkinId,
1650 bool personaUsesClassicSkin
1651 ) /*override*/;
1652
1653 virtual void fireEventPersonaItemPreviewed(
1654 ::persona::ProfileType const personaProfile,
1655 ::std::string const& itemOfferId,
1656 ::std::string const& productId,
1657 uint row,
1658 uint column,
1659 ::IMinecraftEventing::PromotionType promotionType,
1660 bool isOwned,
1661 ::std::string const& creatorId,
1662 ::std::string const& creatorName,
1663 double secondsToLoadContent,
1664 ::StoreEventData::StoreType storeType
1665 ) /*override*/;
1666
1667 virtual void fireEventPersonaAvatarUpdated(
1668 ::persona::ProfileType const personaProfile,
1669 ::std::vector<::std::string> const& newAppearancePieceIds,
1670 ::std::vector<bool> const& newPieces,
1671 ::std::vector<bool> const& tintedPieces,
1672 bool isNewPersona,
1673 bool isBeingDeleted,
1674 ::std::string const& bodySize,
1675 ::std::string const& armSize,
1676 ::std::string const& classicSkinId,
1677 bool usesClassicSkin,
1678 ::std::vector<::std::string> const& emotesPieceIds,
1679 ::std::vector<::std::string> const& emoteSlotNumbers
1680 ) /*override*/;
1681
1682 virtual void fireEventPersonaSkinChanged(
1683 ::persona::ProfileType const personaProfile,
1684 ::std::string const& classicSkinId,
1685 bool isClassicSkinUsed
1686 ) /*override*/;
1687
1688 virtual void
1689 fireEventPersonaAvatarsListed(::std::vector<::persona::ProfileType> const& profileTypesUsed) /*override*/;
1690
1691 virtual void fireEventPersonaEmotePlayed(
1692 ::std::string const& emoteProductId,
1693 bool isEmoteEndedEarly,
1694 int emoteSlotId
1695 ) /*override*/;
1696
1697 virtual void fireEventDefaultCastSelected(
1698 int previewIndex,
1699 ::mce::UUID appearanceId,
1700 ::std::string const& appearanceName
1701 ) /*override*/;
1702
1703 virtual void fireEventPersonaInitalizationEvent(
1704 uint secondsToCompletion,
1705 ::std::string const& status,
1706 ::std::string const& user
1707 ) /*override*/;
1708
1709 virtual void
1710 fireEventPersonaGeneralError(::std::string const& personaErrorName, uint duplicateErrorsFired) /*override*/;
1711
1712 virtual void fireEventPersonaLoadingPieces(uint piecesLoaded, double timeToLoadInSeconds) /*override*/;
1713
1714 virtual void fireEventPersonaStillLoading(
1715 bool isSignedIn,
1716 bool selectedSkinInitialized,
1717 bool isStillSyncingWithService,
1718 bool isRepoStillBuildingAppearances,
1719 bool isPendingSkinStillLoading,
1720 bool isRefreshingEntitlements,
1721 bool isUserUpdateInProgress,
1722 bool isSelectedSkinLoaded,
1723 ::std::vector<::persona::ProfileType> const& failingPersonaProfiles,
1724 int unknownPersonasCount,
1725 double timeElapsed
1726 ) /*override*/;
1727
1728 virtual void fireEventPersonaCreationFailed(
1729 ::std::string const& errorName,
1730 ::std::string const& pieceId,
1731 bool missingTop,
1732 bool missingBottom,
1733 ::std::string const& repositoryPieceType,
1734 ::std::string const& appearancePieceType
1735 ) /*override*/;
1736
1737 virtual void fireEventPersonaCategoryInformation(::std::string const& categoryInformation) /*override*/;
1738
1739 virtual void fireEventDisplayLoggedError(
1740 ::std::string const& errorMessageTemplate,
1741 ::std::string const& errorMessage,
1742 ::std::string const& errorParameters
1743 ) /*override*/;
1744
1745 virtual void fireEventOreUIError(uint const& userId, ::std::string const& errorType) /*override*/;
1746
1747 virtual void fireEventOreUIScreenPerformance(
1748 uint const& userId,
1749 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1750 ) /*override*/;
1751
1752 virtual void fireEventRealmsStoriesOptIn(
1753 ::std::string const& correlationId,
1754 ::std::string const& action,
1755 ::std::string const& realmId,
1756 bool const isOwner
1757 ) /*override*/;
1758
1759 virtual void fireEventOnboardingWorldCreationUsage(
1760 bool onboardingWorldCreationUsed,
1761 bool hasWorlds,
1762 bool hasOnlyBaseGamePacks
1763 ) /*override*/;
1764
1765 virtual ::std::shared_ptr<void*> requestEventDeferment() /*override*/;
1766
1767 virtual ::gsl::not_null<::Bedrock::CrashTelemetryProcessor*> getCrashTelemetryProcessor() /*override*/;
1768
1769 virtual void sendCrashTelemetryNow(::std::shared_ptr<::Bedrock::SessionInfo> session) /*override*/;
1770
1771 virtual void addCrashTelemetryToBatch(::std::shared_ptr<::Bedrock::SessionInfo> session) /*override*/;
1772
1773 virtual void sendBatchedCrashTelemetry() /*override*/;
1774
1775 virtual void sendCrashStatusTelemetry(::Bedrock::CrashUploadStatus const& status) /*override*/;
1776
1777 virtual void fireEventLevelChunkPerformanceData(bool isClientSide) /*override*/;
1778
1779 virtual void fireChunkRecyclerTelemetryData(::ChunkRecyclerTelemetryOutput const& output) /*override*/;
1780
1781 virtual void
1782 fireEventActorValueValidationFailed(::std::string const& invalidValue, char const* caller) /*override*/;
1783
1784 virtual void fireScreenLoadTimeUpdateEvent(
1785 uint const& userId,
1786 ::std::string const& screenName,
1787 ::std::chrono::nanoseconds duration,
1788 ::std::string const& loadInstanceId
1789 ) /*override*/;
1790
1791 virtual void
1792 fireDBStorageError(::LevelStorageEventingContext const& context, ::std::string const& errorType) /*override*/;
1793
1794 virtual void fireStorageMigrationEvent(
1795 bool isSuccessful,
1796 ::Bedrock::StorageMigration::StorageMigrationType migrationType,
1797 int numFilesMigrated,
1798 int numFilesTotal,
1799 ::std::chrono::nanoseconds duration,
1800 ::std::string const& failureReason
1801 ) /*override*/;
1802
1803 virtual void fireEventConnectedStorageResult(
1804 ::ConnectedStorageEventType eventType,
1805 bool succeeded,
1806 uint durationMs,
1807 ::std::optional<uint> chunksSent,
1808 ::std::string const& errorMessage,
1809 ::std::string const& levelId,
1810 int64 quotaRemaining,
1811 ::std::optional<uint> filesToAddCount,
1812 ::std::optional<uint> filesToDeleteCount,
1813 ::std::optional<uint> HACK_oldFilesToDeleteCount
1814 ) /*override*/;
1815
1816 virtual void fireEventConnectedStorageError(
1817 char const* message,
1818 ::std::string const& levelId,
1819 int64 quotaRemaining
1820 ) /*override*/;
1821
1822 virtual void fireServerStarted(
1823 ::LevelSettings const& settings,
1824 ::std::unordered_map<::std::string, ::std::string> const& propertiesChanged
1825 ) /*override*/;
1826
1827 virtual void fireServerShutdown() /*override*/;
1828
1829 virtual void fireSafetyServiceTextProcessEvent(
1830 ::std::string const& authorId,
1831 ::TextProcessingEventOrigin eventOrigin,
1832 ushort responseCode,
1833 ::std::string const& message,
1834 bool wasFlagged,
1835 double responseTime,
1836 char risk,
1837 char trustLevel,
1838 ::Json::Value const& events,
1839 bool isProcessorOffline,
1840 bool isCachedResponse
1841 ) /*override*/;
1842
1843 virtual void fireBannedSkinVerificationEvent(
1844 uint const& userId,
1845 ::std::string const& serverType,
1846 ::std::string const& skinData,
1847 bool wasApproved,
1848 int const eventCode,
1849 ::std::string const& message
1850 ) /*override*/;
1851
1852 virtual void fireEventPlayerReportSent(
1853 bool successfulReportSent,
1854 ::std::string const& failureSource,
1855 ::std::string const& failureReason,
1856 ::std::string const& reportID
1857 ) /*override*/;
1858
1859 virtual void fireEventOneDSPlayerReportPayload(
1860 ::std::string const& reportPayloadJson,
1861 ::std::string const& reportID
1862 ) /*override*/;
1863
1864 virtual void firePlayerAccountMetadata(
1865 ::Social::PermissionCheckResult multiPlayerAllowed,
1866 ::Social::PermissionCheckResult chatAllowed,
1867 ::Social::PermissionCheckResult addFriendAllowed,
1868 ::Social::PermissionCheckResult ugcAllowed,
1869 ::Social::PermissionCheckResult clubsAllowed,
1870 ::Social::PermissionCheckResult viewProfilesAllowed,
1871 bool isChildAccount,
1872 bool isGuest
1873 ) /*override*/;
1874
1875 virtual void fireEventSafetyHTTPRequest(
1876 ::std::string const& method,
1877 ::std::string const& url,
1878 int const responseCode
1879 ) /*override*/;
1880
1881 virtual void fireEventProfanityFilter(bool localFilter, bool remoteFilter, bool playerFilter) /*override*/;
1882
1883 virtual void fireEventChatFloodingActionTaken(
1884 ::std::string const& authorXuid,
1885 ::Safety::ChatFloodingAction action,
1886 ::std::string const& message
1887 ) /*override*/;
1888
1889 virtual void
1890 fireEventTextProcessorStartupFailed(::std::string const& stage, int retryCount, int maxRetryCount) /*override*/;
1891
1892 virtual void fireEventBlockUser(::std::string const& xuid, bool isSuccess, bool isBlocked) /*override*/;
1893
1894 virtual void fireEventMuteUser(::std::string const& xuid, bool isSuccess, bool isMuted) /*override*/;
1895
1896 virtual void fireWorldRecoveryTelemetryEvent(::Bedrock::WorldRecoveryTelemetryEvent const& data) /*override*/;
1897
1898 virtual ::Json::Value propertiesAsJsonValue() const /*override*/;
1899
1900 virtual void fireEventUwpToGdkMigrationComplete(
1901 ::Bedrock::DeviceIdContext const& deviceIdContext,
1902 ::std::string const& gdkDeviceId,
1903 ::std::string_view migrationErrors
1904 ) /*override*/;
1905
1906 virtual void fireNetworkChangedEvent(::std::string const& networkConnectionType) /*override*/;
1907
1908 virtual void fireEventMessageServiceImpression(
1909 ::std::string const& messageId,
1910 ::std::string const& messageSessionId,
1911 ::std::string const& Surface,
1912 ::std::string const& Template,
1913 bool const isControl
1914 ) /*override*/;
1915
1916 virtual void fireEventMessageReceived(
1917 ::std::string const& messageId,
1918 ::std::string const& messageSessionId,
1919 ::std::string const& Surface,
1920 ::std::string const& Template,
1921 bool const isControl
1922 ) /*override*/;
1923
1924 virtual void fireEventGoogleAccountHoldWarning(bool navigatedToSubscription) /*override*/;
1925
1926 virtual void fireDelayedEventReportOfflineAction(::std::string const& offlineAction) /*override*/;
1927
1928 virtual void fireEventFeedbackSubmitted(
1929 ::std::string const& productId,
1930 bool safetyCheckSuccessful,
1931 bool isValidText
1932 ) /*override*/;
1933
1934 virtual void fireEventTrackDeeplinks(
1935 ::std::string const& deeplinkDestination,
1936 ::std::string const& deeplinkSource,
1937 ::std::string const& educationReferrerId,
1938 ::std::string const& educationReferrerType
1939 ) /*override*/;
1940
1941 virtual void fireEventReceivedUniqueWebSessionId(::std::string const& webSessionId) /*override*/;
1942
1943 virtual void fireEventReceivedUniqueLauncherSessionId(::std::string const& launcherSessionId) /*override*/;
1944
1945 virtual void
1946 firePlayerUnexpectedFallDamage(float const fallDistance, bool isVehicle, float const divergenceAmount) /*override*/;
1947
1948 virtual void fireEventActorMovementCorrectionDivergence(
1949 ::ActorType actorType,
1950 ::std::vector<float> const& divergences
1951 ) /*override*/;
1952
1953 virtual void fireEventDedicatedServerDiscoveryResponse(int const status, int const retryAttempt) /*override*/;
1954
1955 virtual void fireEventInGamePause(bool pauseStatus) /*override*/;
1956
1957 virtual void
1958 fireEventGameTip(int gameTipId, int gameTipEventType, int gameTipTestGroup, ::InputMode inputMode) /*override*/;
1959
1960 virtual void fireEventAddedFriend(
1961 ::std::string const& addedXuid,
1962 ::IMinecraftEventing::AddedFriendLocation location,
1963 bool success
1964 ) /*override*/;
1965
1966 virtual void fireEventInboxSummary(::Social::Events::InboxSummaryData const& data) /*override*/;
1967
1968 virtual void fireEventTrialStatusFailed(int errorCode) /*override*/;
1969
1970 virtual void
1971 fireEventSaveDataExpansion(uint64 preExpansionSize, uint64 postExpansionSize, uint64 levelUsedSize) /*override*/;
1972
1973 virtual void fireEventProfileButtonPressed(::std::string const& entryPoint) const /*override*/;
1974
1975 virtual void fireEventWorldCopy(uint64 worldSize, uint64 filesSum, ::LevelSeed64 worldSeed) /*override*/;
1976
1977 virtual void fireEventWriteBudgetLow(
1978 uint64 remainingWriteBudget,
1979 float writeRateMBPerMin,
1980 ::std::chrono::nanoseconds timeSinceLastLargeFileTransactionCompleted,
1981 bool anyLargeFileTransactionInProgress,
1982 ::std::string const& correlationId
1983 ) /*override*/;
1984
1985 virtual void fireEventWriteBudgetReplenished(
1986 ::std::chrono::nanoseconds throttledTime,
1987 uint64 lowestWriteBudget,
1988 ::std::optional<uint64> lowestSystemThrottlingPerSec,
1989 ::std::chrono::nanoseconds timeSinceLastLargeFileTransactionCompleted,
1990 bool anyLargeFileTransactionInProgress,
1991 ::std::string const& correlationId
1992 ) /*override*/;
1993
1994 virtual void fireEventLargeFileWriteStall(
1995 uint64 totalWriteSizeBytes,
1996 ::std::vector<::std::string> const& largestFileNames,
1997 ::std::chrono::nanoseconds estimatedTotalWriteTime,
1998 ::std::chrono::nanoseconds estimatedTotalWaitTime,
1999 ::std::string const& originatingSystem,
2000 uint64 budgetBytesAtStartOfOperation,
2001 bool operationWasCancelled,
2002 ::std::chrono::nanoseconds totalWriteTime,
2003 ::std::chrono::nanoseconds totalWaitTime,
2004 int numberOfFilesWritten,
2005 uint64 budgetBytesAtEndOfOperation,
2006 ::std::vector<::std::string> const& associatedContentIDs
2007 ) /*override*/;
2008
2009 virtual void fireEventLowMemoryDetected(::LowMemoryReport const& report) /*override*/;
2010
2011 virtual void fireEventReceivedApplicationExitInfo(
2012 ::std::string const& description,
2013 int reasonCode,
2014 int exitCode,
2015 int importanceCode,
2016 int64 residentSetSize,
2017 int64 proportionalSetSize,
2018 ::std::string const& sessionId,
2019 bool deviceSupportsReasonLowMem
2020 ) /*override*/;
2021
2022 virtual void fireEventBug1341395(::std::string const& details) /*override*/;
2023
2024 virtual void fireEventImmersiveReaderStatus(::Bedrock::Http::Status const status) /*override*/;
2025
2026 virtual void fireEventPacketSerializationMismatch(
2027 ::MinecraftPacketIds packetId,
2028 ::std::string_view legacyStream,
2029 ::std::string_view cerealStream
2030 ) /*override*/;
2031
2032 virtual void
2033 fireEventPUVLoad(::std::string const& resourceCategory, ::PuvLoadData::TelemetryEventData&& loadData) /*override*/;
2034
2035 virtual ::Social::Events::EventManager& getEventManager() const /*override*/;
2036
2037 virtual uint getPrimaryLocalUserId() const /*override*/;
2038
2039 virtual bool getShouldHaveAchievementsEnabled() /*override*/;
2040
2041 virtual void setShouldHaveAchievementsEnabled(bool value) /*override*/;
2042
2043 virtual bool getAchievementsAlwaysEnabled() /*override*/;
2044 // NOLINTEND
2045
2046public:
2047 // member functions
2048 // NOLINTBEGIN
2049 MCAPI MinecraftEventing(::Core::Path const& logFileDir, ::MinecraftEventingDependencies&& deps);
2050
2051 MCAPI void _addFlatWorldProperties(::Social::Events::Event& event, ::Json::Value const& flatWorldOptions) const;
2052
2053 MCAPI void _fireStructureBlockAction(
2054 ::IMinecraftEventing::StructureBlockActionType structureBlockActionType,
2055 ::StructureEditorData const& structureEditorData,
2056 bool redstoneActivated,
2057 ::StructureTelemetryClientData const* telemetryClientData
2058 );
2059
2060 MCAPI void _generateWorldSessionId();
2061
2062 MCAPI void _init(::Bedrock::NonOwnerPointer<::AppPlatform> const& appPlatform);
2063
2064 MCAPI void _sendTelemetryHeartbeat(char const* trigger);
2065
2066 MCAPI void fireEventMobTelemetry(::Social::Events::MobTelemetry& mobTelemetry);
2067
2068 MCAPI void fireEventPlayerMessage(
2069 ::std::string const& fromName,
2070 ::std::string const& toName,
2071 ::std::string const& message,
2072 ::std::string const& messageType
2073 );
2074
2075 MCAPI void firePlayerTelemetryEvent(::Social::Events::PlayerTelemetry const& playerTelemetry);
2076
2077 MCAPI void fireRealmsTelemetryEvent(::IRealmsTelemetry const& realmsTelemetry);
2078
2079 MCAPI_S void initForDedicatedServer(
2080 ::Bedrock::NonOwnerPointer<::AppPlatform> const& appPlatform,
2081 bool eventRecordingEnabled,
2082 ::brstd::move_only_function<::Identity::EduDSTelemetryIdentifier() const> getEduDSTelemetryIdentifier
2083 );
2084
2085 MCAPI void unregisterOptionsObserver();
2086 // NOLINTEND
2087
2088public:
2089 // static functions
2090 // NOLINTBEGIN
2091 MCAPI static void
2092 OnActorSetMainHand(::Actor const& actor, ::ItemInstance const& ToGoInHand, ::ItemInstance const& WasInHand);
2093
2094 MCAPI_C static void fireEventAgentCreated(::Player& player);
2095
2096 MCAPI_C static void fireEventBarrelBlockUsed(
2097 ::Player* player,
2098 ::std::string const& itemUsed,
2099 ::MinecraftEventing::POIBlockInteractionType interactionType
2100 );
2101
2102 MCAPI static void fireEventBehaviorErrored(::Player* player, ::std::string const& errorMessage);
2103
2104 MCAPI static void fireEventBehaviorFailed(::Player* player, ::std::string const& failureMessage);
2105
2106 MCAPI static void fireEventBellBlockUsed(::Player* player, ::std::string const& itemUsed);
2107
2108 MCAPI static void fireEventBlockBroken(
2109 ::Player* player,
2110 ::Block const& destroyedBlock,
2111 ::MinecraftEventing::BlockPlacementMethod method,
2112 int variantData
2113 );
2114
2115 MCAPI static void fireEventBlockFound(::Player* player, ::BlockPos const& blockPos);
2116
2117 MCAPI_C static void fireEventBlockPlaced(::Player* player, ::Block const& placedBlock, bool underWater);
2118
2119 MCAPI_C static void fireEventBookCopied(::Player* player, ::ItemInstance const& book);
2120
2121 MCAPI_C static void fireEventBookEdited(::Player* player, ::ItemDescriptor const& item, uint pageCount);
2122
2123 MCAPI_C static void fireEventBookExported(::Player* player, int textPageCount, int photoPageCount);
2124
2125 MCAPI_C static void fireEventBookImageImported(::Player* player);
2126
2127 MCAPI static void fireEventCampfireBlockUsed(
2128 ::Player* player,
2129 ::std::string const& itemUsed,
2130 ::MinecraftEventing::POIBlockInteractionType interactionType
2131 );
2132
2133 MCAPI static void fireEventCaravanChanged(::Mob& mob, int caravanSize);
2134
2135 MCAPI_C static void
2136 fireEventCartographyBlockUsed(::Player* player, ::std::string const& itemUsed, ::MapOutputType mapOutputType);
2137
2138 MCAPI_C static void fireEventCauldronBlockUsed(
2139 ::Player* player,
2140 ::std::string const& itemUsed,
2141 ::MinecraftEventing::POIBlockInteractionType interactionType
2142 );
2143
2144 MCAPI_C static void fireEventCommandBlockEdited(
2145 ::Player* player,
2146 ::BaseCommandBlock const& commandBlock,
2147 bool isMinecart,
2148 ::CommandBlockMode mode,
2149 bool isConditionalMode,
2150 bool isRedstoneMode
2151 );
2152
2153 MCAPI_C static void fireEventComposterBlockUsed(
2154 ::Player* player,
2155 ::std::string const& itemUsed,
2156 ::MinecraftEventing::POIBlockInteractionType interactionType
2157 );
2158
2159 MCAPI_C static void fireEventCraftingSessionStart(::Player* player, uint craftingType);
2160
2161 MCAPI_C static void fireEventCustomContentRegistered(::Player* player, int customBlockCount);
2162
2163 MCAPI_C static void fireEventDecoratedPotCrafted(::Player* player, ::std::array<::std::string, 4> const& sides);
2164
2165 MCAPI_C static void fireEventEndOfDay(::Player* player, ::Level& level);
2166
2167 MCAPI_C static void fireEventEntityInteracted(
2168 ::Player const* player,
2169 int legacyInteractedEntityType,
2170 ::MinecraftEventing::InteractionType interactionType,
2171 int interactedEntityVariant,
2172 uchar interactedEntityColor,
2173 ::Actor const* interactedEntity
2174 );
2175
2176 MCAPI_C static void fireEventGameTypeChanged(::Player* player, ::GameType oldGameType, ::GameType newGameType);
2177
2178 MCAPI_C static void fireEventGrindstoneBlockUsed(
2179 ::Player* player,
2180 ::std::string const& itemUsed,
2181 ::MinecraftEventing::POIBlockInteractionType interactionType
2182 );
2183
2184 MCAPI_C static void fireEventItemAcquired(
2185 ::Player* player,
2186 ::ItemDescriptor const& itemDescriptor,
2187 uint amountAcquired,
2188 ::ItemAcquisitionMethod itemAcquisitionMethod
2189 );
2190
2191 MCAPI_C static void fireEventItemCrafted(
2192 ::Player* player,
2193 ::ItemInstance const& item,
2194 bool recipeBook,
2195 bool hadSearchString,
2196 bool craftedAutomatically,
2197 int startingTabId,
2198 int endingTabId,
2199 int numTabsChanged,
2200 bool filterOn,
2201 bool recipeBookShown
2202 );
2203
2204 MCAPI_C static void fireEventItemEquipped(::Player* player, ::ItemInstance const& item, int slot);
2205
2206 MCAPI_C static void fireEventItemInteracted(
2207 ::Player* player,
2208 ::ItemInstance const& item,
2209 ::MinecraftEventing::ItemInteractMethod method
2210 );
2211
2212 MCAPI_C static void fireEventItemNamed(::Player* player, ::ItemDescriptor const& item);
2213
2214 MCAPI static void fireEventItemUsed(::Player* player, ::ItemDescriptor const& item, ::ItemUseMethod useMethod);
2215
2216 MCAPI_C static void fireEventLecternBlockUsed(
2217 ::Player* player,
2218 ::std::string const& itemUsed,
2219 ::MinecraftEventing::POIBlockInteractionType interactionType
2220 );
2221
2222 MCAPI static void fireEventMobDied(::Mob& mob, int causeOfDeath);
2223
2224 MCAPI static void fireEventMobEffectChanged(
2225 ::Mob& mob,
2226 ::MobEffectInstance const& effectInstance,
2227 ::MinecraftEventing::ChangeType change
2228 );
2229
2230 MCAPI_C static void fireEventMobKilled(
2231 ::Player* player,
2232 ::Actor* entKiller,
2233 ::Mob& mobKilled,
2234 uint method,
2235 ::std::string const& traderName,
2236 int traderTier
2237 );
2238
2239 MCAPI static void fireEventMobTeleportedToOwner(::Mob& mob);
2240
2241 MCAPI_C static void fireEventMultiplayerRoundEnd(::Player* player, int exitStatus);
2242
2243 MCAPI_C static void fireEventMultiplayerRoundStart(::Player* player, ::Level& level);
2244
2245 MCAPI_C static void fireEventPOIBlockUsed(
2246 ::Player* player,
2247 ::std::string const& itemUsed,
2248 ::MinecraftEventing::PoiEventBlockType blockType
2249 );
2250
2251 MCAPI_C static void
2252 fireEventPiglinBarter(::Player* player, ::std::string const& itemUsed, bool wasTargetingBarteringPlayer);
2253
2254 MCAPI_C static void fireEventPlayerDied(::Player* player, int killerId, int killerVariant, int reason, bool inRaid);
2255
2256 MCAPI_C static void
2257 fireEventPlayerEnchantedItem(::Player& player, ::ItemStack const& item, ::ItemEnchants const& enchants);
2258
2259 MCAPI static void fireEventPlayerTransform(::Player& player);
2260
2261 MCAPI_C static void fireEventSignedBookOpened(::Player* player, bool isAuthor);
2262
2263 MCAPI static void fireEventSlashCommandExecuted(
2264 ::Player* player,
2265 ::std::string const& commandName,
2266 int successCount,
2267 int errorCount,
2268 ::std::string const& errorList
2269 );
2270
2271 MCAPI_C static void fireEventTradeCompleted(
2272 ::Player* player,
2273 ::Actor* trader,
2274 ::ItemDescriptor const& itemA,
2275 ::ItemDescriptor const& itemB,
2276 ::ItemInstance const& tradedFor,
2277 int traderEmeraldCount
2278 );
2279
2280 MCAPI_C static void fireEventTrimApplied(::Player* player, ::ArmorTrim const& armorTrim);
2281
2282 MCAPI static void fireEventWolfArmorDamageValueChanged(
2283 ::Actor& owner,
2284 ::ItemDescriptor const& item,
2285 int oldDamageValue,
2286 int newDamageValue
2287 );
2288
2289 MCAPI_C static void fireEventWorldUnloaded(::Player* player, ::LevelData const& levelData, uint unloadReason);
2290
2291 MCAPI_C static void fireRaidEvent(::Player* player, int currentwave, int totalWaves, bool success);
2292
2293 MCAPI static void onActorSpawned(::Actor const& actor, ::std::optional<::std::string> customInit, ::Actor* spawner);
2294
2295 MCAPI static void onVehicleEntered(::Player& player, ::Actor& vehicle);
2296
2297 MCAPI static void onVehicleExited(::Player& player);
2298 // NOLINTEND
2299
2300public:
2301 // static variables
2302 // NOLINTBEGIN
2303 MCAPI static ::std::unique_ptr<::Social::Events::AchievementEventing>& mAchievementEventing();
2304
2305 MCAPI static ::std::map<::std::string, int>& mCachedUUIDs();
2306
2307 MCAPI static ::Social::Events::MobTelemetry& mMobTelemetry();
2308
2309 MCAPI static ::std::unordered_map<uint, ::Social::Events::PlayerTelemetry>& mPlayerTelemetry();
2310
2311 MCAPI static ::Social::Events::RealtimeRoute& mRealtimeRoute();
2312
2313 MCAPI static ::Social::Events::ScreenFlow& mScreenFlow();
2314
2315 MCAPI static ::Bedrock::Threading::Mutex& sHeartbeatMutex();
2316
2317 MCAPI static ::Bedrock::Threading::Mutex& sMutex();
2318
2319 MCAPI static ::Bedrock::Threading::Mutex& sPlayerTelemetryMutex();
2320 // NOLINTEND
2321
2322public:
2323 // constructor thunks
2324 // NOLINTBEGIN
2325 MCAPI void* $ctor(::Core::Path const& logFileDir, ::MinecraftEventingDependencies&& deps);
2326 // NOLINTEND
2327
2328public:
2329 // destructor thunk
2330 // NOLINTBEGIN
2331 MCAPI void $dtor();
2332 // NOLINTEND
2333
2334public:
2335 // virtual function thunks
2336 // NOLINTBEGIN
2337 MCAPI ::IPurchaseEventing& $getPurchaseEventing();
2338
2339 MCAPI void $init(
2340 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager,
2341 ::Bedrock::NonOwnerPointer<::AppPlatform> const& appPlatform
2342 );
2343
2344 MCAPI void $initDeviceAndSessionIds();
2345
2346 MCAPI void $initEditorEventListener();
2347
2348 MCAPI void $shutdown();
2349
2350 MCAPI void $updatePrimaryLocalUserId(uint const& userId);
2351
2352 MCAPI ::std::string $getUserUID(::Social::IdentityType type, ::std::string const& primaryId) const;
2353
2354 MCAPI void $registerSecondaryUserCommonProperties(uint const& userId, ::std::string const& uid) const;
2355
2356 MCAPI void $unregisterSecondaryUserCommonProperties(uint const& userId) const;
2357
2358 MCAPI void $updateIsLegacyPlayer(bool isLegacyPlayer) const;
2359
2360 MCFOLD void $updateIsTrial(bool isTrial) const;
2361
2362 MCAPI void $updateEditionType() const;
2363
2364 MCFOLD void $updateClientId() const;
2365
2366 MCAPI void $addListener(::std::unique_ptr<::Social::Events::IEventListener> listener);
2367
2368 MCAPI void $clearListeners();
2369
2370 MCAPI void $registerOptionsObserver(
2371 ::brstd::function_ref<
2372 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>) const,
2373 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>)> registerObserver
2374 );
2375
2376 MCAPI void $setTestBuildIdTag(char const* id);
2377
2378 MCAPI void $removeTestBuildIdTag();
2379
2380 MCAPI void $setTestTelemetryTag(char const* name);
2381
2382 MCAPI void $removeTestTelemetryTag();
2383
2384 MCAPI void $stopDebugEventLoggingForAllListeners();
2385
2386 MCAPI void $tick();
2387
2388 MCAPI void $forceSendEvents();
2389
2390 MCAPI ::std::string $getSessionId();
2391
2392 MCFOLD ::std::string const& $getPlayerSessionId();
2393
2394 MCAPI ::std::chrono::steady_clock::time_point $getWorldSessionIdGenerationTimestamp() const;
2395
2396 MCAPI void $fireEventWorldLoaded(
2397 ::Player* player,
2398 ::brstd::function_ref<
2399 void(::Social::Events::EventManager&, ::Social::Events::Event&) const,
2400 void(::Social::Events::EventManager&, ::Social::Events::Event&)> writer
2401 );
2402
2403 MCAPI void $fireEventMarkLevelForSync(
2404 ::std::string const& levelId,
2405 int64 local,
2406 int64 remote,
2407 ::IMinecraftEventing::MarkLevelForSyncReason reason
2408 );
2409
2410 MCAPI void $fireEventLockedItemGiven();
2411
2412 MCAPI void $fireEventWorldLoadTimes(
2413 ::std::string const& calledFromScreen,
2414 ::std::vector<::std::pair<::std::string, float>> const progressHandlerLoadTimes
2415 );
2416
2417 MCAPI void $fireEventBlockPlacedByCommand(::Block const& placedBlock, int numberOfBlocksPlaced);
2418
2419 MCAPI void $fireEventEntitySpawned(::Player* player, int mobType, uint spawnMethod);
2420
2421 MCFOLD void $fireEventDevSlashCommandExecuted(::std::string const& commandName, ::std::string const& command);
2422
2423 MCAPI void $fireCommandParseTableTelemetry(
2424 bool const isServer,
2425 ::std::vector<::IMinecraftEventing::CommandParseTableEntry> const& parseTableDetails
2426 ) const;
2427
2428 MCAPI void $fireEventPlayerTravelled(::Player* player, float metersTravelledSinceLastEvent, int newBiome);
2429
2430 MCAPI void $fireEventPlayerBounced(::Player* player, ::Block const& block, int bounceHeight);
2431
2432 MCAPI void $fireEventSetValidForAchievements(::Player* player, bool currentlyValidForAchievements);
2433
2434 MCAPI void $fireEventAchievementReceived(
2435 ::std::string const& title,
2436 ::std::string const& description,
2437 ::std::string const& achievementId
2438 );
2439
2440 MCAPI void $updatePlayerUndergroundStatus(::Player* player, bool const isUnderground);
2441
2442 MCAPI void $fireEventPlayerAttemptingExploit(::Player* player, ::IMinecraftEventing::ExploitType exploitType);
2443
2444 MCAPI void
2445 $fireEventWorldGenerated(::std::string const& levelId, ::LevelSettings const& levelSettings, bool fromTemplate);
2446
2447 MCAPI void $fireEventMultiplayerClientConnectionStateChanged(
2448 ::std::string const& connectionType,
2449 uint fromState,
2450 uint toState,
2451 uint port,
2452 ::std::string const& status
2453 );
2454
2455 MCAPI void $fireEventJoinCanceled(::LoadingState currentState);
2456
2457 MCAPI void $fireEvent(
2458 ::std::string const& eventName,
2459 ::std::vector<::Social::Events::Property> const& properties,
2460 ::std::vector<::Social::Events::Measurement> const& measurements,
2461 bool shouldAggregate
2462 );
2463
2464 MCAPI void $fireEventBlockTypeRegistryChecksumMismatch(
2465 ::std::string const& reason,
2466 uint64 const& serverBlockChecksum,
2467 uint64 const& clientBlockChecksum,
2468 ::std::string const& serverVersion
2469 );
2470
2471 MCFOLD void $fireEventOnSuccessfulClientLogin(::Level const* level);
2472
2473 MCAPI void $fireEventStartWorld(
2474 ::NetworkType networkType,
2475 ::std::string const& ipAddress,
2476 ::Social::MultiplayerServiceIdentifier const friendWorldType
2477 );
2478
2479 MCAPI void $fireEventClientLastPackets(
2480 uint const& userId,
2481 ::SubClientId const subId,
2482 int correlationId,
2483 ::Json::Value const& lastSentPackets,
2484 ::Json::Value const& lastReceivedPackets
2485 );
2486
2487 MCAPI void $fireEventSignalServiceConnect(
2488 ::SignalServiceConnectStage stage,
2489 bool bIsSigningInAsHost,
2490 ::Json::Value const& stageProperties,
2491 ::PlayerMessaging::SigninID const& signinId,
2492 ::std::string const& correlationId,
2493 bool isJsonRpc
2494 );
2495
2496 MCAPI void $fireEventSignalMessagePerformance(
2497 ::PlayerMessaging::SigninID const& signinId,
2498 ::MessagePerformance const& messagePerformanceEvent,
2499 bool isJsonRpc
2500 );
2501
2502 MCAPI void $fireEventOnClientDisconnect(
2503 ::SubClientId subId,
2504 bool isNetworked,
2505 ::Connection::DisconnectFailReason reason,
2506 ::std::string const& titleMessage,
2507 ::std::string const& errorMessage,
2508 ::std::string const& codeword
2509 );
2510
2511 MCAPI void $fireEventOnServerDisconnect(
2512 ::Connection::DisconnectFailReason reason,
2513 ::std::string const& disconnectedClientId,
2514 ::SubClientId subId,
2515 ::std::string const& reasonContext,
2516 uint64 clientCount,
2517 ::std::string const& firstTimeStamp
2518 );
2519
2520 MCAPI void $fireEventOnServerAsyncJoinTaskVerdict(
2521 ::nonstd::expected<::AsyncJoinAllow, ::AsyncJoinDeny> const& joinVerdict,
2522 ::SubClientId const subId,
2523 uint verdictQueueLength
2524 );
2525
2526 MCAPI void $fireEventHttpClientError(::std::string const& error);
2527
2528 MCAPI void $fireEventSignInToIdentity(
2529 ::IMinecraftEventing::SignInAccountType accountType,
2530 ::Social::IdentitySignInTrigger trigger,
2531 ::std::string const& signInSource,
2532 bool signInUIShown,
2533 ::IMinecraftEventing::SignInStage stage,
2534 ::Social::SignInResult result,
2535 int retryCount,
2536 ::Social::PlayerIDs ids,
2537 ::std::string const& errorCode
2538 );
2539
2540 MCAPI void $fireEventSignOutOfIdentity(
2541 ::IMinecraftEventing::SignInAccountType accountType,
2542 ::Social::IdentitySignInTrigger trigger,
2543 ::std::string const& accountId,
2544 ::std::string const& errorCode
2545 );
2546
2547 MCAPI void $fireEventSignInEdu(
2548 ::std::string const& mutsUserId,
2549 ::edu::Role role,
2550 ::Identity::EduSignInStage stage,
2551 ::std::string const& tenantType,
2552 ::std::string const& error,
2553 ::std::vector<::std::pair<::std::string, ::std::string>> const& details
2554 );
2555
2556 MCAPI void $fireEventSignOutEdu(
2557 ::std::string const& mutsUserId,
2558 ::edu::Role role,
2559 ::std::string const& tenantType,
2560 ::std::string const& action,
2561 ::std::string const& error
2562 );
2563
2564 MCAPI void
2565 $fireEventSwitchAccountEdu(::std::string const& mutsUserId, ::edu::Role role, ::std::string const& tenantType);
2566
2567 MCAPI void $fireEventEduDemoConversion(::edu::Role role, ::LastClickedSource lastClickedSource);
2568
2569 MCAPI void $fireEventCloudOperationStartedEdu(
2570 ::EduCloudUtils::Operation const operation,
2571 ::EduCloud::CloudItemType const cloudItemType,
2572 ::std::string const& cloudCorrelationId,
2573 uint64 const size,
2574 ::std::optional<::std::string> const& driveItemId
2575 );
2576
2577 MCAPI void $fireEventCloudOperationEndedEdu(
2578 ::EduCloudUtils::Operation const operation,
2579 ::EduCloud::CloudItemType const cloudItemType,
2580 ::std::string const& cloudCorrelationId,
2581 ::std::chrono::milliseconds const elapsedTime,
2582 uint const status,
2583 uint64 const size,
2584 ::std::optional<::std::string> const& driveItemId,
2585 ::std::optional<::std::string> const& errorCode,
2586 ::std::optional<::std::string> const& errorMessage,
2587 ::std::optional<::std::string> const& error
2588 );
2589
2590 MCAPI void $fireEventCloudMyWorldsSummary(
2591 int const totalWorldsCount,
2592 int const placeholderCount,
2593 int const needsUploadCount,
2594 int const ctagMismatchCount,
2595 int const conflictCount
2596 );
2597
2598 MCAPI void $fireEventCloudConflictCheckEdu(
2599 ::std::string const& cloudCorrelationId,
2600 ::EduCloud::ConflictResolutionStatus const conflictStatus
2601 );
2602
2603 MCAPI void $fireEventPopupFiredEdu(
2604 ::std::string const& mutsUserId,
2605 ::std::string const& dialogType,
2606 ::std::string const& experienceId,
2607 ::std::string const& title,
2608 ::ActiveDirectoryAction const postAction
2609 );
2610
2611 MCAPI void $fireEventPlayIntegrityCheck(
2612 ::std::string const& result,
2613 ::std::string const& appRecognitionVerdict,
2614 ::std::string const& deviceIntegrity,
2615 ::std::string const& appLicensingVerdict
2616 );
2617
2618 MCAPI void $fireServerConnectionEvent(
2619 ::IConnectionEventing::ServerConnectionOutcome outcome,
2620 uint pingLatency,
2621 double timeElapsed,
2622 ::std::string const& creatorName,
2623 ::std::string const& worldId
2624 );
2625
2626 MCAPI void $fireServerConnectionAttemptEvent(
2627 ::std::string const& creatorName,
2628 bool isTransfer,
2629 ::std::string const& serverAddress
2630 );
2631
2632 MCAPI void $fireEventServerPlayerJoinedGame(
2633 ::NetworkIdentifier const& id,
2634 ::SubClientId subId,
2635 ::std::string const& firstConnectionTime
2636 );
2637
2638 MCAPI void $fireEventScriptPluginDiscovery(::ScriptPluginResult const& pluginResult, bool client);
2639
2640 MCAPI void $fireEventScriptPluginRun(
2641 ::ScriptPluginResult const& pluginResult,
2642 ::std::chrono::microseconds runDuration,
2643 bool client
2644 );
2645
2646 MCAPI void $fireEventScriptDebuggerListen(bool client, bool autoAttach);
2647
2648 MCAPI void $fireEventScriptDebuggerConnect(bool client, bool autoAttach, int retries);
2649
2650 MCAPI void $fireEditorEventToolActivated(::std::string const& toolName);
2651
2652 MCAPI void $fireEditorUndo(::std::string const& transactionName);
2653
2654 MCAPI void $fireEditorRedo(::std::string const& transactionName);
2655
2656 MCAPI void $fireEditorScriptAction(
2657 ::std::string const& scriptSource,
2658 ::std::string const& actionName,
2659 ::std::string const& actionMetadata
2660 );
2661
2662 MCAPI void $fireEditorTutorialEvent(
2663 ::std::string_view type,
2664 ::std::optional<::std::string> const& state,
2665 ::std::string const& currentStage,
2666 ::std::optional<::std::string> const& previousStage
2667 );
2668
2669 MCFOLD void $fireEventStartClient(::std::string const& ipAddress, bool isTextToSpeechEnabled);
2670
2671 MCFOLD void $fireEventHardwareInfo();
2672
2673 MCFOLD void $fireEventDeviceLost();
2674
2675 MCAPI void $fireEventRenderingSizeChanged();
2676
2677 MCAPI void $fireEventDiskStatus(::DiskStatus status, ::Core::LevelStorageState errorCode, uint64 freeSpace);
2678
2679 MCAPI void $fireEventStorageAreaFull(
2680 ::std::string const& areaPath,
2681 ::std::vector<::Bedrock::DirectoryEntry> const& diskSizeData
2682 );
2683
2684 MCAPI void $fireEventAppPaused();
2685
2686 MCAPI void $fireEventAppUnpaused();
2687
2688 MCAPI void $fireEventAppSurfaceCreated();
2689
2690 MCAPI void $fireEventAppSurfaceDestroyed();
2691
2692 MCAPI void $fireEventPurchaseGameAttempt(
2693 ::std::string const& storeId,
2694 ::std::string const& activeTab,
2695 ::std::string const& productId
2696 );
2697
2698 MCAPI void $fireEventPurchaseGameResult(int purchaseResult);
2699
2700 MCAPI void $fireEventTrialDeviceIdCorrelation(
2701 int64 myTime,
2702 ::std::string const& theirId,
2703 int64 theirTime,
2704 ::std::string const& theirLastSessionId
2705 );
2706
2707 MCAPI void $fireEventDeviceIdManagerFailOnIdentityGained();
2708
2709 MCAPI void $fireEventDlcStorageFull(
2710 ::std::string const& productId,
2711 uint64 dlcSize,
2712 uint64 onDiskScratchSpace,
2713 uint64 scratchSpace,
2714 uint64 premiumSpace
2715 );
2716
2717 MCAPI void $fireEventPushNotificationPermission(bool permission, ::std::string const& deviceId);
2718
2719 MCAPI void $fireEventPushNotificationReceived(::PushNotificationMessage const& msg);
2720
2721 MCAPI void $fireEventPushNotificationOpened(::std::string const& threadId, ::std::string const& deepLink);
2722
2723 MCFOLD void $firePerfTestEvent(
2724 ::std::string const& testArtifact,
2725 ::std::string const& modelName,
2726 ::std::string const& renderSize,
2727 uint renderDistance,
2728 uint simDistance,
2729 ::std::string const& memorySize,
2730 ::std::vector<::std::pair<::std::string, float>> const& testArtifactData
2731 );
2732
2733 MCAPI void $fireEventLicenseCheck(bool isLicensed, ::ExtraLicenseData& data);
2734
2735 MCAPI void $fireQueryOfferResult(::std::string const& storeID, int NumberOfOffers, bool QuerySucceeded);
2736
2737 MCAPI void $fireEventQueryPurchasesResult(
2738 ::std::string const& storeID,
2739 ::std::string const& priorPurchaseIds,
2740 int NumberOfPurchases,
2741 bool QuerySucceeded
2742 );
2743
2744 MCFOLD void $fireEventPurchaseFailureDetails(
2745 int httpCode,
2746 ::std::string const& errorMessage,
2747 ::std::string const& productId,
2748 ::std::string const& transactionId
2749 );
2750
2751 MCAPI void
2752 $fireEventPlatformStorePurchaseFailure(::std::string const& productId, ::std::string const& errorMessage);
2753
2754 MCFOLD void $fireEventDeviceAccountFailure(
2755 ::IMinecraftEventing::SignInStage stage,
2756 ::IMinecraftEventing::DeviceAccountFailurePhase phase,
2757 uint resultStatus,
2758 ::std::string const& accountID
2759 );
2760
2761 MCAPI void $fireEventDeviceAccountSuccess(bool isNewAccount, ::std::string const& accountID);
2762
2763 MCAPI void
2764 $fireEventEntitlementListInfo(::std::vector<::ContentIdentity>& entitlementContentIds, bool isLegacyList);
2765
2766 MCAPI void $fireEventVideoPlayed(::std::string const& productId, ::std::string const& videoUrl);
2767
2768 MCAPI void $fireEventBundleSubOfferClicked(
2769 int offerIndex,
2770 int bundleSubOfferCount,
2771 ::std::string const& telemetryId,
2772 ::std::string const& productId,
2773 bool isOnSale,
2774 ::std::string const& timeRemainingOnSale
2775 );
2776
2777 MCAPI void $fireEventStoreOfferClicked(
2778 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
2779 );
2780
2781 MCAPI void $fireEventStoreOfferClicked(::std::string const telemetryId, ::std::string const& productId);
2782
2783 MCAPI void $fireEventPersonaOfferClicked(
2784 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
2785 );
2786
2787 MCAPI void $fireEventStoreSearch(
2788 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
2789 );
2790
2791 MCFOLD void $fireEventSearchItemSelected(
2792 int const correlationId,
2793 int const sessionId,
2794 ::std::string const& productId,
2795 int const row,
2796 int const column,
2797 int const currentPage,
2798 ::std::string const& searchType
2799 );
2800
2801 MCAPI void $fireEventUserListUpdated(
2802 ::std::string const& productId,
2803 ::std::string const& listId,
2804 ::std::string const& operation,
2805 bool success
2806 );
2807
2808 MCAPI void $fireEventUgcAcquisitionStateChanged(
2809 ::std::string const& ugcProductId,
2810 uint64 downloadSize,
2811 double elapsedTime,
2812 bool isUpdate,
2813 int retries,
2814 bool silent,
2815 int numContentTrackers,
2816 ::std::string const& result,
2817 ::std::string const& resultDetails,
2818 int httpStatus,
2819 int errorCode
2820 );
2821
2822 MCAPI void $fireEventSearchCatalogRequest(
2823 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
2824 );
2825
2826 MCAPI void $fireEventStoreLocalizationBinaryFetchResponse(int const status, uint const currentFetchAttempt);
2827
2828 MCAPI void $fireEventStoreSessionResponse(
2829 ::std::string const& responseType,
2830 int const status,
2831 int const retryCount,
2832 bool const asyncServicesManager
2833 );
2834
2835 MCAPI void
2836 $fireEventStoreDiscoveryRequestResponse(int const status, int const retryAttempt, bool const asyncServicesManager);
2837
2838 MCAPI void $fireEventStoreInventoryRefreshRequestResponse(
2839 int const status,
2840 int const retryAttempt,
2841 bool const asyncServicesManager
2842 );
2843
2844 MCAPI void $fireEventInventoryVersionRefreshRequestResponse(
2845 int const status,
2846 int const retryAttempt,
2847 bool const asyncServicesManager
2848 );
2849
2850 MCAPI void $fireEventServerDrivenLayoutPageLoaded(
2851 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
2852 ::std::string pageID,
2853 int requestSize,
2854 int responseSize,
2855 int rowCount,
2856 int itemCount,
2857 int imageCount
2858 );
2859
2860 MCAPI void $fireEventServerDrivenLayoutImagesLoaded(
2861 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
2862 ::std::string pageID,
2863 int imageCount,
2864 uint64 totalImagesSize,
2865 int successCount,
2866 int failCount,
2867 int cachedCount,
2868 ::std::vector<ushort>& responseCodes
2869 );
2870
2871 MCAPI void
2872 $fireEventTreatmentsSet(::std::vector<::std::string> const& treatments, ::std::string const& treatmentContext);
2873
2874 MCAPI void $fireEventProgressionsSet(::std::vector<::std::string> const& progressions);
2875
2876 MCAPI void $fireEventTreatmentsCleared();
2877
2878 MCAPI void $fireEventPackImportTimeout(::std::string const& productId);
2879
2880 MCAPI void
2881 $fireEventFatalClientPackError(::FatalClientPackErrorType errorType, ::gsl::span<::std::string const> packIds);
2882
2883 MCAPI void $fireEventStoreErrorPage(
2884 ::std::string const& errorCode,
2885 ::std::string const& pageId,
2886 ::std::string const& discoveryServiceTitleId,
2887 ::std::string const& playFabTitleId
2888 );
2889
2890 MCAPI void $setServerIdsforClient(
2891 ::std::string const& multiplayerCorrelationId,
2892 ::std::string const& serverVersion,
2893 ::std::string const& serverId,
2894 ::std::string const& worldId,
2895 ::std::string const& scenarioId,
2896 ::std::string const& ownerId
2897 );
2898
2899 MCAPI void $setConnectionGUID(::std::string const& connectionGUID);
2900
2901 MCAPI void $removeConnectionGUID();
2902
2903 MCAPI void $fireEventOptionsUpdated(
2904 bool onStartup,
2905 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
2906 );
2907
2908 MCAPI void $fireEventChatSettingsUpdated(
2909 ::Player const* player,
2910 ::std::vector<::Social::Events::Property> const& properties
2911 ) const;
2912
2913 MCAPI void
2914 $fireEventControlRemappedByPlayer(::std::string const& actionName, ::RawInputType inputType, int keyCode) const;
2915
2916#ifdef LL_PLAT_S
2917 MCFOLD void $fireEventGameRulesUpdated(bool oldValue, bool newValue, ::std::string const& gameRuleName);
2918#else // LL_PLAT_C
2919 MCAPI void $fireEventGameRulesUpdated(bool oldValue, bool newValue, ::std::string const& gameRuleName);
2920#endif
2921
2922 MCFOLD void $fireEventGameRulesUpdated(int oldValue, int newValue, ::std::string const& gameRuleName);
2923
2924#ifdef LL_PLAT_S
2925 MCFOLD void $fireEventGameRulesUpdated(float oldValue, float newValue, ::std::string const& gameRuleName);
2926#else // LL_PLAT_C
2927 MCAPI void $fireEventGameRulesUpdated(float oldValue, float newValue, ::std::string const& gameRuleName);
2928#endif
2929
2930 MCAPI void $fireCurrentInputUpdated(uint userId, ::InputMode inputMode);
2931
2932 MCAPI void $fireEventSplitScreenUpdated(::SplitScreenUpdatedEventData const& data);
2933
2934 MCFOLD void $fireEventPerformanceMetrics(
2935 ::ProfilerLiteTelemetry const& profileTelemetry,
2936 bool IsEcoFrameThrottled,
2937 int fpsThrottle
2938 );
2939
2940 MCFOLD void $fireEventPerformanceContext(
2941 ::PerfContextTrackerReport const& perfContextReport,
2942 bool IsEcoFrameThrottled,
2943 int fpsThrottle
2944 );
2945
2946 MCAPI void $fireEventScreenChanged(
2947 uint const& userId,
2948 ::std::string const& screenName,
2949 ::std::unordered_map<::std::string, ::std::string> const& additionalProperties
2950 );
2951
2952 MCFOLD void $fireEventImGuiScreenChanged(
2953 ::std::string const& screenName,
2954 ::std::unordered_map<::std::string, ::std::string> const& additionalProperties
2955 );
2956
2957 MCAPI void $fireEventPopupClosed(::std::string const& popupName) const;
2958
2959 MCAPI void $fireEventNewContentCheckCompleted(::std::string const& newContentPrefix, bool hasNewStoreContent);
2960
2961 MCAPI void $fireEventEncyclopediaTopicChanged(::std::string const& topicName, ::InputMode inputMode);
2962
2963 MCAPI void $fireEventHowToPlayTopicChanged(::std::string const& topicName, ::InputMode inputMode);
2964
2965 MCAPI void $fireEventAndroidHelpRequest();
2966
2967 MCFOLD void
2968 $fireEventWorldFilesListed(uint64 numLevels, uint64 totalSizeMB, uint64 largestLevelMB, uint64 smallestLevelMB);
2969
2970 MCFOLD void $fireEventStorage(int state, ::std::string const& extra);
2971
2972 MCFOLD void $fireEventStorageReport(::std::string const& report);
2973
2974 MCAPI void $fireEventPlayerMessageSay(::std::string const& fromName, ::std::string const& message);
2975
2976 MCAPI void $fireEventPlayerMessageTell(
2977 ::std::string const& fromName,
2978 ::std::string const& toName,
2979 ::std::string const& message
2980 );
2981
2982 MCAPI void $fireEventPlayerMessageChat(::std::string const& fromName, ::std::string const& message);
2983
2984 MCAPI void $fireEventPlayerMessageMe(::std::string const& fromName, ::std::string const& message);
2985
2986 MCAPI void $fireEventPlayerMessageTitle(
2987 ::std::string const& fromName,
2988 ::std::string const& toName,
2989 ::std::string const& message
2990 );
2991
2992 MCAPI void $fireEventPlayerKicked(::std::string const& sessionType, ::std::string const& kickedPlayer);
2993
2994 MCAPI void $fireEventPlayerBanned(::std::string const& bannedPlayer);
2995
2996 MCAPI void $fireEventChunkLoaded(::LevelChunk& chunk);
2997
2998 MCAPI void $fireEventChunkUnloaded(::LevelChunk& chunk);
2999
3000 MCAPI void $fireEventChunkChanged(::LevelChunk& chunk);
3001
3002 MCAPI void $fireEventPackPlayed(::PackInstance const& packInstance, uint priority);
3003
3004 MCAPI void
3005 $fireEventRespondedToAcceptContent(::PacksInfoData const& data, bool accepted, bool downloadOptionalResourcePacks);
3006
3007 MCAPI void $fireEventStackLoaded(::StackStats const& stats);
3008
3009 MCAPI void $firePackSettingsEvent(
3010 ::PackSettings const& packSettings,
3011 ::PackManifest const& manifest,
3012 ::std::string serializedPackSettings
3013 );
3014
3015 MCAPI void $fireEventTreatmentPackApplied(::PackManifest const& manifest);
3016
3017 MCAPI void $fireEventTreatmentPackDownloadFailed(
3018 ::std::string productId,
3019 ::std::string packId,
3020 ::std::string versionNumber,
3021 ::std::string requiredTreatmentTag
3022 );
3023
3024 MCAPI void $fireEventTreatmentPackDownloaded(
3025 ::std::string productId,
3026 ::std::string packId,
3027 ::std::string versionNumber,
3028 ::std::string requiredTreatmentTag
3029 );
3030
3031 MCAPI void $fireEventTreatmentPackRemoved(::std::string packId);
3032
3033 MCAPI void $fireCDNDownloadEvent(
3034 ::std::string const& packId,
3035 ::std::string const& versionNumber,
3036 ::std::string const& hostUrl,
3037 ::IMinecraftEventing::CDNDownloadResult const& downloadResult,
3038 ::IMinecraftEventing::CDNDownloadEventOrigin const& origin,
3039 float const& elapsedTime
3040 );
3041
3042 MCAPI void $fireEventContentLogsInWorldSession(::std::string const& logArea, uint errorCount, uint warningCount);
3043
3044 MCAPI void $fireEventEntitlementCacheLoadTimeout();
3045
3046 MCAPI void $fireTextToSpeechToggled(bool uiTTS, bool chatTTS);
3047
3048 MCAPI void $fireEventWorldLoadedClassroomCustomization(
3049 ::IMinecraftEventing::WorldClassroomCustomization customization,
3050 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
3051 );
3052
3053 MCAPI void $fireClassroomSettingUpdated(::ClassroomSetting classroomSetting, ::SettingsScreenMode settingMode);
3054
3055 MCAPI void $fireEventNpcPropertiesUpdated(::Actor& npcOwner, bool isEditorWorldbuilder);
3056
3057 MCAPI void $fireEventBoardTextUpdated(::ChalkboardBlockActor& board);
3058
3059 MCAPI void $fireEventCameraUsed(bool isSelfie);
3060
3061 MCAPI void $fireEventPortfolioExported(int imageCount, int captionedCount);
3062
3063 MCAPI void $fireQuickPlayEvent();
3064
3065 MCAPI void $fireExternalUriLaunched(::std::string const& uri) const;
3066
3067 MCAPI void $fireUserGeneratedUriLaunched(::UserGeneratedUriSource source) const;
3068
3069 MCAPI void $fireEventEmptyLibraryCategoryError(::std::string const& categoryTitle) const;
3070
3071 MCAPI void
3072 $fireCodeBuilderCachePerformance(::std::string const& stage, ::std::chrono::milliseconds elapsedTimeMS) const;
3073
3074 MCAPI void $fireCodeBuilderLoadPerformance(
3075 ::std::string const& stage,
3076 uint64 tutorialSize,
3077 uint64 downloadSize,
3078 ::std::chrono::milliseconds elapsedTimeMS
3079 ) const;
3080
3081 MCAPI void
3082 $fireCodeBuilderRunPerformance(::std::string const& stage, ::std::chrono::milliseconds elapsedTimeMS) const;
3083
3084 MCAPI void $fireLibraryButtonPressed(
3085 ::std::string const& productId,
3086 ::std::string const& worldName,
3087 ::std::string const& buttonAction
3088 );
3089
3090 MCAPI void $fireCourseButtonPressed(::std::string const& courseTitle, ::std::string const& courseId);
3091
3092 MCAPI void $fireLessonActionTaken(
3093 ::std::string const& lessonTitle,
3094 ::std::string const& lessonId,
3095 ::std::string const& courseId,
3096 ::IMinecraftEventing::EducationLessonAction buttonAction,
3097 int score
3098 );
3099
3100 MCAPI void $fireLessonProgressEvent(
3101 ::std::string const& lessonTitle,
3102 ::std::string const& lessonId,
3103 ::std::string const& courseId,
3104 ::std::string const& activityId,
3105 ::std::string const& action,
3106 ::std::string const& educationCreatorID,
3107 ::std::string const& educationCreatorWorldID,
3108 int score
3109 );
3110
3111 MCAPI void $fireShareButtonPressed(
3112 ::std::string const& location,
3113 ::EduShareUriType shareType,
3114 ::EduShareMethodType methodType,
3115 bool includesResource
3116 );
3117
3118 MCAPI void
3119 $fireLessonCompleteDialogOpened(::IMinecraftEventing::LessonCompleteDialogEntryPoint const entryPoint) const;
3120
3121 MCAPI void $fireEventEduiOSPurchaseTransaction(::TransactionStatus const& status) const;
3122
3123 MCAPI void $fireInAppCodeBuilderActivated(
3124 ::OpenCodeMethod method,
3125 ::std::string const& ideName,
3126 ::std::string const& educationCreatorID,
3127 ::std::string const& educationCreatorWorldID
3128 ) const;
3129
3130 MCAPI void $fireInAppCodeBuilderDismissed(::std::string const& ideName) const;
3131
3132 MCAPI void $fireCodeCommandButtonPressed();
3133
3134 MCAPI void $fireIDESelected(::std::string const& name) const;
3135
3136 MCAPI void $fireEventEduResources() const;
3137
3138 MCAPI void $fireEventCodeBuilderClosed() const;
3139
3140 MCAPI void $fireEventCodeBuilderLog(
3141 ::Webview::TelemetryCommonProperties const& properties,
3142 ::std::string const& message,
3143 ::std::string& level
3144 ) const;
3145
3146 MCAPI void $fireEventCodeBuilderScoreChanged(::std::string const& objective, int const score) const;
3147
3148 MCAPI void $fireEventEduServiceStatus(
3149 ::std::string const& serviceName,
3150 ::std::string const& requestName,
3151 int durationMS,
3152 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
3153 ) const;
3154
3155 MCAPI void $fireEventCodeBuilderRuntimeAction(::std::string const& action) const;
3156
3157 MCAPI void
3158 $fireEventWebviewDownload(::std::string const& downloadState, ::WebviewDownloadInfo const& downloadInfo) const;
3159
3160 MCAPI void $fireEduServiceRequestFailed(
3161 ::std::string const& serviceName,
3162 ::std::string const& requestName,
3163 ::std::string const& error,
3164 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
3165 ) const;
3166
3167 MCAPI void $fireEventButtonPressed(
3168 ::std::string const& buttonName,
3169 ::std::unordered_map<::std::string, ::std::string> const& details
3170 ) const;
3171
3172 MCAPI void $fireEventOptionsChanged(
3173 ::std::string const& optionGroup,
3174 ::std::unordered_map<::std::string, int> const& events
3175 ) const;
3176
3177 MCAPI void $fireEventModalShown(
3178 ::std::string const& modalName,
3179 ::std::unordered_map<::std::string, ::std::string> const& details
3180 ) const;
3181
3182 MCAPI void $fireEventTagButtonPressed(::std::string const& tag, bool showMore) const;
3183
3184 MCAPI void $fireEventLevelDataOverride(::std::string_view valueName) const;
3185
3186 MCAPI void $fireEventEduContentVerificationFailed() const;
3187
3188 MCAPI void $fireEventLibrarySearch(
3190 ) const;
3191
3192 MCFOLD void $fireEventLibrarySearchItemSelected(
3193 int const sessionId,
3194 int const correlationId,
3195 ::std::string const& productId,
3196 int const row,
3197 int const column
3198 ) const;
3199
3200 MCAPI void $fireEventControlTipsPanelUpdated(::EduControlPanelUpdateType updateType, double elapsedTimeSec) const;
3201
3202 MCAPI void $fireEventWorldExported(int64 worldSeed, uint64 worldSize);
3203
3204 MCAPI void $fireEventWorldImported(int64 worldSeed, uint64 worldSize);
3205
3206 MCAPI void $fireGlobalResourcePackCrashRecovery(::PackInstance& packInstance, ::mce::UUID recoveryID, int order);
3207
3208 MCAPI void
3209 $fireEventRealmShared(::std::string const& url, ::IMinecraftEventing::ShareMode const& mode, int64 const& worldId);
3210
3211 MCAPI void $fireEventRealmMemberlistCleared(int64 const& worldId, int const& numberOfUsersRemoved);
3212
3213 MCAPI void $fireEventRealmUrlGenerated(::std::string const& url, int64 const& worldId);
3214
3215 MCAPI void $fireEventStructureExport(
3216 ::glTFExportData const& exportData,
3217 ::IMinecraftEventing::ExportOutcome outcome,
3218 ::IMinecraftEventing::ExportStage stage
3219 ) const;
3220
3221 MCAPI void $fireEventContentShared(
3222 ::std::string const& productId,
3223 ::std::string const& url,
3224 ::IMinecraftEventing::ShareMode const& mode
3225 );
3226
3227 MCAPI void $fireMinecraftVersionLaunched(bool launchedLegacy);
3228
3229 MCAPI void $fireMinecraftVersionInviteAccepted(bool launchedLegacy, uint64 inviteGameOwner);
3230
3231 MCAPI void $fireInviteStatusReceived(::std::string id);
3232
3233 MCAPI void $fireInviteStatusSentImpl(uint userId, ::std::vector<::std::string> invitationIds);
3234
3235 MCAPI void $fireDayOneExperienceStateChanged(
3236 ::IMinecraftEventing::DayOneExperienceState newState,
3237 ::std::optional<uint> importedWorldIndex,
3238 ::std::optional<uint64> importedWorldTimestamp
3239 );
3240
3241 MCAPI void $fireContentDecryptionFailure(
3242 ::std::string const& failedContentIds,
3243 ::std::string const& contentKey,
3244 ::std::string const& failurePoint
3245 );
3246
3247 MCFOLD void $fireWorldConversionAttemptEvent(::Legacy::WorldConversionReport const& report);
3248
3249 MCFOLD void $fireWorldConversionInitiatedEvent(::std::string const& converterVersion);
3250
3251 MCAPI void $fireWorldUpgradedToCnCPart2(
3252 bool willUpgrade,
3253 ::std::string const& baseGameVersion,
3254 ::Experiments const& experiments,
3255 ::std::string const& lastOpenedVersion,
3256 ::LevelSeed64 worldSeed,
3257 float worldSizeMB
3258 );
3259
3260 MCAPI void $fireEventAssertFailed(::std::string const& assertBucket, ::std::string const& message);
3261
3262 MCAPI void $fireEventCrashSystemFailedToInit();
3263
3264 MCAPI void $fireChatUsedEvent(uint chatLength, bool isSlashCommand);
3265
3266 MCAPI void $fireEventJoinByCode(::std::string const&);
3267
3268 MCAPI void $fireEventAppInitFileOpenStats(
3269 ::Core::Profile::FileCounters const& openForRead,
3270 ::Core::Profile::FileCounters const& openForWrite
3271 );
3272
3273 MCAPI void $fireEventStartupPerformance(
3275 );
3276
3277 MCAPI void $fireEventOnAppStart(
3279 );
3280
3281 MCAPI void $fireEventOnAppSuspend(
3283 ::IMinecraftEventing::SuspendTriggersDisconnect triggersDisconnect,
3284 bool forceDisableEvents
3285 );
3286
3287 MCAPI void $fireEventOnAppResume(
3289 ::std::optional<int64> sessionAuthValidUntil
3290 );
3291
3292 MCAPI void $fireEventOnDeviceLost(
3294 );
3295
3296 MCAPI void $fireEventRealmsGeneralCall(::std::string const& callName, ::Bedrock::Http::Status returnCode);
3297
3298 MCAPI void
3299 $fireEventRealmsRealmSpecificCall(::std::string const& callName, int64 realmId, ::Bedrock::Http::Status returnCode);
3300
3301 MCAPI void $fireEventRealmDownload(
3302 ::std::string const& correlationId,
3303 ::std::string const& downloadStage,
3304 int const errorCode,
3305 int const realmId,
3306 int const fileSizeKB
3307 );
3308
3309 MCAPI void $fireEventRealmUpload(
3310 ::std::string const& correlationId,
3311 ::std::string const& uploadStage,
3312 int const errorCode,
3313 int const realmId,
3314 int const fileSizeKB,
3315 bool const isPack
3316 );
3317
3318 MCAPI void $fireRealmConnectionEventStart(::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow);
3319
3320 MCAPI void $fireRealmConnectionEventRealmAPIRequest(::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow);
3321
3322 MCAPI void $fireRealmConnectionEventRealmAPIResponse(
3323 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
3324 int responseCode
3325 );
3326
3327 MCAPI void $fireRealmConnectionEventGenericLambdaCalled(
3328 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
3329 ::IMinecraftEventing::RealmConnectionLambda realmConnectionLambda,
3330 ::IMinecraftEventing::RealmConnectionResult realmConnectionResult
3331 );
3332
3333 MCAPI void $fireIgnoredNotificationsEvent(
3334 ::IMinecraftEventing::IgnoredNotificationsType notificationType,
3335 int notificationCount,
3336 ::std::set<::IMinecraftEventing::IgnoredNotificationSource> notificationSources
3337 );
3338
3339 MCAPI void $fireClubsOpenFeedScreenEvent(
3340 ::IMinecraftEventing::ClubsFeedScreenSource const source,
3341 int64 const realmId,
3342 ::std::string const& clubId,
3343 int unreadPosts
3344 );
3345
3346 MCAPI void $fireClubsEngagementEvent(
3347 ::IMinecraftEventing::ClubsEngagementAction action,
3348 ::IMinecraftEventing::ClubsEngagementTargetType engagementTargetType,
3349 char const* target,
3350 int64 const realmId,
3351 ::std::string const& clubId
3352 );
3353
3354 MCAPI void $fireEventCopyWorldEducationEnabled();
3355
3356 MCAPI void $fireEventRespawn(::Player& player, int dimID);
3357
3358 MCAPI void $fireEventServerRespawnSearchTime(::Player& player, ::PlayerRespawnTelemetryData const& data);
3359
3360 MCAPI void $fireEventUnknownBlockReceived(::NewBlockID const& blockId, ushort data);
3361
3362 MCAPI void $fireEventCompoundCreatorCreated(int compoundId, int count);
3363
3364 MCAPI void $fireEventLabTableCreated(int reactionId, int productId, int productAux);
3365
3366 MCAPI void $fireEventElementConstructorUsed(
3367 int atomicNumber,
3368 int count,
3369 ::IMinecraftEventing::ElementConstructorUseType useType
3370 );
3371
3372 MCAPI void $fireEventReducerBlockEntered(::ItemDescriptor const& item);
3373
3374 MCAPI void $fireEventMultiplayerSessionUpdate(::Bedrock::NonOwnerPointer<::Level> level);
3375
3376 MCAPI void $fireEventLevelDestruct(bool isTransfer);
3377
3378 MCAPI void $flagEventDeepLink();
3379
3380 MCAPI void $flagEventPlayerGameTypeDefault(bool isDefault);
3381
3382 MCAPI void
3383 $fileEventCloudWorldPullFailed(::std::string const& reason, ::std::string const& worldID, bool localLevelDatUsed);
3384
3385 MCAPI void $fireEventLevelDatLoadFailed(::std::string const& reason, ::std::string const& worldID, bool isFatal);
3386
3387 MCAPI void $fireEventWorldCorruptionCausedWorldShutdown(
3389 ::std::string const& reason,
3390 ::std::optional<bool> isOutOfDiskSpace
3391 );
3392
3393 MCAPI void $fireEventClientLeftGameDueToUnrecoverableError(::std::string const& reason, bool isServer);
3394
3395 MCAPI void $fireEventServerShutdownDueToError(::std::string const& reason);
3396
3397 MCAPI void $fireEventServerInitializationFailed(
3398 ::std::string const& failReason,
3399 bool serverLevelExists,
3400 bool serverNetworkHandlerValid
3401 );
3402
3403 MCFOLD void $fireEventDBStorageSizeSnapshot(
3405 ::DBStorageFolderWatcher const& folderWatcher,
3406 ::DBStorageFolderWatcherSnapshotKind kind
3407 );
3408
3409 MCAPI void $fireEventLevelDBPerformanceData(
3412 );
3413
3414 MCAPI void $fireEventDBReadFail(::LevelStorageEventingContext const& context, ::std::string const& reason);
3415
3416 MCFOLD void $fireEventWorldHistoryPackSourceMissingDuringUpgrade(
3417 ::std::string const& worldPath,
3418 ::std::string const& levelId,
3419 ::std::string const& deletionCandidate
3420 );
3421
3422 MCAPI void $fireStructureBlockAction(
3423 ::IMinecraftEventing::StructureBlockActionType structureBlockActionType,
3424 ::StructureEditorData const& structureEditorData,
3425 ::StructureTelemetryClientData const* telemetryClientData
3426 );
3427
3428 MCAPI void $fireStructureBlockRedstoneActivated(
3429 ::IMinecraftEventing::StructureBlockActionType structureBlockActionType,
3430 ::StructureEditorData const& structureEditorData,
3431 ::StructureTelemetryClientData const* telemetryClientData
3432 );
3433
3434 MCAPI void $fireEventSidebarNavigation(
3435 uint const& userId,
3436 ::std::string const& layoutType,
3437 ::std::string const& telemetryId,
3438 int const depthLevel,
3439 bool const isSelected,
3440 bool const areChildrenVisible,
3441 bool const hasChildren
3442 );
3443
3444 MCAPI void $fireEventSidebarVerboseToggled(
3445 uint const& userId,
3446 ::std::string const& layoutType,
3447 ::std::string const& verboseNavigationType,
3448 bool const verboseState
3449 );
3450
3451 MCAPI void $fireEventPersonaUserLoadedActive(
3452 ::persona::ProfileType const personaProfile,
3453 ::std::string const& classicSkinId,
3454 bool personaUsesClassicSkin
3455 );
3456
3457 MCAPI void $fireEventPersonaItemPreviewed(
3458 ::persona::ProfileType const personaProfile,
3459 ::std::string const& itemOfferId,
3460 ::std::string const& productId,
3461 uint row,
3462 uint column,
3463 ::IMinecraftEventing::PromotionType promotionType,
3464 bool isOwned,
3465 ::std::string const& creatorId,
3466 ::std::string const& creatorName,
3467 double secondsToLoadContent,
3468 ::StoreEventData::StoreType storeType
3469 );
3470
3471 MCAPI void $fireEventPersonaAvatarUpdated(
3472 ::persona::ProfileType const personaProfile,
3473 ::std::vector<::std::string> const& newAppearancePieceIds,
3474 ::std::vector<bool> const& newPieces,
3475 ::std::vector<bool> const& tintedPieces,
3476 bool isNewPersona,
3477 bool isBeingDeleted,
3478 ::std::string const& bodySize,
3479 ::std::string const& armSize,
3480 ::std::string const& classicSkinId,
3481 bool usesClassicSkin,
3482 ::std::vector<::std::string> const& emotesPieceIds,
3483 ::std::vector<::std::string> const& emoteSlotNumbers
3484 );
3485
3486 MCAPI void $fireEventPersonaSkinChanged(
3487 ::persona::ProfileType const personaProfile,
3488 ::std::string const& classicSkinId,
3489 bool isClassicSkinUsed
3490 );
3491
3492 MCAPI void $fireEventPersonaAvatarsListed(::std::vector<::persona::ProfileType> const& profileTypesUsed);
3493
3494 MCAPI void
3495 $fireEventPersonaEmotePlayed(::std::string const& emoteProductId, bool isEmoteEndedEarly, int emoteSlotId);
3496
3497 MCAPI void
3498 $fireEventDefaultCastSelected(int previewIndex, ::mce::UUID appearanceId, ::std::string const& appearanceName);
3499
3500 MCAPI void $fireEventPersonaInitalizationEvent(
3501 uint secondsToCompletion,
3502 ::std::string const& status,
3503 ::std::string const& user
3504 );
3505
3506 MCAPI void $fireEventPersonaGeneralError(::std::string const& personaErrorName, uint duplicateErrorsFired);
3507
3508 MCAPI void $fireEventPersonaLoadingPieces(uint piecesLoaded, double timeToLoadInSeconds);
3509
3510 MCAPI void $fireEventPersonaStillLoading(
3511 bool isSignedIn,
3512 bool selectedSkinInitialized,
3513 bool isStillSyncingWithService,
3514 bool isRepoStillBuildingAppearances,
3515 bool isPendingSkinStillLoading,
3516 bool isRefreshingEntitlements,
3517 bool isUserUpdateInProgress,
3518 bool isSelectedSkinLoaded,
3519 ::std::vector<::persona::ProfileType> const& failingPersonaProfiles,
3520 int unknownPersonasCount,
3521 double timeElapsed
3522 );
3523
3524 MCAPI void $fireEventPersonaCreationFailed(
3525 ::std::string const& errorName,
3526 ::std::string const& pieceId,
3527 bool missingTop,
3528 bool missingBottom,
3529 ::std::string const& repositoryPieceType,
3530 ::std::string const& appearancePieceType
3531 );
3532
3533 MCAPI void $fireEventPersonaCategoryInformation(::std::string const& categoryInformation);
3534
3535 MCAPI void $fireEventDisplayLoggedError(
3536 ::std::string const& errorMessageTemplate,
3537 ::std::string const& errorMessage,
3538 ::std::string const& errorParameters
3539 );
3540
3541 MCAPI void $fireEventOreUIError(uint const& userId, ::std::string const& errorType);
3542
3543 MCAPI void $fireEventOreUIScreenPerformance(
3544 uint const& userId,
3546 );
3547
3548 MCAPI void $fireEventRealmsStoriesOptIn(
3549 ::std::string const& correlationId,
3550 ::std::string const& action,
3551 ::std::string const& realmId,
3552 bool const isOwner
3553 );
3554
3555 MCAPI void
3556 $fireEventOnboardingWorldCreationUsage(bool onboardingWorldCreationUsed, bool hasWorlds, bool hasOnlyBaseGamePacks);
3557
3558 MCAPI ::std::shared_ptr<void*> $requestEventDeferment();
3559
3560 MCAPI ::gsl::not_null<::Bedrock::CrashTelemetryProcessor*> $getCrashTelemetryProcessor();
3561
3562 MCAPI void $sendCrashTelemetryNow(::std::shared_ptr<::Bedrock::SessionInfo> session);
3563
3564 MCAPI void $addCrashTelemetryToBatch(::std::shared_ptr<::Bedrock::SessionInfo> session);
3565
3566 MCAPI void $sendBatchedCrashTelemetry();
3567
3568 MCAPI void $sendCrashStatusTelemetry(::Bedrock::CrashUploadStatus const& status);
3569
3570 MCAPI void $fireEventLevelChunkPerformanceData(bool isClientSide);
3571
3572 MCAPI void $fireChunkRecyclerTelemetryData(::ChunkRecyclerTelemetryOutput const& output);
3573
3574 MCAPI void $fireEventActorValueValidationFailed(::std::string const& invalidValue, char const* caller);
3575
3576 MCAPI void $fireScreenLoadTimeUpdateEvent(
3577 uint const& userId,
3578 ::std::string const& screenName,
3579 ::std::chrono::nanoseconds duration,
3580 ::std::string const& loadInstanceId
3581 );
3582
3583 MCAPI void $fireDBStorageError(::LevelStorageEventingContext const& context, ::std::string const& errorType);
3584
3585 MCAPI void $fireStorageMigrationEvent(
3586 bool isSuccessful,
3587 ::Bedrock::StorageMigration::StorageMigrationType migrationType,
3588 int numFilesMigrated,
3589 int numFilesTotal,
3590 ::std::chrono::nanoseconds duration,
3591 ::std::string const& failureReason
3592 );
3593
3594 MCAPI void $fireEventConnectedStorageResult(
3595 ::ConnectedStorageEventType eventType,
3596 bool succeeded,
3597 uint durationMs,
3598 ::std::optional<uint> chunksSent,
3599 ::std::string const& errorMessage,
3600 ::std::string const& levelId,
3601 int64 quotaRemaining,
3602 ::std::optional<uint> filesToAddCount,
3603 ::std::optional<uint> filesToDeleteCount,
3604 ::std::optional<uint> HACK_oldFilesToDeleteCount
3605 );
3606
3607 MCAPI void $fireEventConnectedStorageError(char const* message, ::std::string const& levelId, int64 quotaRemaining);
3608
3609 MCAPI void $fireServerStarted(
3610 ::LevelSettings const& settings,
3611 ::std::unordered_map<::std::string, ::std::string> const& propertiesChanged
3612 );
3613
3614 MCAPI void $fireServerShutdown();
3615
3616 MCAPI void $fireSafetyServiceTextProcessEvent(
3617 ::std::string const& authorId,
3618 ::TextProcessingEventOrigin eventOrigin,
3619 ushort responseCode,
3620 ::std::string const& message,
3621 bool wasFlagged,
3622 double responseTime,
3623 char risk,
3624 char trustLevel,
3625 ::Json::Value const& events,
3626 bool isProcessorOffline,
3627 bool isCachedResponse
3628 );
3629
3630 MCAPI void $fireBannedSkinVerificationEvent(
3631 uint const& userId,
3632 ::std::string const& serverType,
3633 ::std::string const& skinData,
3634 bool wasApproved,
3635 int const eventCode,
3636 ::std::string const& message
3637 );
3638
3639 MCAPI void $fireEventPlayerReportSent(
3640 bool successfulReportSent,
3641 ::std::string const& failureSource,
3642 ::std::string const& failureReason,
3643 ::std::string const& reportID
3644 );
3645
3646 MCAPI void
3647 $fireEventOneDSPlayerReportPayload(::std::string const& reportPayloadJson, ::std::string const& reportID);
3648
3649 MCAPI void $firePlayerAccountMetadata(
3650 ::Social::PermissionCheckResult multiPlayerAllowed,
3652 ::Social::PermissionCheckResult addFriendAllowed,
3655 ::Social::PermissionCheckResult viewProfilesAllowed,
3656 bool isChildAccount,
3657 bool isGuest
3658 );
3659
3660 MCAPI void
3661 $fireEventSafetyHTTPRequest(::std::string const& method, ::std::string const& url, int const responseCode);
3662
3663 MCAPI void $fireEventProfanityFilter(bool localFilter, bool remoteFilter, bool playerFilter);
3664
3665 MCAPI void $fireEventChatFloodingActionTaken(
3666 ::std::string const& authorXuid,
3667 ::Safety::ChatFloodingAction action,
3668 ::std::string const& message
3669 );
3670
3671 MCAPI void $fireEventTextProcessorStartupFailed(::std::string const& stage, int retryCount, int maxRetryCount);
3672
3673 MCAPI void $fireEventBlockUser(::std::string const& xuid, bool isSuccess, bool isBlocked);
3674
3675 MCAPI void $fireEventMuteUser(::std::string const& xuid, bool isSuccess, bool isMuted);
3676
3677 MCAPI void $fireWorldRecoveryTelemetryEvent(::Bedrock::WorldRecoveryTelemetryEvent const& data);
3678
3679 MCAPI ::Json::Value $propertiesAsJsonValue() const;
3680
3681 MCAPI void $fireEventUwpToGdkMigrationComplete(
3682 ::Bedrock::DeviceIdContext const& deviceIdContext,
3683 ::std::string const& gdkDeviceId,
3684 ::std::string_view migrationErrors
3685 );
3686
3687 MCAPI void $fireNetworkChangedEvent(::std::string const& networkConnectionType);
3688
3689 MCAPI void $fireEventMessageServiceImpression(
3690 ::std::string const& messageId,
3691 ::std::string const& messageSessionId,
3692 ::std::string const& Surface,
3693 ::std::string const& Template,
3694 bool const isControl
3695 );
3696
3697 MCAPI void $fireEventMessageReceived(
3698 ::std::string const& messageId,
3699 ::std::string const& messageSessionId,
3700 ::std::string const& Surface,
3701 ::std::string const& Template,
3702 bool const isControl
3703 );
3704
3705 MCAPI void $fireEventGoogleAccountHoldWarning(bool navigatedToSubscription);
3706
3707 MCAPI void $fireDelayedEventReportOfflineAction(::std::string const& offlineAction);
3708
3709 MCAPI void
3710 $fireEventFeedbackSubmitted(::std::string const& productId, bool safetyCheckSuccessful, bool isValidText);
3711
3712 MCAPI void $fireEventTrackDeeplinks(
3713 ::std::string const& deeplinkDestination,
3714 ::std::string const& deeplinkSource,
3715 ::std::string const& educationReferrerId,
3716 ::std::string const& educationReferrerType
3717 );
3718
3719 MCAPI void $fireEventReceivedUniqueWebSessionId(::std::string const& webSessionId);
3720
3721 MCAPI void $fireEventReceivedUniqueLauncherSessionId(::std::string const& launcherSessionId);
3722
3723 MCAPI void $firePlayerUnexpectedFallDamage(float const fallDistance, bool isVehicle, float const divergenceAmount);
3724
3725 MCAPI void $fireEventDedicatedServerDiscoveryResponse(int const status, int const retryAttempt);
3726
3727 MCAPI void $fireEventInGamePause(bool pauseStatus);
3728
3729 MCAPI void $fireEventGameTip(int gameTipId, int gameTipEventType, int gameTipTestGroup, ::InputMode inputMode);
3730
3731 MCAPI void $fireEventAddedFriend(
3732 ::std::string const& addedXuid,
3733 ::IMinecraftEventing::AddedFriendLocation location,
3734 bool success
3735 );
3736
3737 MCAPI void $fireEventInboxSummary(::Social::Events::InboxSummaryData const& data);
3738
3739 MCAPI void $fireEventTrialStatusFailed(int errorCode);
3740
3741 MCAPI void $fireEventSaveDataExpansion(uint64 preExpansionSize, uint64 postExpansionSize, uint64 levelUsedSize);
3742
3743 MCAPI void $fireEventProfileButtonPressed(::std::string const& entryPoint) const;
3744
3745 MCAPI void $fireEventWorldCopy(uint64 worldSize, uint64 filesSum, ::LevelSeed64 worldSeed);
3746
3747 MCAPI void $fireEventWriteBudgetLow(
3748 uint64 remainingWriteBudget,
3749 float writeRateMBPerMin,
3750 ::std::chrono::nanoseconds timeSinceLastLargeFileTransactionCompleted,
3751 bool anyLargeFileTransactionInProgress,
3752 ::std::string const& correlationId
3753 );
3754
3755 MCAPI void $fireEventWriteBudgetReplenished(
3756 ::std::chrono::nanoseconds throttledTime,
3757 uint64 lowestWriteBudget,
3758 ::std::optional<uint64> lowestSystemThrottlingPerSec,
3759 ::std::chrono::nanoseconds timeSinceLastLargeFileTransactionCompleted,
3760 bool anyLargeFileTransactionInProgress,
3761 ::std::string const& correlationId
3762 );
3763
3764 MCAPI void $fireEventLargeFileWriteStall(
3765 uint64 totalWriteSizeBytes,
3766 ::std::vector<::std::string> const& largestFileNames,
3767 ::std::chrono::nanoseconds estimatedTotalWriteTime,
3768 ::std::chrono::nanoseconds estimatedTotalWaitTime,
3769 ::std::string const& originatingSystem,
3770 uint64 budgetBytesAtStartOfOperation,
3771 bool operationWasCancelled,
3772 ::std::chrono::nanoseconds totalWriteTime,
3773 ::std::chrono::nanoseconds totalWaitTime,
3774 int numberOfFilesWritten,
3775 uint64 budgetBytesAtEndOfOperation,
3776 ::std::vector<::std::string> const& associatedContentIDs
3777 );
3778
3779 MCAPI void $fireEventLowMemoryDetected(::LowMemoryReport const& report);
3780
3781 MCAPI void $fireEventReceivedApplicationExitInfo(
3782 ::std::string const& description,
3783 int reasonCode,
3784 int exitCode,
3785 int importanceCode,
3786 int64 residentSetSize,
3787 int64 proportionalSetSize,
3788 ::std::string const& sessionId,
3789 bool deviceSupportsReasonLowMem
3790 );
3791
3792 MCFOLD void $fireEventBug1341395(::std::string const& details);
3793
3794 MCFOLD void $fireEventImmersiveReaderStatus(::Bedrock::Http::Status const status);
3795
3796 MCAPI void $fireEventPUVLoad(::std::string const& resourceCategory, ::PuvLoadData::TelemetryEventData&& loadData);
3797
3798 MCAPI ::Social::Events::EventManager& $getEventManager() const;
3799
3800 MCAPI uint $getPrimaryLocalUserId() const;
3801
3802 MCAPI bool $getShouldHaveAchievementsEnabled();
3803
3804 MCAPI void $setShouldHaveAchievementsEnabled(bool value);
3805
3806 MCAPI bool $getAchievementsAlwaysEnabled();
3807
3808#ifdef LL_PLAT_C
3809 MCAPI void $fireEventPlayerDamaged(::Player* player, ::SharedTypes::Legacy::ActorDamageCause damageCause);
3810
3811 MCAPI void $fireEventPacketViolationDetected(
3812 uint64 readResult,
3813 ::std::string readResultContext,
3814 ::PacketViolationResponse violationResponse,
3815 ::MinecraftPacketIds violatingPacketId,
3816 ::NetworkIdentifier const& netId,
3817 uint numViolations,
3818 ::SubClientId clientSubId,
3819 ::SubClientId senderSubId,
3820 uint packetStreamLength
3821 );
3822
3823 MCAPI void $fireEventServerReceivedValidPacket(
3824 ::NetworkIdentifier const& netId,
3825 ::MinecraftPacketIds packetId,
3826 ::SubClientId clientSubId
3827 );
3828
3829 MCAPI void $fireEventClientSentOrReceivedPacket(
3830 ::NetworkIdentifier const& netId,
3831 ::MinecraftPacketIds packetId,
3832 ::SubClientId clientSubId,
3833 ::std::string correlationId,
3834 bool isOutgoing
3835 );
3836
3837 MCAPI void $fireEventPlayerJoinWorld(
3838 uint const& userId,
3839 ::SubClientId const subId,
3840 bool isJoiningLocalServer,
3841 ::std::optional<bool> isUsingTURN,
3842 ::IConnectionEventing::PlayerJoinWorldAttemptState const JoinState,
3843 int attemptId,
3844 ::Connection::DisconnectFailReason failReason,
3845 ::Json::Value const& failDebugInfo,
3846 ::TransportLayer transportLayer,
3847 ::NetworkType networkTypeOverride,
3848 ::Social::MultiplayerState multiplayerState,
3849 bool isConnectedToApplicationLayer,
3850 bool isFilteringProfanity,
3851 ::Social::MultiplayerServiceIdentifier multiplayerServiceIdentifier,
3852 ::std::string const& titleMessage,
3853 ::std::string const& errorMessage,
3854 ::std::string const& codeword,
3855 bool isServerTransfer,
3856 ::Social::GameConnectionInfo const& connectionInfo
3857 );
3858
3859 MCAPI void $fireUserGeneratedUriLaunchFailed(
3860 ::UserGeneratedUriSource source,
3861 ::Util::ResourceUri::ValidationStatus reasonCode,
3862 ::std::string const& additionalData
3863 ) const;
3864
3865 MCAPI void
3866 $fireEventActorMovementCorrectionDivergence(::ActorType actorType, ::std::vector<float> const& divergences);
3867
3868 MCAPI void $fireEventPacketSerializationMismatch(
3869 ::MinecraftPacketIds packetId,
3870 ::std::string_view legacyStream,
3871 ::std::string_view cerealStream
3872 );
3873#endif
3874
3875
3876 // NOLINTEND
3877
3878public:
3879 // vftables
3880 // NOLINTBEGIN
3881 MCAPI static void** $vftableForWorldRecoveryTelemetryHandler();
3882
3883 MCAPI static void** $vftableForEnableNonOwnerReferences();
3884
3885 MCAPI static void** $vftableForIScreenChangedEventing();
3886
3887 MCAPI static void** $vftableForIUIEventTelemetry();
3888
3889 MCAPI static void** $vftableForIWebviewTelemetry();
3890
3892
3894
3895 MCAPI static void** $vftableForIConnectionEventing();
3896
3897 MCAPI static void** $vftableForCrashTelemetryProcessor();
3898
3899 MCAPI static void** $vftableForIPackTelemetry();
3900 // NOLINTEND
3901};
Definition Actor.h:105
Definition AppPlatform.h:76
Definition ArmorTrim.h:16
Definition BaseCommandBlock.h:19
Definition CrashTelemetryProcessor.h:13
Definition Status.h:7
Definition NonOwnerPointer.h:9
Definition SessionInfo.h:7
Definition BasicLockbox.h:8
Definition WorldRecoveryTelemetryHandler.h:15
Definition BlockPos.h:19
Definition Block.h:43
Definition ChalkboardBlockActor.h:24
Definition ChunkRecyclerTelemetryData.h:17
Definition Command.h:17
Definition ContentIdentity.h:8
Definition Path.h:10
Definition DBStorageFolderWatcher.h:14
Definition Experiments.h:14
Definition IConnectionEventing.h:10
Definition IMinecraftEventing.h:137
static MCAPI void ** $vftableForIUIEventTelemetry()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForIWebviewTelemetry()
static MCAPI void ** $vftableForIScreenChangedEventing()
static MCAPI void ** $vftableForIPackTelemetry()
static MCAPI void ** $vftableForIConnectionEventing()
Definition IPacketObserver.h:14
Definition IPurchaseEventing.h:24
Definition IRealmsTelemetry.h:11
Definition ItemDescriptor.h:23
Definition ItemEnchants.h:17
Definition ItemInstance.h:15
Definition ItemStack.h:26
Definition Value.h:16
Definition LevelChunk.h:79
Definition LevelData.h:50
Definition LevelSeed64.h:5
Definition LevelSettings.h:39
Definition Level.h:249
Definition MessagePerformance.h:5
static MCAPI void ** $vftableForIExternalSessionTelemetry()
static MCAPI void ** $vftableForIMinecraftEventingProvider()
Definition MobEffectInstance.h:15
Definition Mob.h:50
Definition NetworkIdentifier.h:10
Definition PackInstance.h:16
Definition PackManifest.h:37
Definition PackSettings.h:19
Definition PacketObserver.h:14
Definition Path.h:16
Definition PerfContextTrackerReport.h:5
Definition PlayerRespawnTelemetryData.h:5
Definition Player.h:125
Definition PushNotificationMessage.h:5
Definition ScriptPluginResult.h:11
Definition AchievementEventing.h:23
Definition EventManager.h:19
Definition Event.h:18
Definition IEventListener.h:16
Definition Measurement.h:12
Definition MobTelemetry.h:12
Definition PlayerTelemetry.h:15
Definition Property.h:7
Definition RealtimeRoute.h:7
Definition ScreenFlow.h:12
Definition TelemetryHeartbeat.h:7
Definition GameConnectionInfo.h:21
Definition IUserManager.h:34
Definition StructureEditorData.h:18
Definition StructureTelemetryClientData.h:5
Definition TaskGroup.h:53
Definition TelemetryInfo.h:5
Definition function_ref.h:60
Definition buffer_span.h:6
Definition UUID.h:7
STL namespace.
Definition AsyncJoinAllow.h:5
Definition AsyncJoinDeny.h:8
Definition CrashUploadStatus.h:7
Definition DeviceIdContext.h:7
Definition DirectoryEntry.h:7
Definition WorldRecoveryTelemetryEvent.h:7
Definition ChunkRecyclerTelemetryOutput.h:5
Definition FileCounters.h:7
Definition DBStoragePerformanceTelemetryData.h:5
Definition IMinecraftEventing.h:417
Definition EduDSTelemetryIdentifier.h:7
Definition WorldConversionReport.h:7
Definition LevelStorageEventingContext.h:5
Definition LowMemoryReport.h:5
Definition MinecraftEventingDependencies.h:16
Definition MinecraftEventing.h:348
Definition NewBlockID.h:8
Definition PacksInfoData.h:14
Definition SigninID.h:7
Definition ProfilerLiteTelemetry.h:5
Definition TelemetryEventData.h:12
Definition InboxSummaryData.h:7
Definition PermissionCheckResult.h:7
Definition PlayerIDs.h:7
Definition SplitScreenUpdatedEventData.h:5
Definition StackStats.h:8
Definition WebviewDownloadInfo.h:5
Definition TelemetryCommonProperties.h:7
Definition context.h:5
Definition glTFExportData.h:5
Definition Alias.h:14