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