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