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