LeviLamina
Loading...
Searching...
No Matches
IMinecraftEventing.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/storage_migration/StorageMigrationType.h"
22#include "mc/deps/core/file/LevelStorageState.h"
23#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
24#include "mc/deps/core/utility/NonOwnerPointer.h"
25#include "mc/deps/core/utility/buffer_span.h"
26#include "mc/deps/input/InputMode.h"
27#include "mc/deps/input/enums/RawInputType.h"
28#include "mc/deps/shared_types/legacy/Difficulty.h"
29#include "mc/deps/shared_types/legacy/actor/ActorDamageCause.h"
30#include "mc/events/ConnectedStorageEventType.h"
31#include "mc/events/EduControlPanelUpdateType.h"
32#include "mc/events/FatalClientPackErrorType.h"
33#include "mc/events/IConnectionEventing.h"
34#include "mc/events/IExternalSessionTelemetry.h"
35#include "mc/events/IMinecraftEventingProvider.h"
36#include "mc/events/IPackTelemetry.h"
37#include "mc/events/IScreenChangedEventing.h"
38#include "mc/events/IUIEventTelemetry.h"
39#include "mc/events/NetworkType.h"
40#include "mc/events/OpenCodeMethod.h"
41#include "mc/events/TextProcessingEventOrigin.h"
42#include "mc/events/UserGeneratedUriSource.h"
43#include "mc/events/identity/EduSignInStage.h"
44#include "mc/events/store_event_data/StoreType.h"
45#include "mc/identity/IdentitySignInTrigger.h"
46#include "mc/identity/IdentityType.h"
47#include "mc/identity/SignInResult.h"
48#include "mc/network/MinecraftPacketIds.h"
49#include "mc/network/PacketViolationResponse.h"
50#include "mc/network/TransportLayer.h"
51#include "mc/network/connection/DisconnectFailReason.h"
52#include "mc/network/services/signaling/SignalServiceConnectStage.h"
53#include "mc/platform/brstd/function_ref.h"
54#include "mc/server/commands/CommandPermissionLevel.h"
55#include "mc/server/commands/PlayerPermissionLevel.h"
56#include "mc/server/safety/ChatFloodingAction.h"
57#include "mc/util/ValidationStatus.h"
58#include "mc/world/actor/ActorType.h"
59#include "mc/world/actor/player/LoadingState.h"
60#include "mc/world/actor/player/persona/ProfileType.h"
61#include "mc/world/level/FileArchiverOutcome.h"
62#include "mc/world/level/GameType.h"
63#include "mc/world/level/storage/DBStorageFolderWatcherSnapshotKind.h"
64
65// auto generated forward declare list
66// clang-format off
67class Actor;
68class AppPlatform;
69class Block;
71class ContentIdentity;
73class Experiments;
74class ItemDescriptor;
75class Level;
76class LevelChunk;
77class LevelSeed64;
78class LevelSettings;
81class PackInstance;
82class PackManifest;
83class PackSettings;
85class Player;
91struct AsyncJoinAllow;
92struct AsyncJoinDeny;
95struct ExtraLicenseData;
98struct LowMemoryReport;
99struct NewBlockID;
100struct PacksInfoData;
103struct StackStats;
105namespace Bedrock { class CrashTelemetryProcessor; }
106namespace Bedrock { struct DeviceIdContext; }
107namespace Bedrock { struct DirectoryEntry; }
108namespace Bedrock::Http { class Status; }
109namespace Bedrock::PubSub { class Subscription; }
110namespace Core::Profile { struct FileCounters; }
111namespace Json { class Value; }
112namespace PuvLoadData { struct TelemetryEventData; }
113namespace Social { class GameConnectionInfo; }
114namespace Social { struct PermissionCheckResult; }
115namespace Social { struct PlayerIDs; }
116namespace Social::Events { class Event; }
117namespace Social::Events { class EventManager; }
118namespace Social::Events { class IEventListener; }
119namespace Social::Events { class Measurement; }
120namespace Social::Events { class OptionChange; }
121namespace Social::Events { class Property; }
122namespace Social::Events { struct InboxSummaryData; }
123namespace Social::Events { struct ServerTelemetryData; }
124namespace Webview { struct TelemetryCommonProperties; }
125namespace mce { class UUID; }
126// clang-format on
127
129 public ::IPackTelemetry,
132 public ::IUIEventTelemetry,
135public:
136 // IMinecraftEventing inner types declare
137 // clang-format off
139 // clang-format on
140
141 // IMinecraftEventing inner types define
142 enum class AddedFriendLocation : int {
143 AddFriendsRecommendedFriends = 0,
144 AddFriendsRecentlyPlayedWith = 1,
145 AddFriendsFollowers = 2,
146 AddFriendsSearch = 3,
147 ProfileMain = 4,
148 JsonUI = 5,
149 ProfileFriendsList = 6,
150 ProfileFollowersList = 7,
151 };
152
153 enum class AuthenticationOutcome : int {
154 Success = 0,
155 Failed = 1,
156 AccountRequired = 2,
157 };
158
159 enum class CDNDownloadEventOrigin : int {
160 Manifest = 0,
161 SystemServicePacks = 1,
162 WorldResourcePackDownload = 2,
163 };
164
165 enum class CDNDownloadResult : int {
166 Success = 0,
167 Failure = 1,
168 Timeout = 2,
169 AddedToPackRepo = 3,
170 NotFoundInPackRepo = 4,
171 NotOnStack = 5,
172 };
173
174 enum class ChunkCacheResultType : int {
175 SuccessFromCache = 0,
176 SuccessFromNetwork = 1,
177 Failure = 2,
178 };
179
180 enum class ClubsEngagementAction : int {
181 Like = 0,
182 Unlike = 1,
183 Post = 2,
184 Delete = 3,
185 Report = 4,
186 Comment = 5,
187 };
188
189 enum class ClubsEngagementTargetType : int {
190 Unknown = 0,
191 ImageFeedPost = 1,
192 TextFeedPost = 2,
193 Comment = 3,
194 RealmEvent = 4,
195 Gamertag = 5,
196 };
197
198 enum class ClubsFeedScreenSource : int {
199 PlayScreen = 0,
200 PauseScreen = 1,
201 SlotsScreen = 2,
202 };
203
204 enum class DayOneExperienceState : int {
205 Started = 0,
206 CompletedWithoutWorlds = 1,
207 CompletedWithImportSkipped = 2,
208 CompletedWithImport = 3,
209 };
210
211 enum class DeviceAccountFailurePhase : int {
212 Unknown = 0,
213 SignIn = 1,
214 LoadCredentials = 2,
215 TitleKey = 3,
216 StoreVerify = 4,
217 PlayFabCreateConfigured = 5,
218 PlayFabCreate = 6,
219 };
220
221 enum class EducationLessonAction : int {
222 Start = 0,
223 Continue = 1,
224 Restart = 2,
225 Host = 3,
226 Join = 4,
227 Finish = 5,
228 };
229
230 enum class ElementConstructorUseType : int {
231 Created = 0,
232 Entered = 1,
233 };
234
235 enum class ExploitType : int {
236 DropItem = 0,
237 ExcessiveChatMessageLength = 1,
238 SoundPacket = 2,
239 };
240
241 enum class ExportOutcome : int {
242 Failed = 0,
243 Success = 1,
244 };
245
246 enum class ExportStage : int {
247 Initiated = 0,
248 Completed = 1,
249 };
250
251 enum class FileTransmissionDirection : int {
252 Download = 0,
253 Upload = 1,
254 };
255
256 enum class FileTransmissionState : int {
257 Failed = 0,
258 Started = 1,
259 Completed = 2,
260 Resumed = 3,
261 Canceled = -1,
262 };
263
264 enum class FileTransmissionType : int {
265 RealmFile = 1,
266 Dlc = 2,
267 Remix3DDeprecated = 3,
268 DlcUpdateAuto = 4,
269 DlcUpdateUser = 5,
270 };
271
272 enum class IgnoredNotificationSource : int {
273 OwnRealm = 0,
274 FriendsRealm = 1,
275 Count = 2,
276 };
277
278 enum class IgnoredNotificationsType : int {
279 UnreadPost = 0,
280 RealmsInvite = 1,
281 Count = 2,
282 };
283
284 enum class LessonCompleteDialogEntryPoint : int {
285 EduPauseMenu = 0,
286 LessonCommand = 1,
287 };
288
289 enum class MarkLevelForSyncReason : int {
290 DoesntExist = 0,
291 LocalOutOfDate = 1,
292 ManifestInBadState = 2,
293 FirstSyncBlob = 3,
294 };
295
296 enum class MultiplayerSessionUpdateTrigger : int {
297 None = -1,
298 PlayerJoined = 0,
299 PlayerLeft = 1,
300 };
301
302 enum class PetDeathContext : int {
303 DiedOfOtherCause = 0,
304 PlayerMurdered = 1,
305 OwnerMurdered = 2,
306 MobMurdered = 3,
307 };
308
309 enum class ProfileError : int {
310 None = 0,
311 UserNotFound = 1,
312 NoInternet = 2,
313 NotAllowedToViewProfilesAdult = 3,
314 NotAllowedToViewProfilesChild = 4,
315 NotLoggedInWithMSA = 5,
316 LoggedInWithMSAButPlatformProfile = 6,
317 };
318
319 enum class PromotionType : int {
320 Featured = 0,
321 Default = 1,
322 None = 2,
323 };
324
325 enum class PurchaseStage : int {
326 Unknown = 0,
327 Store = 1,
328 Marketplace = 2,
329 };
330
331 enum class RealmConnectionFlow : int {
332 PlayScreen = 0,
333 SettingsScreen = 1,
334 InviteLink = 2,
335 AllowList = 3,
336 Marketplace = 4,
337 CreateScreen = 5,
338 SlotsScreen = 6,
339 ConnectToRealmLink = 7,
340 EditWorld = 8,
341 TimelineRequiredScreen = 9,
342 RealmsPurchase = 10,
343 PartyTravel = 11,
344 };
345
346 enum class RealmConnectionLambda : int {
347 CompletedCallback = 0,
348 RetryCallback = 1,
349 ProgressScreenTickCallback = 2,
350 ProgressScreenOnCancelCallback = 3,
351 GameServerConnectProgressCallback = 4,
352 };
353
354 enum class RealmConnectionResult : int {
355 Success = 0,
356 SuccessWithWarning = 1,
357 FailWithUnnassignedDevVersion = 2,
358 Fail = 3,
359 Retry = 4,
360 CancelByUser = 5,
361 InvalidCallback = 6,
362 Unknown = 7,
363 TimedOut = 8,
364 };
365
366 enum class ServerType : int {
367 Unknown = 0,
368 DedicatedServer = 1,
369 PublicServer = 2,
370 };
371
372 enum class ShareMode : int {
373 Share = 1,
374 Copy = 2,
375 };
376
377 enum class SignInAccountType : int {
378 Unknown = 0,
379 PlayFabDevice = 1,
380 XboxLive = 2,
381 Psn = 3,
382 PlayFabXboxLive = 4,
383 PlayFabPsn = 5,
384 PlayFabNsa = 6,
385 };
386
387 enum class SignInStage : int {
388 Unknown = 0,
389 Starting = 1,
390 Failed = 2,
391 Canceled = 3,
392 Succeeded = 4,
393 SucceededNewAccount = 5,
394 FailedCreate = 6,
395 };
396
397 enum class StructureBlockActionType : int {
398 Unknown = -1,
399 Save = 0,
400 Load = 1,
401 Export = 2,
402 Export3D = 3,
403 LeaveScreen = 4,
404 Import = 5,
405 };
406
407 enum class SuspendTriggersDisconnect : int {
408 Yes = 0,
409 No = 1,
410 };
411
412 enum class WorldClassroomCustomization : int {
413 ResourceUri = 0,
414 };
415
416 struct CommandParseTableEntry {
417 public:
418 // member variables
419 // NOLINTBEGIN
422 // NOLINTEND
423
424 public:
425 // prevent constructor by default
426 CommandParseTableEntry& operator=(CommandParseTableEntry const&);
427 CommandParseTableEntry(CommandParseTableEntry const&);
428 CommandParseTableEntry();
429 };
430
431 using CommandParseTableDetails = ::std::vector<::IMinecraftEventing::CommandParseTableEntry>;
432
433 using EventAndManagerWriter = ::brstd::function_ref<
436
437 using EventWriter = ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)>;
438
439 using OptionsObserver = ::std::function<void(bool)>;
440
441 using RegisterOptionsObserver = ::brstd::function_ref<
442 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>) const,
443 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>)>;
444
445 using SignInErrorDetails = ::std::vector<::std::pair<::std::string, ::std::string>>;
446
447 using TestBuildIdType = char const*;
448
449public:
450 // virtual functions
451 // NOLINTBEGIN
452 virtual ~IMinecraftEventing() /*override*/;
453
454 virtual void init(::Bedrock::NonOwnerPointer<::AppPlatform> const& appPlatform) = 0;
455
456 virtual void initDeviceAndSessionIds() = 0;
457
458 virtual void initEditorEventListener() = 0;
459
460 virtual void shutdown() = 0;
461
462 virtual ::std::string const& getPlayerSessionId() = 0;
463
464 virtual ::std::chrono::steady_clock::time_point getWorldSessionIdGenerationTimestamp() const = 0;
465
466 virtual bool getShouldHaveAchievementsEnabled() = 0;
467
468 virtual void setShouldHaveAchievementsEnabled(bool value) = 0;
469
470 virtual bool getAchievementsAlwaysEnabled() = 0;
471
472 virtual uint getPrimaryLocalUserId() const = 0;
473
474 virtual void forceSendEvents() = 0;
475
476 virtual ::Social::Events::EventManager& getEventManager() const = 0;
477
478 virtual void updatePrimaryLocalUserId(uint const& userId) = 0;
479
480 virtual ::std::string getUserUID(::Social::IdentityType type, ::std::string const& primaryId) const = 0;
481
482 virtual void registerSecondaryUserCommonProperties(uint const& userId, ::std::string const& uid) const = 0;
483
484 virtual void unregisterSecondaryUserCommonProperties(uint const& userId) const = 0;
485
486 virtual void updateIsLegacyPlayer(bool isLegacyPlayer) const = 0;
487
488 virtual void updateIsTrial(bool isTrial) const = 0;
489
490 virtual void updateEditionType() const = 0;
491
492 virtual void updateClientId() const = 0;
493
494 virtual void registerOptionsObserver(
495 ::brstd::function_ref<
496 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>) const,
497 ::Bedrock::PubSub::Subscription(::std::function<void(bool)>)> registerObserver
498 ) = 0;
499
500 virtual void addListener(::std::unique_ptr<::Social::Events::IEventListener> listener) = 0;
501
502 virtual void clearListeners() = 0;
503
504 virtual ::Json::Value propertiesAsJsonValue() const = 0;
505
506 virtual void fireEvent(
507 ::std::string const& eventName,
508 ::std::vector<::Social::Events::Property> const& properties,
509 ::std::vector<::Social::Events::Measurement> const& measurements,
510 bool shouldAggregate
511 ) = 0;
512
513 virtual void fireEventBlockTypeRegistryChecksumMismatch(
514 ::std::string const& reason,
515 uint64 const& serverBlockChecksum,
516 uint64 const& clientBlockChecksum,
517 ::std::string const& serverVersion
518 ) = 0;
519
520 virtual void fireEventOnSuccessfulClientLogin(::Level const* level) = 0;
521
522 virtual void fireEventStartClient(::std::string const& ipAddress, bool isTextToSpeechEnabled) = 0;
523
524 virtual void fireEventStartWorld(
525 ::NetworkType networkType,
526 ::std::string const& ipAddress,
527 ::Social::MultiplayerServiceIdentifier const friendWorldType
528 ) = 0;
529
530 virtual void fireEventPlayerJoinWorld(
531 uint const& userId,
532 ::SubClientId const subId,
533 bool isJoiningLocalServer,
534 ::std::optional<bool> isUsingTURN,
535 ::IConnectionEventing::PlayerJoinWorldAttemptState const JoinState,
536 int attemptId,
537 ::Connection::DisconnectFailReason failReason,
538 ::Json::Value const& failDebugInfo,
539 ::TransportLayer transportLayer,
540 ::NetworkType networkTypeOverride,
541 ::Social::MultiplayerState multiplayerState,
542 bool isConnectedToApplicationLayer,
543 bool isFilteringProfanity,
544 ::Social::MultiplayerServiceIdentifier multiplayerServiceIdentifier,
545 ::std::string const& titleMessage,
546 ::std::string const& errorMessage,
547 ::std::string const& codeword,
548 ::std::string const& partyId,
549 bool isPartyLeader,
550 bool isPartyDestination,
551 bool isServerTransfer,
552 bool isReconnect,
553 ::Social::GameConnectionInfo const& connectionInfo
554 ) = 0;
555
556 virtual void fireEventClientLastPackets(
557 uint const& userId,
558 ::SubClientId const subId,
559 int correlationId,
560 ::Json::Value const& lastSentPackets,
561 ::Json::Value const& lastReceivedPackets
562 ) = 0;
563
564 virtual void fireEventSignalServiceConnect(
565 ::SignalServiceConnectStage stage,
566 bool bIsSigningInAsHost,
567 ::Json::Value const& stageProperties,
568 ::std::string const& signinId,
569 ::std::string const& correlationId,
570 bool isJsonRpc
571 ) = 0;
572
573 virtual void fireEventSignalMessagePerformance(
574 ::std::string const& signinId,
575 ::MessagePerformance const& messagePerformanceEvent,
576 bool isJsonRpc
577 ) = 0;
578
579 virtual void fireEventOnClientDisconnect(
580 ::SubClientId subId,
581 bool isNetworked,
582 ::Connection::DisconnectFailReason reason,
583 ::std::string const& titleMessage,
584 ::std::string const& errorMessage,
585 ::std::string const& codeword
586 ) = 0;
587
588 virtual void fireEventOnServerDisconnect(
589 ::Connection::DisconnectFailReason reason,
590 ::std::string const& disconnectedClientId,
591 ::SubClientId subId,
592 ::std::string const& reasonContext,
593 uint64 clientCount,
594 ::std::string const& firstTimeStamp
595 ) = 0;
596
597 virtual void fireEventOnServerAsyncJoinTaskVerdict(
598 ::nonstd::expected<::AsyncJoinAllow, ::AsyncJoinDeny> const& joinVerdict,
599 ::SubClientId const subId,
600 uint verdictQueueLength
601 ) = 0;
602
603 virtual void fireEventHttpClientError(::std::string const& error) = 0;
604
605 virtual void
606 fireGlobalResourcePackCrashRecovery(::PackInstance& packInstance, ::mce::UUID recoveryID, int order) = 0;
607
608 virtual void fireServerConnectionEvent(
609 ::IConnectionEventing::ServerConnectionOutcome outcome,
610 uint pingLatency,
611 double timeElapsed,
612 ::std::string const& creatorName,
613 ::std::string const& worldId
614 ) = 0;
615
616 virtual void fireServerConnectionAttemptEvent(
617 ::std::string const& creatorName,
618 bool isTransfer,
619 ::std::string const& serverAddress
620 ) = 0;
621
622 virtual void fireTextToSpeechToggled(bool uiTTS, bool chatTTS) = 0;
623
624 virtual void fireEventAppInitFileOpenStats(
625 ::Core::Profile::FileCounters const& openForRead,
626 ::Core::Profile::FileCounters const& openForWrite
627 ) = 0;
628
629 virtual void fireEventStartupPerformance(
630 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
631 ) = 0;
632
633 virtual void fireEventOnAppStart(
634 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
635 ) = 0;
636
637 virtual void fireEventOnAppSuspend(
638 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
639 ::IMinecraftEventing::SuspendTriggersDisconnect triggersDisconnect,
640 bool reconnectOnResumeEnabled,
641 bool forceDisableEvents
642 ) = 0;
643
644 virtual void fireEventOnAppResume(
645 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
646 ::std::optional<int64> sessionAuthValidUntil
647 ) = 0;
648
649 virtual void fireEventOnDeviceLost(
650 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
651 ) = 0;
652
653 virtual void fireEventHardwareInfo() = 0;
654
655 virtual void fireEventDeviceLost() = 0;
656
657 virtual void fireEventRenderingSizeChanged() = 0;
658
659 virtual void fireEventDiskStatus(::DiskStatus status, ::Core::LevelStorageState errorCode, uint64 freeSpace) = 0;
660
661 virtual void fireEventStorageAreaFull(
662 ::std::string const& areaPath,
663 ::std::vector<::Bedrock::DirectoryEntry> const& diskSizeData
664 ) = 0;
665
666 virtual void fireEventOptionsUpdated(
667 bool onStartup,
668 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
669 ) = 0;
670
671 virtual void fireEventChatSettingsUpdated(
672 ::Player const* player,
673 ::std::vector<::Social::Events::Property> const& properties
674 ) const = 0;
675
676 virtual void fireEventPerformanceMetrics(
677 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
678 ::ProfilerLiteTelemetry const& profileTelemetry,
679 bool IsEcoFrameThrottled,
680 int fpsThrottle
681 ) = 0;
682
683 virtual void fireEventPerformanceContext(
684 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
685 ::PerfContextTrackerReport const& perfContextReport,
686 bool IsEcoFrameThrottled,
687 int fpsThrottle
688 ) = 0;
689
690 virtual void fireEventDevSlashCommandExecuted(::std::string const& commandName, ::std::string const& command) = 0;
691
692 virtual void fireCommandParseTableTelemetry(
693 bool const isServer,
694 ::std::vector<::IMinecraftEventing::CommandParseTableEntry> const& parseTableDetails
695 ) const = 0;
696
697 virtual void fireEventPlayerTravelled(::Player* player, float metersTravelledSinceLastEvent, int newBiome) = 0;
698
699 virtual void fireEventVideoPlayed(::std::string const& productId, ::std::string const& videoUrl) = 0;
700
701 virtual void fireEventRespondedToAcceptContent(
702 ::PacksInfoData const& data,
703 bool accepted,
704 bool downloadOptionalResourcePacks
705 ) = 0;
706
707 virtual void fireEventWorldLoadTimes(
708 ::std::string const& calledFromScreen,
709 ::std::vector<::std::pair<::std::string, float>> const progressHandlerLoadTimes
710 ) = 0;
711
712 virtual void fireCDNDownloadEvent(
713 ::std::string const& packId,
714 ::std::string const& versionNumber,
715 ::std::string const& hostUrl,
716 ::IMinecraftEventing::CDNDownloadResult const& downloadResult,
717 ::IMinecraftEventing::CDNDownloadEventOrigin const& origin,
718 float const& elapsedTime
719 ) = 0;
720
721 virtual void fireEventSignInToIdentity(
722 ::IMinecraftEventing::SignInAccountType accountType,
723 ::Social::IdentitySignInTrigger trigger,
724 ::std::string const& signInSource,
725 bool signInUIShown,
726 ::IMinecraftEventing::SignInStage stage,
727 ::Social::SignInResult result,
728 int retryCount,
729 ::Social::PlayerIDs ids,
730 ::std::string const& errorCode
731 ) = 0;
732
733 virtual void fireEventSignOutOfIdentity(
734 ::IMinecraftEventing::SignInAccountType accountType,
735 ::Social::IdentitySignInTrigger trigger,
736 ::std::string const& accountId,
737 ::std::string const& errorCode
738 ) = 0;
739
740 virtual void fireEventAppPaused() = 0;
741
742 virtual void fireEventAppUnpaused() = 0;
743
744 virtual void fireEventAppSurfaceCreated() = 0;
745
746 virtual void fireEventAppSurfaceDestroyed() = 0;
747
748 virtual void fireEventSplitScreenUpdated(::SplitScreenUpdatedEventData const& data) = 0;
749
750 virtual void fireEventPopupClosed(::std::string const& popupName) const = 0;
751
752 virtual void fireEventWorldImported(int64 worldSeed, uint64 worldSize) = 0;
753
754 virtual void fireEventWorldImportedResult(::FileArchiverOutcome importResult) = 0;
755
756 virtual void fireCurrentInputUpdated(uint userId, ::InputMode inputMode) = 0;
757
758 virtual void fireEventTreatmentPackApplied(::PackManifest const& manifest) = 0;
759
760 virtual void fireEventPackPlayed(::PackInstance const& packInstance, uint priority) = 0;
761
762 virtual void fireEventTreatmentPackDownloadFailed(
763 ::std::string productId,
764 ::std::string packId,
765 ::std::string versionNumber,
766 ::std::string requiredTreatmentTag
767 ) = 0;
768
769 virtual void fireEventTreatmentPackDownloaded(
770 ::std::string productId,
771 ::std::string packId,
772 ::std::string versionNumber,
773 ::std::string requiredTreatmentTag
774 ) = 0;
775
776 virtual void fireEventTreatmentPackRemoved(::std::string packId) = 0;
777
778 virtual void
779 fireEventContentLogsInWorldSession(::std::string const& logArea, uint errorCount, uint warningCount) = 0;
780
781 virtual void fireEventEntitlementCacheLoadTimeout() = 0;
782
783 virtual void fireRealmConnectionEventStart(::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow) = 0;
784
785 virtual void fireRealmConnectionEventGenericLambdaCalled(
786 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
787 ::IMinecraftEventing::RealmConnectionLambda realmConnectionLambda,
788 ::IMinecraftEventing::RealmConnectionResult realmConnectionResult
789 ) = 0;
790
791 virtual void fireEventCompoundCreatorCreated(int compoundId, int count) = 0;
792
793 virtual void fireEventElementConstructorUsed(
794 int atomicNumber,
795 int count,
796 ::IMinecraftEventing::ElementConstructorUseType useType
797 ) = 0;
798
799 virtual void fireEventEntitySpawned(::Player* player, int mobType, uint spawnMethod) = 0;
800
801 virtual void fireEventReducerBlockEntered(::ItemDescriptor const& item) = 0;
802
803 virtual void fireEventRespawn(::Player& player, int dimID) = 0;
804
805 virtual void fireEventServerRespawnSearchTime(::Player& player, ::PlayerRespawnTelemetryData const& data) = 0;
806
807 virtual void firePackSettingsEvent(
808 ::PackSettings const& packSettings,
809 ::PackManifest const& manifest,
810 ::std::string serializedPackSettings
811 ) = 0;
812
813 virtual void removeTestBuildIdTag() = 0;
814
815 virtual void removeTestTelemetryTag() = 0;
816
817 virtual void setTestBuildIdTag(char const* id) = 0;
818
819 virtual void setTestTelemetryTag(char const* name) = 0;
820
821 virtual void stopDebugEventLoggingForAllListeners() = 0;
822
823 virtual void tick() = 0;
824
825 virtual void fireEventMultiplayerClientConnectionStateChanged(
826 ::std::string const& connectionType,
827 uint fromState,
828 uint toState,
829 uint port,
830 ::std::string const& status
831 ) = 0;
832
833 virtual void fireEventPacketViolationDetected(
834 uint64 readResult,
835 ::std::string readResultContext,
836 ::PacketViolationResponse violationResponse,
837 ::MinecraftPacketIds violatingPacketId,
838 ::NetworkIdentifier const& netId,
839 uint numViolations,
840 ::SubClientId clientSubId,
841 ::SubClientId senderSubId,
842 uint packetStreamLength
843 ) = 0;
844
845 virtual void fireEventServerReceivedValidPacket(
846 ::NetworkIdentifier const& netId,
847 ::MinecraftPacketIds packetId,
848 ::SubClientId clientSubId
849 ) = 0;
850
851 virtual void fireEventClientSentOrReceivedPacket(
852 ::NetworkIdentifier const& netId,
853 ::MinecraftPacketIds packetId,
854 ::SubClientId clientSubId,
855 ::std::string correlationId,
856 bool isOutgoing
857 ) = 0;
858
859 virtual void fireEventJoinCanceled(::LoadingState currentState) = 0;
860
861 virtual void fireIgnoredNotificationsEvent(
862 ::IMinecraftEventing::IgnoredNotificationsType notificationType,
863 int notificationCount,
864 ::std::set<::IMinecraftEventing::IgnoredNotificationSource> notificationSources
865 ) = 0;
866
867 virtual void fireClubsEngagementEvent(
868 ::IMinecraftEventing::ClubsEngagementAction action,
869 ::IMinecraftEventing::ClubsEngagementTargetType engagementTargetType,
870 char const* target,
871 int64 const realmId,
872 ::std::string const& clubId
873 ) = 0;
874
875 virtual void fireClubsOpenFeedScreenEvent(
876 ::IMinecraftEventing::ClubsFeedScreenSource const source,
877 int64 const realmId,
878 ::std::string const& clubId,
879 int unreadPosts
880 ) = 0;
881
882 virtual void
883 fireEventEntitlementListInfo(::std::vector<::ContentIdentity>& entitlementContentIds, bool isLegacyList) = 0;
884
885 virtual void fireEventStorage(int state, ::std::string const& extra) = 0;
886
887 virtual void fireEventDlcStorageFull(
888 ::std::string const& productId,
889 uint64 dlcSize,
890 uint64 onDiskScratchSpace,
891 uint64 scratchSpace,
892 uint64 premiumSpace
893 ) = 0;
894
895 virtual void
896 fireEventPlatformStorePurchaseFailure(::std::string const& productId, ::std::string const& errorMessage) = 0;
897
898 virtual void fireEventPurchaseFailureDetails(
899 int httpCode,
900 ::std::string const& errorMessage,
901 ::std::string const& productId,
902 ::std::string const& transactionId
903 ) = 0;
904
905 virtual void fireEventTreatmentsCleared() = 0;
906
907 virtual void
908 fireEventTreatmentsSet(::std::vector<::std::string> const& treatments, ::std::string const& treatmentContext) = 0;
909
910 virtual void fireEventProgressionsSet(::std::vector<::std::string> const& progressions) = 0;
911
912 virtual void fireEventPackImportTimeout(::std::string const& productId) = 0;
913
914 virtual void
915 fireEventFatalClientPackError(::FatalClientPackErrorType errorType, ::gsl::span<::std::string const> packIds) = 0;
916
917 virtual void fireEventStoreErrorPage(
918 ::std::string const& errorCode,
919 ::std::string const& pageId,
920 ::std::string const& discoveryServiceTitleId,
921 ::std::string const& playFabTitleId
922 ) = 0;
923
924 virtual void setServerIdsforClient(
925 ::std::string const& multiplayerCorrelationId,
926 ::std::string const& serverVersion,
927 ::Social::Events::ServerTelemetryData const& serverTelemetryData
928 ) = 0;
929
930 virtual void setConnectionGUID(::std::string const& connectionGUID) = 0;
931
932 virtual void removeConnectionGUID() = 0;
933
934 virtual void fireEventSearchCatalogRequest(
935 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
936 ) = 0;
937
938 virtual void fireEventStoreLocalizationBinaryFetchResponse(int const status, uint const currentFetchAttempt) = 0;
939
940 virtual void fireEventStoreSessionResponse(
941 ::std::string const& responseType,
942 int const status,
943 int const retryCount,
944 bool const asyncServicesManager
945 ) = 0;
946
947 virtual void fireEventStoreDiscoveryRequestResponse(
948 int const status,
949 int const retryAttempt,
950 bool const asyncServicesManager
951 ) = 0;
952
953 virtual void fireEventStoreInventoryRefreshRequestResponse(
954 int const status,
955 int const retryAttempt,
956 bool const asyncServicesManager
957 ) = 0;
958
959 virtual void fireEventInventoryVersionRefreshRequestResponse(
960 int const status,
961 int const retryAttempt,
962 bool const asyncServicesManager
963 ) = 0;
964
965 virtual void fireEventServerDrivenLayoutPageLoaded(
966 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
967 ::std::string pageID,
968 int requestSize,
969 int responseSize,
970 int rowCount,
971 int itemCount,
972 int imageCount
973 ) = 0;
974
975 virtual void fireEventServerDrivenLayoutImagesLoaded(
976 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
977 ::std::string pageID,
978 ::ImageTelemetryInfo const& imageTelemetryInfo
979 ) = 0;
980
981 virtual void fireEventLockedItemGiven() = 0;
982
983 virtual void fireEventPlayerBounced(::Player* player, ::Block const& block, int bounceHeight) = 0;
984
985 virtual void fireEventSetValidForAchievements(::Player* player, bool currentlyValidForAchievements) = 0;
986
987 virtual void fireEventAchievementReceived(
988 ::std::string const& title,
989 ::std::string const& description,
990 ::std::string const& achievementId
991 ) = 0;
992
993 virtual void updatePlayerUndergroundStatus(::Player* player, bool isUnderground);
994
995 virtual void fireEventPlayerAttemptingExploit(::Player* player, ::IMinecraftEventing::ExploitType exploitType) = 0;
996
997 virtual void fireEventWorldLoaded(
998 ::Player* player,
999 ::brstd::function_ref<
1000 void(::Social::Events::EventManager&, ::Social::Events::Event&) const,
1001 void(::Social::Events::EventManager&, ::Social::Events::Event&)> writer
1002 ) = 0;
1003
1004 virtual void fireEventMarkLevelForSync(
1005 ::std::string const& levelId,
1006 int64 local,
1007 int64 remote,
1008 ::IMinecraftEventing::MarkLevelForSyncReason reason
1009 ) = 0;
1010
1011 virtual void fireMinecraftVersionLaunched(bool launchedLegacy) = 0;
1012
1013 virtual void fireMinecraftVersionInviteAccepted(bool launchedLegacy, uint64 inviteGameOwner) = 0;
1014
1015 virtual void fireInviteStatusReceived(::std::string id) = 0;
1016
1017 virtual void fireInviteStatusSentImpl(uint userId, ::std::vector<::std::string> invitationIds) = 0;
1018
1019 virtual void fireDayOneExperienceStateChanged(
1020 ::IMinecraftEventing::DayOneExperienceState newState,
1021 ::std::optional<uint> importedWorldIndex,
1022 ::std::optional<uint64> importedWorldTimestamp
1023 ) = 0;
1024
1025 virtual void fireContentDecryptionFailure(
1026 ::std::string const& failedContentIds,
1027 ::std::string const& contentKey,
1028 ::std::string const& failurePoint
1029 ) = 0;
1030
1031 virtual void fireWorldConversionAttemptEvent(
1032 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1033 ) = 0;
1034
1035 virtual void fireWorldConversionInitiatedEvent(::std::string const& converterVersion) = 0;
1036
1037 virtual void fireWorldUpgradedToCnCPart2(
1038 bool willUpgrade,
1039 ::std::string const& baseGameVersion,
1040 ::Experiments const& experiments,
1041 ::std::string const& lastOpenedVersion,
1042 ::LevelSeed64 worldSeed,
1043 float worldSizeMB
1044 ) = 0;
1045
1046 virtual void fireEventAssertFailed(::std::string const& assertBucket, ::std::string const& message) = 0;
1047
1048 virtual void fireEventCrashSystemFailedToInit() = 0;
1049
1050 virtual void fireChatUsedEvent(uint chatLength, bool isSlashCommand) = 0;
1051
1052 virtual void fireEventJoinByCode(::std::string const&) = 0;
1053
1054 virtual void fireEventBlockPlacedByCommand(::Block const& placedBlock, int numberOfBlocksPlaced) = 0;
1055
1056 virtual void fireEventServerPlayerJoinedGame(
1057 ::NetworkIdentifier const& id,
1058 ::SubClientId subId,
1059 ::std::string const& firstConnectionTime
1060 ) = 0;
1061
1062 virtual void fireEventScriptPluginDiscovery(::ScriptPluginResult const& pluginResult, bool client) = 0;
1063
1064 virtual void fireEventScriptPluginRun(
1065 ::ScriptPluginResult const& pluginResult,
1066 ::std::chrono::microseconds runDuration,
1067 bool client
1068 ) = 0;
1069
1070 virtual void fireEventScriptDebuggerListen(bool client, bool autoAttach) = 0;
1071
1072 virtual void fireEventScriptDebuggerConnect(bool client, bool autoAttach, int retries) = 0;
1073
1074 virtual void fireEditorEventToolActivated(::std::string const& toolName) = 0;
1075
1076 virtual void fireEditorUndo(::std::string const& transactionName) = 0;
1077
1078 virtual void fireEditorRedo(::std::string const& transactionName) = 0;
1079
1080 virtual void fireEditorScriptAction(
1081 ::std::string const& scriptSource,
1082 ::std::string const& actionName,
1083 ::std::string const& actionMetadata
1084 ) = 0;
1085
1086 virtual void fireEditorTutorialEvent(
1087 ::std::string_view type,
1088 ::std::optional<::std::string> const& state,
1089 ::std::string const& currentStage,
1090 ::std::optional<::std::string> const& previousStage
1091 ) = 0;
1092
1093 virtual void fireEventWorldLoadedClassroomCustomization(
1094 ::IMinecraftEventing::WorldClassroomCustomization customization,
1095 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
1096 ) = 0;
1097
1098 virtual void fireClassroomSettingUpdated(::ClassroomSetting classroomSetting, ::SettingsScreenMode settingMode) = 0;
1099
1100 virtual void fireEventNpcPropertiesUpdated(::Actor& npcOwner, bool isEditorWorldbuilder) = 0;
1101
1102 virtual void fireEventBoardTextUpdated(::ChalkboardBlockActor& board) = 0;
1103
1104 virtual void fireEventCameraUsed(bool isSelfie) = 0;
1105
1106 virtual void fireEventPortfolioExported(int imageCount, int captionedCount) = 0;
1107
1108 virtual void fireQuickPlayEvent() = 0;
1109
1110 virtual void firePermissionsSetEvent(
1111 ::PlayerPermissionLevel const prevPlayerPermissionLevel,
1112 ::CommandPermissionLevel const prevCommandPermissionLevel,
1113 ::PlayerPermissionLevel const playerPermissionLevel,
1114 ::CommandPermissionLevel const commandPermissionLevel
1115 ) = 0;
1116
1117 virtual void fireExternalUriLaunched(::std::string const& uri) const = 0;
1118
1119 virtual void fireUserGeneratedUriLaunched(::UserGeneratedUriSource source) const = 0;
1120
1121 virtual void fireUserGeneratedUriLaunchFailed(
1122 ::UserGeneratedUriSource source,
1123 ::Util::ResourceUri::ValidationStatus reasonCode,
1124 ::std::string const& additionalData
1125 ) const = 0;
1126
1127 virtual void fireEventEmptyLibraryCategoryError(::std::string const& categoryTitle) const = 0;
1128
1129 virtual void
1130 fireCodeBuilderCachePerformance(::std::string const& stage, ::std::chrono::milliseconds elapsedTimeMS) const = 0;
1131
1132 virtual void fireCodeBuilderLoadPerformance(
1133 ::std::string const& stage,
1134 uint64 tutorialSize,
1135 uint64 downloadSize,
1136 ::std::chrono::milliseconds elapsedTimeMS
1137 ) const = 0;
1138
1139 virtual void
1140 fireCodeBuilderRunPerformance(::std::string const& stage, ::std::chrono::milliseconds elapsedTimeMS) const = 0;
1141
1142 virtual void fireLibraryButtonPressed(
1143 ::std::string const& productId,
1144 ::std::string const& worldName,
1145 ::std::string const& buttonAction
1146 ) = 0;
1147
1148 virtual void fireCourseButtonPressed(::std::string const& courseTitle, ::std::string const& courseId) = 0;
1149
1150 virtual void fireLessonActionTaken(
1151 ::std::string const& lessonTitle,
1152 ::std::string const& lessonId,
1153 ::std::string const& courseId,
1154 ::IMinecraftEventing::EducationLessonAction buttonAction,
1155 int score
1156 ) = 0;
1157
1158 virtual void fireLessonProgressEvent(
1159 ::std::string const& lessonTitle,
1160 ::std::string const& lessonId,
1161 ::std::string const& courseId,
1162 ::std::string const& activityId,
1163 ::std::string const& action,
1164 ::std::string const& educationCreatorID,
1165 ::std::string const& educationCreatorWorldID,
1166 int score
1167 ) = 0;
1168
1169 virtual void fireShareButtonPressed(
1170 ::std::string const& location,
1171 ::EduShareUriType shareType,
1172 ::EduShareMethodType methodType,
1173 bool includesResource
1174 ) = 0;
1175
1176 virtual void
1177 fireLessonCompleteDialogOpened(::IMinecraftEventing::LessonCompleteDialogEntryPoint const entryPoint) const = 0;
1178
1179 virtual void fireInAppCodeBuilderActivated(
1180 ::OpenCodeMethod method,
1181 ::std::string const& ideName,
1182 ::std::string const& educationCreatorID,
1183 ::std::string const& educationCreatorWorldID
1184 ) const = 0;
1185
1186 virtual void fireInAppCodeBuilderDismissed(::std::string const& ideName) const = 0;
1187
1188 virtual void fireCodeCommandButtonPressed() = 0;
1189
1190 virtual void fireIDESelected(::std::string const& name) const = 0;
1191
1192 virtual void fireEventEduResources() const = 0;
1193
1194 virtual void fireEventEduiOSPurchaseTransaction(::TransactionStatus const& status) const = 0;
1195
1196 virtual void fireEventCodeBuilderClosed() const = 0;
1197
1198 virtual void fireEventCodeBuilderLog(
1199 ::Webview::TelemetryCommonProperties const& properties,
1200 ::std::string const& message,
1201 ::std::string& level
1202 ) const = 0;
1203
1204 virtual void fireEventCodeBuilderScoreChanged(::std::string const& objective, int const score) const = 0;
1205
1206 virtual void fireEventCodeBuilderRuntimeAction(::std::string const& action) const = 0;
1207
1208 virtual void fireEventEduServiceStatus(
1209 ::std::string const& serviceName,
1210 ::std::string const& requestName,
1211 int durationMS,
1212 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
1213 ) const = 0;
1214
1215 virtual void
1216 fireEventWebviewDownload(::std::string const& downloadState, ::WebviewDownloadInfo const& downloadInfo) const = 0;
1217
1218 virtual void fireEduServiceRequestFailed(
1219 ::std::string const& serviceName,
1220 ::std::string const& requestName,
1221 ::std::string const& error,
1222 ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> details
1223 ) const = 0;
1224
1225 virtual void fireEventButtonPressed(
1226 ::std::string const& buttonName,
1227 ::std::unordered_map<::std::string, ::std::string> const& details
1228 ) const = 0;
1229
1230 virtual void fireEventModalShown(
1231 ::std::string const& modalName,
1232 ::std::unordered_map<::std::string, ::std::string> const& details
1233 ) const = 0;
1234
1235 virtual void fireEventOptionsChanged(
1236 ::std::string const& optionGroup,
1237 ::std::unordered_map<::std::string, int> const& events
1238 ) const = 0;
1239
1240 virtual void fireEventOptionsChangedAlt(
1241 ::std::string const& optionGroup,
1242 ::std::unordered_map<::std::string, ::Social::Events::OptionChange> const& changes
1243 ) const = 0;
1244
1245 virtual void fireEventTagButtonPressed(::std::string const& tag, bool showMore) const = 0;
1246
1247 virtual void fireEventLevelDataOverride(::std::string_view valueName) const = 0;
1248
1249 virtual void fireEventEduContentVerificationFailed() const = 0;
1250
1251 virtual void fireEventLibrarySearch(
1252 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1253 ) const = 0;
1254
1255 virtual void fireEventLibrarySearchItemSelected(
1256 int const sessionId,
1257 int const correlationId,
1258 ::std::string const& productId,
1259 int const row,
1260 int const column
1261 ) const = 0;
1262
1263 virtual void
1264 fireEventControlTipsPanelUpdated(::EduControlPanelUpdateType updateType, double elapsedTimeSec) const = 0;
1265
1266 virtual void fireEventWorldExported(int64 worldSeed, uint64 worldSize) = 0;
1267
1268 virtual void
1269 fireEventControlRemappedByPlayer(::std::string const& actionName, ::RawInputType inputType, int keyCode) const = 0;
1270
1271 virtual void fireEventDifficultySet(
1272 ::SharedTypes::Legacy::Difficulty oldDifficulty,
1273 ::SharedTypes::Legacy::Difficulty newDifficulty
1274 ) = 0;
1275
1276 virtual void fireEventGameRulesUpdated(bool oldValue, bool newValue, ::std::string const& gameRuleName) = 0;
1277
1278 virtual void fireEventGameRulesUpdated(int oldValue, int newValue, ::std::string const& gameRuleName) = 0;
1279
1280 virtual void fireEventGameRulesUpdated(float oldValue, float newValue, ::std::string const& gameRuleName) = 0;
1281
1282 virtual void fireEventDefaultGameTypeChanged(::GameType oldGameType, ::GameType newGameType) = 0;
1283
1284 virtual void fireEventNewContentCheckCompleted(::std::string const& newContentPrefix, bool hasNewStoreContent) = 0;
1285
1286 virtual void fireEventEncyclopediaTopicChanged(::std::string const& topicName, ::InputMode inputMode) = 0;
1287
1288 virtual void fireEventHowToPlayTopicChanged(::std::string const& topicName, ::InputMode inputMode) = 0;
1289
1290 virtual void fireEventAndroidHelpRequest() = 0;
1291
1292 virtual void
1293 fireEventWorldFilesListed(uint64 numLevels, uint64 totalSizeMB, uint64 largestLevelMB, uint64 smallestLevelMB) = 0;
1294
1295 virtual void fireEventLabTableCreated(int reactionId, int productId, int productAux) = 0;
1296
1297 virtual void fireEventPlayerMessageSay(::std::string const& fromName, ::std::string const& message) = 0;
1298
1299 virtual void fireEventPlayerMessageTell(
1300 ::std::string const& fromName,
1301 ::std::string const& toName,
1302 ::std::string const& message
1303 ) = 0;
1304
1305 virtual void fireEventPlayerMessageChat(::std::string const& fromName, ::std::string const& message) = 0;
1306
1307 virtual void fireEventPlayerMessageMe(::std::string const& fromName, ::std::string const& message) = 0;
1308
1309 virtual void fireEventPlayerMessageTitle(
1310 ::std::string const& fromName,
1311 ::std::string const& toName,
1312 ::std::string const& message
1313 ) = 0;
1314
1315 virtual void fireEventPlayerDamaged(::Player* player, ::SharedTypes::Legacy::ActorDamageCause damageCause) = 0;
1316
1317 virtual void fireEventPlayerKicked(::std::string const& sessionType, ::std::string const& kickedPlayer) = 0;
1318
1319 virtual void fireEventPlayerBanned(::std::string const& bannedPlayer) = 0;
1320
1321 virtual void fireEventRealmShared(
1322 ::std::string const& url,
1323 ::IMinecraftEventing::ShareMode const& mode,
1324 int64 const& worldId
1325 ) = 0;
1326
1327 virtual void fireEventRealmMemberlistCleared(int64 const& worldId, int const& numberOfUsersRemoved) = 0;
1328
1329 virtual void fireEventRealmUrlGenerated(::std::string const& url, int64 const& worldId) = 0;
1330
1331 virtual void fireEventStructureExport(
1332 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
1333 ::IMinecraftEventing::ExportOutcome outcome,
1334 ::IMinecraftEventing::ExportStage stage
1335 ) const = 0;
1336
1337 virtual void fireEventContentShared(
1338 ::std::string const& productId,
1339 ::std::string const& url,
1340 ::IMinecraftEventing::ShareMode const& mode
1341 ) = 0;
1342
1343 virtual void fireEventStorageReport(::std::string const& report) = 0;
1344
1345 virtual void fireEventStackLoaded(::StackStats const& stats) = 0;
1346
1347 virtual void fireEventUnknownBlockReceived(::NewBlockID const& blockId, ushort data) = 0;
1348
1349 virtual void fireEventSignInEdu(
1350 ::std::string const& mutsUserId,
1351 ::edu::Role role,
1352 ::Identity::EduSignInStage stage,
1353 ::std::string const& tenantType,
1354 ::std::string const& error,
1355 ::std::vector<::std::pair<::std::string, ::std::string>> const& details
1356 ) = 0;
1357
1358 virtual void fireEventSignOutEdu(
1359 ::std::string const& mutsUserId,
1360 ::edu::Role role,
1361 ::std::string const& tenantType,
1362 ::std::string const& action,
1363 ::std::string const& error
1364 ) = 0;
1365
1366 virtual void
1367 fireEventSwitchAccountEdu(::std::string const& mutsUserId, ::edu::Role role, ::std::string const& tenantType) = 0;
1368
1369 virtual void fireEventEduDemoConversion(::edu::Role role, ::LastClickedSource lastClickedSource) = 0;
1370
1371 virtual void fireEventPopupFiredEdu(
1372 ::std::string const& mutsUserId,
1373 ::std::string const& dialogType,
1374 ::std::string const& experienceId,
1375 ::std::string const& title,
1376 ::ActiveDirectoryAction const postAction
1377 ) = 0;
1378
1379 virtual void fireEventPlayIntegrityCheck(
1380 ::std::string const& result,
1381 ::std::string const& appRecognitionVerdict,
1382 ::std::string const& deviceIntegrity,
1383 ::std::string const& appLicensingVerdict
1384 ) = 0;
1385
1386 virtual void fireEventCloudOperationStartedEdu(
1387 ::EduCloudUtils::Operation const operation,
1388 ::EduCloud::CloudItemType const cloudItemType,
1389 ::std::string const& cloudCorrelationId,
1390 uint64 const size,
1391 ::std::optional<::std::string> const& driveItemId
1392 ) = 0;
1393
1394 virtual void fireEventCloudMyWorldsSummary(
1395 int const totalWorldsCount,
1396 int const placeholderCount,
1397 int const needsUploadCount,
1398 int const ctagMismatchCount,
1399 int const conflictCount
1400 ) = 0;
1401
1402 virtual void fireEventCloudOperationEndedEdu(
1403 ::EduCloudUtils::Operation const operation,
1404 ::EduCloud::CloudItemType const cloudItemType,
1405 ::std::string const& cloudCorrelationId,
1406 ::std::chrono::milliseconds const elapsedTime,
1407 uint const status,
1408 uint64 const size,
1409 ::std::optional<::std::string> const& driveItemId,
1410 ::std::optional<::std::string> const& errorCode,
1411 ::std::optional<::std::string> const& errorMessage,
1412 ::std::optional<::std::string> const& error
1413 ) = 0;
1414
1415 virtual void fireEventCloudConflictCheckEdu(
1416 ::std::string const& cloudCorrelationId,
1417 ::EduCloud::ConflictResolutionStatus const conflictStatus
1418 ) = 0;
1419
1420 virtual void fireEventPurchaseGameAttempt(
1421 ::std::string const& storeId,
1422 ::std::string const& activeTab,
1423 ::std::string const& productId
1424 ) = 0;
1425
1426 virtual void fireEventPurchaseGameResult(int purchaseResult) = 0;
1427
1428 virtual void fireEventTrialDeviceIdCorrelation(
1429 int64 myTime,
1430 ::std::string const& theirId,
1431 int64 theirTime,
1432 ::std::string const& theirLastSessionId
1433 ) = 0;
1434
1435 virtual void fireEventDeviceIdManagerFailOnIdentityGained() = 0;
1436
1437 virtual void fireEventPushNotificationReceived(::PushNotificationMessage const& msg) = 0;
1438
1439 virtual void fireEventPushNotificationOpened(::std::string const& threadId, ::std::string const& deepLink) = 0;
1440
1441 virtual void firePerfTestEvent(
1442 ::std::string const& testArtifact,
1443 ::std::string const& modelName,
1444 ::std::string const& renderSize,
1445 uint renderDistance,
1446 uint simDistance,
1447 ::std::string const& memorySize,
1448 ::std::vector<::std::pair<::std::string, float>> const& testArtifactData
1449 ) = 0;
1450
1451 virtual void fireEventLicenseCheck(bool isLicensed, ::ExtraLicenseData& data) = 0;
1452
1453 virtual void fireQueryOfferResult(::std::string const& storeID, int NumberOfOffers, bool QuerySucceeded) = 0;
1454
1455 virtual void fireEventQueryPurchasesResult(
1456 ::std::string const& storeID,
1457 ::std::string const& priorPurchaseIds,
1458 int NumberOfPurchases,
1459 bool QuerySucceeded
1460 ) = 0;
1461
1462 virtual void
1463 fireEventWorldGenerated(::std::string const& levelId, ::LevelSettings const& levelSettings, bool fromTemplate) = 0;
1464
1465 virtual void fireEventCopyWorldEducationEnabled() = 0;
1466
1467 virtual void fireEventBundleSubOfferClicked(
1468 int offerIndex,
1469 int bundleSubOfferCount,
1470 ::std::string const& telemetryId,
1471 ::std::string const& productId,
1472 bool isOnSale,
1473 ::std::string const& timeRemainingOnSale
1474 ) = 0;
1475
1476 virtual void fireEventStoreOfferClicked(
1477 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1478 ) = 0;
1479
1480 virtual void fireEventStoreOfferClicked(::std::string const telemetryId, ::std::string const& productId) = 0;
1481
1482 virtual void fireEventPersonaOfferClicked(
1483 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1484 ) = 0;
1485
1486 virtual void fireEventStoreSearch(
1487 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1488 ) = 0;
1489
1490 virtual void fireEventSearchItemSelected(
1491 int const correlationId,
1492 int const sessionId,
1493 ::std::string const& productId,
1494 int const row,
1495 int const column,
1496 int const currentPage,
1497 ::std::string const& searchType
1498 ) = 0;
1499
1500 virtual void fireEventUserListUpdated(
1501 ::std::string const& productId,
1502 ::std::string const& listId,
1503 ::std::string const& operation,
1504 bool success
1505 ) = 0;
1506
1507 virtual void fireEventUgcAcquisitionStateChanged(
1508 ::std::string const& ugcProductId,
1509 uint64 downloadSize,
1510 double elapsedTime,
1511 bool isUpdate,
1512 int retries,
1513 bool silent,
1514 int numContentTrackers,
1515 ::std::string const& result,
1516 ::std::string const& resultDetails,
1517 int httpStatus,
1518 int errorCode
1519 ) = 0;
1520
1521 virtual void fireEventRealmsGeneralCall(::std::string const& callName, ::Bedrock::Http::Status returnCode) = 0;
1522
1523 virtual void fireEventRealmsRealmSpecificCall(
1524 ::std::string const& callName,
1525 int64 realmId,
1526 ::Bedrock::Http::Status returnCode
1527 ) = 0;
1528
1529 virtual void fireEventRealmDownload(
1530 ::std::string const& correlationId,
1531 ::std::string const& downloadStage,
1532 int const errorCode,
1533 int const realmId,
1534 int const fileSizeKB
1535 ) = 0;
1536
1537 virtual void fireEventRealmUpload(
1538 ::std::string const& correlationId,
1539 ::std::string const& uploadStage,
1540 int const errorCode,
1541 int const realmId,
1542 int const fileSizeKB,
1543 bool const isPack
1544 ) = 0;
1545
1546 virtual void
1547 fireRealmConnectionEventRealmAPIRequest(::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow) = 0;
1548
1549 virtual void fireRealmConnectionEventRealmAPIResponse(
1550 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
1551 int responseCode
1552 ) = 0;
1553
1554 virtual ::std::string getSessionId() = 0;
1555
1556 virtual void fireEventChunkLoaded(::LevelChunk& chunk) = 0;
1557
1558 virtual void fireEventChunkUnloaded(::LevelChunk& chunk) = 0;
1559
1560 virtual void fireEventChunkChanged(::LevelChunk& chunk) = 0;
1561
1562 virtual void fireEventMultiplayerSessionUpdate(::Bedrock::NonOwnerPointer<::Level> level) = 0;
1563
1564 virtual void fireEventLevelDestruct(bool isTransfer) = 0;
1565
1566 virtual void flagEventDeepLink() = 0;
1567
1568 virtual void flagEventPlayerGameTypeDefault(bool isDefault) = 0;
1569
1570 virtual void fileEventCloudWorldPullFailed(
1571 ::std::string const& reason,
1572 ::std::string const& worldID,
1573 bool localLevelDatUsed
1574 ) = 0;
1575
1576 virtual void
1577 fireEventLevelDatLoadFailed(::std::string const& reason, ::std::string const& worldID, bool isFatal) = 0;
1578
1579 virtual void fireEventWorldCorruptionCausedWorldShutdown(
1581 ::std::string const& reason,
1582 ::std::optional<bool> isOutOfDiskSpace
1583 ) = 0;
1584
1585 virtual void fireEventClientLeftGameDueToUnrecoverableError(::std::string const& reason, bool isServer) = 0;
1586
1587 virtual void fireEventServerShutdownDueToError(::std::string const& reason) = 0;
1588
1589 virtual void fireEventServerInitializationFailed(
1590 ::std::string const& failReason,
1591 bool serverLevelExists,
1592 bool serverNetworkHandlerValid
1593 ) = 0;
1594
1595 virtual void fireEventDBStorageSizeSnapshot(
1597 ::DBStorageFolderWatcher const& folderWatcher,
1598 ::DBStorageFolderWatcherSnapshotKind kind
1599 ) = 0;
1600
1601 virtual void fireEventLevelDBPerformanceData(
1603 ::DBStoragePerformanceTelemetryData const& perfData
1604 ) = 0;
1605
1606 virtual void fireEventDBReadFail(::LevelStorageEventingContext const& context, ::std::string const& reason) = 0;
1607
1608 virtual void fireEventSidebarNavigation(
1609 uint const& userId,
1610 ::std::string const& layoutType,
1611 ::std::string const& telemetryId,
1612 int const depthLevel,
1613 bool const isSelected,
1614 bool const areChildrenVisible,
1615 bool const hasChildren
1616 ) = 0;
1617
1618 virtual void fireEventSidebarVerboseToggled(
1619 uint const& userId,
1620 ::std::string const& layoutType,
1621 ::std::string const& verboseNavigationType,
1622 bool const verboseState
1623 ) = 0;
1624
1625 virtual void fireEventPersonaUserLoadedActive(
1626 ::persona::ProfileType const personaProfile,
1627 ::std::string const& classicSkinId,
1628 bool personaUsesClassicSkin
1629 ) = 0;
1630
1631 virtual void fireEventPersonaItemPreviewed(
1632 ::persona::ProfileType const personaProfile,
1633 ::std::string const& itemOfferId,
1634 ::std::string const& productId,
1635 uint row,
1636 uint column,
1637 ::IMinecraftEventing::PromotionType promotionType,
1638 bool isOwned,
1639 ::std::string const& creatorId,
1640 ::std::string const& creatorName,
1641 double secondsToLoadContent,
1642 ::StoreEventData::StoreType storeType
1643 ) = 0;
1644
1645 virtual void fireEventPersonaAvatarUpdated(
1646 ::persona::ProfileType const personaProfile,
1647 ::std::vector<::std::string> const& newAppearancePieceIds,
1648 ::std::vector<bool> const& newPieces,
1649 ::std::vector<bool> const& tintedPieces,
1650 bool isNewPersona,
1651 bool isBeingDeleted,
1652 ::std::string const& bodySize,
1653 ::std::string const& armSize,
1654 ::std::string const& classicSkinId,
1655 bool usesClassicSkin,
1656 ::std::vector<::std::string> const& emotesPieceIds,
1657 ::std::vector<::std::string> const& emoteSlotNumbers
1658 ) = 0;
1659
1660 virtual void fireEventPersonaSkinChanged(
1661 ::persona::ProfileType const personaProfile,
1662 ::std::string const& classicSkinId,
1663 bool isClassicSkinUsed
1664 ) = 0;
1665
1666 virtual void fireEventPersonaAvatarsListed(::std::vector<::persona::ProfileType> const& profileTypesUsed) = 0;
1667
1668 virtual void
1669 fireEventPersonaEmotePlayed(::std::string const& emoteProductId, bool isEmoteEndedEarly, int emoteSlotId) = 0;
1670
1671 virtual void
1672 fireEventDefaultCastSelected(int previewIndex, ::mce::UUID appearanceId, ::std::string const& appearanceName) = 0;
1673
1674 virtual void fireEventPersonaInitalizationEvent(
1675 uint secondsToCompletion,
1676 ::std::string const& status,
1677 ::std::string const& user
1678 ) = 0;
1679
1680 virtual void fireEventPersonaGeneralError(::std::string const& personaErrorName, uint duplicateErrorsFired) = 0;
1681
1682 virtual void fireEventPersonaLoadingPieces(uint piecesLoaded, double timeToLoadInSeconds) = 0;
1683
1684 virtual void fireEventPersonaCreationFailed(
1685 ::std::string const& errorName,
1686 ::std::string const& pieceId,
1687 bool missingTop,
1688 bool missingBottom,
1689 ::std::string const& repositoryPieceType,
1690 ::std::string const& appearancePieceType
1691 ) = 0;
1692
1693 virtual void fireEventPersonaCategoryInformation(::std::string const& categoryInformation) = 0;
1694
1695 virtual void fireEventDisplayLoggedError(
1696 ::std::string const& errorMessageTemplate,
1697 ::std::string const& errorMessage,
1698 ::std::string const& errorParameters
1699 ) = 0;
1700
1701 virtual void fireEventWorldHistoryPackSourceMissingDuringUpgrade(
1702 ::std::string const& worldPath,
1703 ::std::string const& levelId,
1704 ::std::string const& deletionCandidate
1705 ) = 0;
1706
1707 virtual void fireStructureBlockAction(
1708 ::IMinecraftEventing::StructureBlockActionType structureBlockActionType,
1709 ::StructureEditorData const& structureEditorData,
1710 ::StructureTelemetryClientData const* telemetryClientData
1711 ) = 0;
1712
1713 virtual void fireStructureBlockRedstoneActivated(
1714 ::IMinecraftEventing::StructureBlockActionType structureBlockActionType,
1715 ::StructureEditorData const& structureEditorData,
1716 ::StructureTelemetryClientData const* telemetryClientData
1717 ) = 0;
1718
1719 virtual void fireEventOreUIError(uint const& userId, ::std::string const& errorType) = 0;
1720
1721 virtual void fireEventOreUIScreenPerformance(
1722 uint const& userId,
1723 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer
1724 ) = 0;
1725
1726 virtual void fireEventRealmsStoriesOptIn(
1727 ::std::string const& correlationId,
1728 ::std::string const& action,
1729 ::std::string const& realmId,
1730 bool const isOwner
1731 ) = 0;
1732
1733 virtual void fireEventOnboardingWorldCreationUsage(
1734 bool onboardingWorldCreationUsed,
1735 bool hasWorlds,
1736 bool hasOnlyBaseGamePacks
1737 ) = 0;
1738
1739 virtual void fireEventDeviceAccountSuccess(bool isNewAccount, ::std::string const& accountID) = 0;
1740
1741 virtual void fireEventDeviceAccountFailure(
1742 ::IMinecraftEventing::SignInStage stage,
1743 ::IMinecraftEventing::DeviceAccountFailurePhase phase,
1744 uint resultStatus,
1745 ::std::string const& accountID
1746 ) = 0;
1747
1748 virtual ::std::shared_ptr<void*> requestEventDeferment() = 0;
1749
1750 virtual ::gsl::not_null<::Bedrock::CrashTelemetryProcessor*> getCrashTelemetryProcessor() = 0;
1751
1752 virtual void fireEventLevelChunkPerformanceData(bool isClientSide) = 0;
1753
1754 virtual void fireChunkRecyclerTelemetryData(::ChunkRecyclerTelemetryOutput const& output) = 0;
1755
1756 virtual void fireEventActorValueValidationFailed(::std::string const& invalidValue, char const* caller) = 0;
1757
1758 virtual void fireDBStorageError(::LevelStorageEventingContext const& context, ::std::string const& errorType) = 0;
1759
1760 virtual void fireServerStarted(
1761 ::Social::Events::ServerTelemetryData const& serverTelemetryData,
1762 ::std::unordered_map<::std::string, ::std::string> const& propertiesChanged
1763 ) = 0;
1764
1765 virtual void fireServerShutdown() = 0;
1766
1767 virtual void fireSafetyServiceTextProcessEvent(
1768 ::std::string const& authorId,
1769 ::TextProcessingEventOrigin eventOrigin,
1770 ushort responseCode,
1771 ::std::string const& message,
1772 bool wasFlagged,
1773 double responseTime,
1774 char risk,
1775 char trustLevel,
1776 ::Json::Value const& events,
1777 bool isProcessorOffline,
1778 bool isCachedResponse
1779 ) = 0;
1780
1781 virtual void fireBannedSkinVerificationEvent(
1782 uint const& userId,
1783 ::std::string const& serverType,
1784 ::std::string const& skinData,
1785 bool wasApproved,
1786 int const eventCode,
1787 ::std::string const& message
1788 ) = 0;
1789
1790 virtual void fireEventPlayerReportSent(
1791 bool successfulReportSent,
1792 ::std::string const& failureSource,
1793 ::std::string const& failureReason,
1794 ::std::string const& reportID
1795 ) = 0;
1796
1797 virtual void
1798 fireEventOneDSPlayerReportPayload(::std::string const& reportPayloadJson, ::std::string const& reportID) = 0;
1799
1800 virtual void
1801 fireEventSafetyHTTPRequest(::std::string const& method, ::std::string const& url, int const responseCode) = 0;
1802
1803 virtual void fireEventProfanityFilter(bool localFilter, bool remoteFilter, bool playerFilter) = 0;
1804
1805 virtual void fireEventChatFloodingActionTaken(
1806 ::std::string const& authorXuid,
1807 ::Safety::ChatFloodingAction action,
1808 ::std::string const& message
1809 ) = 0;
1810
1811 virtual void fireEventTextProcessorStartupFailed(::std::string const& stage, int retryCount, int maxRetryCount) = 0;
1812
1813 virtual void firePlayerAccountMetadata(
1814 ::Social::PermissionCheckResult multiPlayerAllowed,
1815 ::Social::PermissionCheckResult chatAllowed,
1816 ::Social::PermissionCheckResult addFriendAllowed,
1817 ::Social::PermissionCheckResult ugcAllowed,
1818 ::Social::PermissionCheckResult clubsAllowed,
1819 ::Social::PermissionCheckResult viewProfilesAllowed,
1820 bool isChildAccount,
1821 bool isGuest
1822 ) = 0;
1823
1824 virtual void fireEventBlockUser(::std::string const& xuid, bool isSuccess, bool isBlocked) = 0;
1825
1826 virtual void fireEventMuteUser(::std::string const& xuid, bool isSuccess, bool isMuted) = 0;
1827
1828 virtual void fireStorageMigrationEvent(
1829 bool isSuccessful,
1830 ::Bedrock::StorageMigration::StorageMigrationType migrationType,
1831 int numFilesMigrated,
1832 int numFilesTotal,
1833 ::std::chrono::nanoseconds duration,
1834 ::std::string const& failureReason
1835 ) = 0;
1836
1837 virtual void fireEventConnectedStorageResult(
1838 ::ConnectedStorageEventType eventType,
1839 bool succeeded,
1840 uint durationMs,
1841 ::std::optional<uint> chunksSent,
1842 ::std::string const& errorMessage,
1843 ::std::string const& levelId,
1844 int64 quotaRemaining,
1845 ::std::optional<uint> filesToAddCount,
1846 ::std::optional<uint> filesToDeleteCount,
1847 ::std::optional<uint> HACK_oldFilesToDeleteCount
1848 ) = 0;
1849
1850 virtual void
1851 fireEventConnectedStorageError(char const* message, ::std::string const& levelId, int64 quotaRemaining) = 0;
1852
1853 virtual void fireEventUwpToGdkMigrationComplete(
1854 ::Bedrock::DeviceIdContext const& deviceIdContext,
1855 ::std::string const& gdkDeviceId,
1856 ::std::string_view migrationErrors
1857 ) = 0;
1858
1859 virtual void fireEventOSKErrorEncountered(::std::string_view failureReason) = 0;
1860
1861 virtual void fireNetworkChangedEvent(::std::string const& networkConnectionType) = 0;
1862
1863 virtual void fireEventMessageServiceImpression(
1864 ::std::string const& messageId,
1865 ::std::string const& messageSessionId,
1866 ::std::string const& Surface,
1867 ::std::string const& Template,
1868 bool const isControl
1869 ) = 0;
1870
1871 virtual void fireEventMessageReceived(
1872 ::std::string const& messageId,
1873 ::std::string const& messageSessionId,
1874 ::std::string const& Surface,
1875 ::std::string const& Template,
1876 bool const isControl
1877 ) = 0;
1878
1879 virtual void fireEventPartyPlayFabError(
1880 ::std::string const& functionName,
1881 ::std::string const& errorMessage,
1882 ::std::string const& partyId
1883 ) = 0;
1884
1885 virtual void fireEventGoogleAccountHoldWarning(bool navigatedToSubscription) = 0;
1886
1887 virtual void fireDelayedEventReportOfflineAction(::std::string const& offlineAction) = 0;
1888
1889 virtual void
1890 fireEventFeedbackSubmitted(::std::string const& productId, bool safetyCheckSuccessful, bool isValidText) = 0;
1891
1892 virtual void fireEventTrackDeeplinks(
1893 ::std::string const& deeplinkDestination,
1894 ::std::string const& deeplinkSource,
1895 ::std::string const& educationReferrerId,
1896 ::std::string const& educationReferrerType
1897 ) = 0;
1898
1899 virtual void
1900 firePlayerUnexpectedFallDamage(float const fallDistance, bool isVehicle, float const divergenceAmount) = 0;
1901
1902 virtual void
1903 fireEventActorMovementCorrectionDivergence(::ActorType actorType, ::std::vector<float> const& divergences) = 0;
1904
1905 virtual void fireEventDedicatedServerDiscoveryResponse(int const status, int const retryAttempt) = 0;
1906
1907 virtual void fireEventInGamePause(bool pauseStatus) = 0;
1908
1909 virtual void fireEventGameTip(int gameTipId, int gameTipEventType, int gameTipTestGroup, ::InputMode inputMode) = 0;
1910
1911 virtual void fireEventAddedFriend(
1912 ::std::string const& addedXuid,
1913 ::IMinecraftEventing::AddedFriendLocation location,
1914 bool success
1915 ) = 0;
1916
1917 virtual void fireEventInboxSummary(::Social::Events::InboxSummaryData const& data) = 0;
1918
1919 virtual void fireEventTrialStatusFailed(int errorCode) = 0;
1920
1921 virtual void
1922 fireEventSaveDataExpansion(uint64 preExpansionSize, uint64 postExpansionSize, uint64 levelUsedSize) = 0;
1923
1924 virtual void fireEventProfileButtonPressed(::std::string const& entryPoint) const = 0;
1925
1926 virtual void fireEventWorldCopy(uint64 worldSize, uint64 filesSum, ::LevelSeed64 worldSeed) = 0;
1927
1928 virtual void fireEventWriteBudgetLow(
1929 uint64 remainingWriteBudget,
1930 float writeRateMBPerMin,
1931 ::std::chrono::nanoseconds timeSinceLastLargeFileTransactionCompleted,
1932 bool anyLargeFileTransactionInProgress,
1933 ::std::string const& correlationId
1934 ) = 0;
1935
1936 virtual void fireEventWriteBudgetReplenished(
1937 ::std::chrono::nanoseconds throttledTime,
1938 uint64 lowestWriteBudget,
1939 ::std::optional<uint64> lowestSystemThrottlingPerSec,
1940 ::std::chrono::nanoseconds timeSinceLastLargeFileTransactionCompleted,
1941 bool anyLargeFileTransactionInProgress,
1942 ::std::string const& correlationId
1943 ) = 0;
1944
1945 virtual void fireEventLargeFileWriteStall(
1946 uint64 totalWriteSizeBytes,
1947 ::std::vector<::std::string> const& largestFileNames,
1948 ::std::chrono::nanoseconds estimatedTotalWriteTime,
1949 ::std::chrono::nanoseconds estimatedTotalWaitTime,
1950 ::std::string const& originatingSystem,
1951 uint64 budgetBytesAtStartOfOperation,
1952 bool operationWasCancelled,
1953 ::std::chrono::nanoseconds totalWriteTime,
1954 ::std::chrono::nanoseconds totalWaitTime,
1955 int numberOfFilesWritten,
1956 uint64 budgetBytesAtEndOfOperation,
1957 ::std::vector<::std::string> const& associatedContentIDs
1958 ) = 0;
1959
1960 virtual void fireEventLowMemoryDetected(
1961 ::brstd::function_ref<void(::Social::Events::Event&) const, void(::Social::Events::Event&)> writer,
1962 ::LowMemoryReport const& report
1963 ) = 0;
1964
1965 virtual void fireEventReceivedApplicationExitInfo(
1966 ::std::string const& description,
1967 int reasonCode,
1968 int exitCode,
1969 int importanceCode,
1970 int64 residentSetSize,
1971 int64 proportionalSetSize,
1972 ::std::string const& sessionId,
1973 bool deviceSupportsReasonLowMem
1974 ) = 0;
1975
1976 virtual void fireEventBug1341395(::std::string const& details) = 0;
1977
1978 virtual void fireEventImmersiveReaderStatus(::Bedrock::Http::Status const status) = 0;
1979
1980 virtual void fireEventPacketSerializationMismatch(
1981 ::MinecraftPacketIds packetId,
1982 ::std::string_view legacyStream,
1983 ::std::string_view cerealStream
1984 ) = 0;
1985
1986 virtual void
1987 fireEventPUVLoad(::std::string const& resourceCategory, ::PuvLoadData::TelemetryEventData&& loadData) = 0;
1988
1989 virtual void fireEventRemoteDesktop(bool isRemoteDesktop) = 0;
1990 // NOLINTEND
1991
1992public:
1993 // destructor thunk
1994 // NOLINTBEGIN
1995 MCNAPI void $dtor();
1996 // NOLINTEND
1997
1998public:
1999 // virtual function thunks
2000 // NOLINTBEGIN
2001 MCNAPI void $updatePlayerUndergroundStatus(::Player* player, bool isUnderground);
2002
2003
2004 // NOLINTEND
2005
2006public:
2007 // vftables
2008 // NOLINTBEGIN
2009 MCNAPI static void** $vftableForIUIEventTelemetry();
2010
2011 MCNAPI static void** $vftableForIConnectionEventing();
2012
2013 MCNAPI static void** $vftableForIPackTelemetry();
2014
2016
2018
2020
2022 // NOLINTEND
2023};
Definition Actor.h:106
Definition AllowList.h:15
Definition AppPlatform.h:91
Definition CrashTelemetryProcessor.h:13
Definition EnableNonOwnerReferences.h:7
Definition Status.h:7
Definition Subscription.h:10
Definition Block.h:43
Definition ChalkboardBlockActor.h:24
Definition ContentIdentity.h:8
Definition DBStorageFolderWatcher.h:14
Definition DedicatedServer.h:51
Definition Experiments.h:14
Definition IConnectionEventing.h:10
Definition IExternalSessionTelemetry.h:5
Definition IMinecraftEventingProvider.h:10
Definition IMinecraftEventing.h:134
static MCAPI void ** $vftableForIUIEventTelemetry()
MCAPI void $updatePlayerUndergroundStatus(::Player *player, bool isUnderground)
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForIExternalSessionTelemetry()
MCAPI void $dtor()
static MCAPI void ** $vftableForIMinecraftEventingProvider()
static MCAPI void ** $vftableForIScreenChangedEventing()
static MCAPI void ** $vftableForIPackTelemetry()
static MCAPI void ** $vftableForIConnectionEventing()
Definition IPackTelemetry.h:5
Definition IScreenChangedEventing.h:5
Definition IUIEventTelemetry.h:5
Definition ItemDescriptor.h:24
Definition Value.h:16
Definition LessonCommand.h:19
Definition LevelChunk.h:79
Definition LevelSeed64.h:5
Definition LevelSettings.h:39
Definition Level.h:250
Definition MessagePerformance.h:5
Definition NetworkIdentifier.h:10
Definition PackInstance.h:17
Definition PackManifest.h:37
Definition PackSettings.h:19
Definition PerfContextTrackerReport.h:5
Definition PlayerRespawnTelemetryData.h:5
Definition Player.h:129
Definition PushNotificationMessage.h:5
Definition ScriptPluginResult.h:11
Definition EventManager.h:19
Definition Event.h:18
Definition IEventListener.h:16
Definition Measurement.h:12
Definition OptionChange.h:7
Definition Property.h:7
Definition GameConnectionInfo.h:21
Definition StructureEditorData.h:18
Definition StructureTelemetryClientData.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 DeviceIdContext.h:7
Definition DirectoryEntry.h:7
Definition ChunkRecyclerTelemetryOutput.h:5
Definition FileCounters.h:7
Definition DBStoragePerformanceTelemetryData.h:5
Definition IMinecraftEventing.h:416
Definition ImageTelemetryInfo.h:5
Definition LevelStorageEventingContext.h:5
Definition LowMemoryReport.h:5
Definition NewBlockID.h:8
Definition PacksInfoData.h:14
Definition ProfilerLiteTelemetry.h:5
Definition TelemetryEventData.h:12
Definition InboxSummaryData.h:7
Definition ServerTelemetryData.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 Alias.h:14