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