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