3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/game/MinecraftGameFeatures.h"
7#include "mc/client/game/WebviewInterfaceType.h"
8#include "mc/client/gui/SettingsTabIndex.h"
9#include "mc/client/gui/screens/controllers/RealmsPlusTabIndex.h"
10#include "mc/client/gui/screens/models/IMinecraftScreenModel.h"
11#include "mc/client/gui/screens/models/PlatformStoreIconModel.h"
12#include "mc/client/network/clubs/GenericStatus.h"
13#include "mc/client/network/realms/FailureReason.h"
14#include "mc/client/network/realms/GenericStatus.h"
15#include "mc/client/network/realms/RealmsAPI.h"
16#include "mc/client/player/DefaultSkin.h"
17#include "mc/client/player/PickCustomSkinResult.h"
18#include "mc/client/services/download/IDlcBatcher.h"
19#include "mc/client/social/MultiplayerServiceIdentifier.h"
20#include "mc/client/social/UserPlatformConnectionResult.h"
21#include "mc/client/store/StoreCatalogCategory.h"
22#include "mc/client/store/iap/PurchaseResult.h"
23#include "mc/codebuilder/CodeBuilderPerformance.h"
24#include "mc/common/SubClientId.h"
25#include "mc/deps/core/file/PathBuffer.h"
26#include "mc/deps/core/http/StatusCode.h"
27#include "mc/deps/core/threading/Async.h"
28#include "mc/deps/core/utility/NonOwnerPointer.h"
29#include "mc/events/IMinecraftEventing.h"
30#include "mc/events/UserGeneratedUriSource.h"
31#include "mc/identity/IdentitySignInTrigger.h"
32#include "mc/network/connection/DisconnectFailReason.h"
33#include "mc/network/packet/ModalFormCancelReason.h"
34#include "mc/network/packet/ResourcePackResponse.h"
35#include "mc/util/ProfanityFilterContext.h"
36#include "mc/world/ContainerID.h"
37#include "mc/world/actor/player/LoadingState.h"
38#include "mc/world/level/FileArchiver.h"
39#include "mc/world/level/GameType.h"
87struct StoreCatalogRepository;
88struct StoreContentSources;
90struct TransactionContext;
96namespace Core {
class Path; }
99namespace Json {
class Value; }
100namespace Realms {
struct Backup; }
102namespace Realms {
struct RealmId; }
103namespace Realms {
struct World; }
119 public ::std::enable_shared_from_this<::MinecraftScreenModel> {
127 enum class FriendsDrawerLocation :
int {};
134 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
135 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions>> mAdvancedGraphicsOptions;
136 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
137 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>> mSceneStack;
138 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AbstractScene>> mLoadingScene;
139 ::ll::TypedStorage<8, 8, ::SceneFactory&> mSceneFactory;
140 ::ll::TypedStorage<1, 1, bool> mIsDirty;
141 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClientInstanceModel>> mClientModel;
142 ::ll::TypedStorage<4, 4, ::LoadingState> mResourcePackConfirmationLoadingState;
143 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mSkinPackCollectionModel;
144 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mPurchasableSkinPackCollectionModel;
145 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mOwnedSkinPackCollectionModel;
146 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mRealmsPlusSkinPackCollectionModel;
147 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mAsyncTaskGroup;
148 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlatformUpsellDialog>> mPlatformUpsellDialog;
149 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IDlcBatcher>> mDlcBatcher;
150 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::Async<void>> mStartServerResult;
151 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IScreenCapabilities>> mCapabilities;
152 ::ll::TypedStorage<8, 16, ::PlatformStoreIconModel> mPlatformStoreIconModel;
153 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mStorageCheckTaskGroup;
154 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Social::FriendList>> mFriendList;
155 ::ll::TypedStorage<4, 4, uint> mSceneId;
156 ::ll::TypedStorage<1, 1, bool> mPlayerCanceledJoinGame;
157 ::ll::TypedStorage<1, 1, bool> mCurrentlyLoadingScene;
162 MinecraftScreenModel& operator=(MinecraftScreenModel
const&);
163 MinecraftScreenModel(MinecraftScreenModel
const&);
164 MinecraftScreenModel();
169 virtual ~MinecraftScreenModel() ;
172 navigateToDisconnectScreen(::Connection::DisconnectFailReason reason, ::std::string
const& displayMessageOverride);
174 virtual bool tryNavigateToProfileScreen() ;
176 virtual bool tryNavigateToSafeZoneScreenOnFirstSignin() ;
178 virtual void navigateToStoreDataDrivenScreen(
179 ::StoreDataDrivenScreenParams
const& params,
180 bool forceDisableProgressScreen
183 virtual bool leaveScreen(::std::string expectedScreenName,
bool onlyThis) ;
185 virtual bool isInGame()
const;
187 virtual bool isSelectedSkinInitialized()
const;
189 virtual ::SubClientId getSubClientId() const ;
191 virtual
bool platformTTSExists() const;
193 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::DlcId> const& dlcIds) ;
195 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::std::
string> const& productIds) ;
197 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::PackIdVersion> const& packIds) ;
199 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() const;
201 virtual
float getStoreNetworkFailureTimeout() const;
203 virtual
bool isAdhocEnabled() const;
205 virtual
bool isDirty() const;
207 virtual ::SkinHandle const& getSelectedSkinHandle() const;
209 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager() ;
211 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const getUserManager() const ;
213 virtual ::std::
string const& getLastPoppedScreenName() const;
219 MCAPI
void DEPRECATED_navigateToRealmsPlusPDPScreen(
220 ::RealmsPlusTabIndex tabIndex,
221 ::std::function<
void(::Realms::World&)> onCreateCallback
224 MCAPI explicit MinecraftScreenModel(::MinecraftScreenModel::
Context context);
226 MCAPI ::RealmsAPI& _checkAndGetRealmsAPI() const;
228 MCAPI
bool _isPremium(::PackManifest const& manifest) const;
230 MCAPI
bool _isPremiumLocked(::PackManifest const& manifest) const;
232 MCAPI ::Bedrock::Threading::Async<
void> _queueForMainThread(::std::function<
void()>&& callback);
234 MCAPI
void _savePDF(::PDFOptions options, ::std::shared_ptr<::FilePickerSettings> settings);
236 MCAPI
void _saveZIP(::PDFOptions options, ::std::shared_ptr<::FilePickerSettings> settings);
238 MCAPI
void _startLocalServerAsync(
239 ::std::
string const& levelId,
240 ::std::
string const& levelName,
241 ::ContentIdentity const& contentIdentity,
242 ::LevelSettings const& settings
246 addDownloadCallback(::std::weak_ptr<
bool> existenceTracker, ::std::function<
void(::DownloadStateObject&)> callback);
248 MCAPI
void addEduCredentialsObserver(::edu::auth::CredentialsObserver& observer);
250 MCAPI
void addEduDeeplinkObserver(::EduDeeplinkObserver& observer) const;
252 MCAPI
void addToRealmsBlocklist(
253 ::Realms::RealmId worldId,
254 ::std::
string const& currentUserXuid,
255 ::std::
string const& xuidToBlock,
256 ::std::function<
void(::Realms::GenericStatus)> callback
259 MCAPI
bool canEditPermissionsEDU(::ActorUniqueID const&
id);
261 MCAPI
bool canManageSubscriptionForStoreId(::std::
string const& storeId) const;
263 MCAPI
void cancelJoinGame(::LoadingState loadingState);
265 MCAPI
void checkConnectionEvents();
267 MCAPI
void checkRealmsPaymentService(::std::function<
void(
bool)> callback);
269 MCAPI
void clearContentLogMessages();
271 MCAPI
void clearDevConsoleScreenMessages();
273 MCAPI
void clearTTSQueue();
275 MCAPI
void closeRealmsWorld(
276 ::Realms::RealmId worldId,
277 ::std::function<
void(::Realms::GenericStatus)> callback,
278 ::std::function<
void(
int)> retryCallback
281 MCAPI
void completeServerForm(uint formId, ::ModalFormCancelReason cancelReason);
283 MCAPI
void completeServerForm(uint formId, ::Json::Value response);
285 MCAPI
void confirmResourcePackDownload(
286 ::ResourcePackResponse response,
287 bool downloadOptionalResourcePacks,
288 bool forceServerPacksEnabled
291 MCAPI
void connectToPlatformNetwork(
292 ::std::function<
void(::Social::UserPlatformConnectionResult)> callback,
296 MCAPI ::std::
string copyWorld(::std::
string const& worldId);
298 MCAPI
void createAndUploadWorldToRealm(
299 ::LevelSummary const& levelSummary,
300 ::LevelSettings const& levelSettings,
301 ::Realms::World world,
302 ::std::function<
void(::Realms::World)> callback
305 MCAPI
void createAndUploadWorldToRealm(
306 ::std::
string const& levelId,
307 ::std::
string levelName,
308 ::LevelSettings const& settings,
309 ::Realms::World world,
310 ::std::function<
void(::Realms::World)> callback
313 MCAPI ::std::unique_ptr<::PlatformMultiplayerRestrictions> createPlatformMultiplayerRestrictions();
315 MCAPI
void deleteAllContentLogs() const;
317 MCAPI
void deleteAllDiagnosticsAndProfilerCaptures() const;
319 MCAPI
void deleteAllLocalScreenshots();
321 MCAPI
void deleteFeedItem(
322 ::Clubs::FeedItem const& activityItem,
323 ::Realms::RealmId realmId,
324 ::std::
string const& clubId,
325 ::std::function<
void(::Clubs::GenericStatus)> callback
328 MCAPI
void destroyGame();
330 MCAPI
void devConsoleExecuteCommand(::std::
string const& command);
332 MCAPI
void displayPremiumUpsellDialogAsync(::std::function<
void(
bool)> callback);
334 MCAPI
bool doesUserHavePremiumPlatformAccess() const;
336 MCAPI
bool doesUserPlatformConnectionAllowMultiplayer() const;
338 MCAPI
void fetchScreenshots(::std::vector<::Core::PathBuffer<::std::
string>>& results);
340 MCAPI ::std::
string filterProfanityFromString(
341 ::ProfanityFilterContext stringContext,
342 ::std::
string const& str,
343 bool allowFilterOverride
346 MCAPI
bool findProfanityInString(::ProfanityFilterContext stringContext, ::std::
string const& str) const;
348 MCAPI
void fireCodeBuilderCachePerformanceEvent(::CodeBuilderPerformance::Stage stage);
350 MCAPI
void fireEventScreenChanged(
351 ::std::
string const& screenName,
352 ::std::unordered_map<::std::
string, ::std::
string> const& additionalProperties
355 MCAPI
void fireEventUserListUpdated(
356 ::std::
string const& productId,
357 ::std::
string const& listId,
358 ::std::
string const& operation,
362 MCAPI
void fireSignOutEdu(::std::
string const& action, ::std::
string const& error) const;
365 fulfillPriorEduPurchase(::std::weak_ptr<::Purchase> purchase, ::std::unique_ptr<::TransactionContext> context);
367 MCAPI ::std::shared_ptr<::FilePickerSettings>
368 generateFilePickerSettingsForAlbum(::PDFOptions const& options, ::std::
string const& defaultOutName);
370 MCAPI ::std::shared_ptr<::FilePickerSettings> generateFilePickerSettingsForExport();
372 MCAPI ::std::shared_ptr<::FilePickerSettings> generateFilePickerSettingsForExport(
373 ::std::
string const& levelId,
374 ::std::
string const& levelName,
375 ::FileArchiver::ExportType type
378 MCAPI ::PlayerAchievementData const& getAchievementData() const;
380 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ActiveDirectoryIdentity const> getActiveDirectoryIdentity();
382 MCAPI ::std::
string getBuildDateISOString() const;
384 MCAPI
void getClubFeed(
385 ::std::
string const& clubID,
386 ::std::function<
void(::Clubs::ActivityFeed, ::Clubs::GenericStatus)> callback
389 MCAPI
void getClubProfile(
390 ::std::
string const& clubId,
391 ::std::function<
void(::Clubs::ClubModel, ::Clubs::GenericStatus)> callback
395 getClubUnreadCount(::std::
string const& clubId, ::std::function<
void(
int, ::Clubs::GenericStatus)> callback);
397 MCAPI
void getClubUnreadCounts(
398 ::std::vector<::std::
string> const& clubIds,
399 ::std::function<
void(::std::map<::std::
string,
int>, ::Clubs::GenericStatus)> callback
402 MCAPI ::MinecraftCommands& getCommands();
404 MCAPI ::std::vector<::ContentLogMessage> const& getContentLogMessages() const;
406 MCAPI ::ContentTierInfo getContentTierInfo() const;
408 MCAPI ::Realms::World& getCurrentRealm();
410 MCAPI ::std::
string getCurrentXUID() const;
412 MCAPI ::SkinHandle getCustomSkinHandle(::DefaultSkin skinType) const;
414 MCAPI
int getCustomSkinIndex() const;
416 MCAPI ::WireframeQueue* getDimensionWireframeQueue();
418 MCAPI ::std::
string getDisplayName() const;
420 MCAPI ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> getEDUCloudSaveSystem() const;
422 MCAPI ::IEDUDiscoveryService& getEDUDiscoveryService();
424 MCAPI
float getEDUServicePackProgress() const;
426 MCAPI ::std::
string getEduOfferPrice();
428 MCAPI ::EducationLevelSettings const* getEducationLevelSettings() const;
430 MCAPI ::std::optional<::Social::GameConnectionInfo> getGameConnectionInfo();
432 MCAPI ::IGameConnectionListener const& getGameConnectionListener();
434 MCAPI ::HitResult& getHitResult() const;
436 MCAPI
int getHotbarSlotCount() const;
438 MCAPI ::ResourceLocation const& getImageLocationFromImageRepository(::std::
string const& imageName) const;
440 MCAPI
bool getIsWaitingForSession() const;
442 MCAPI ::LevelData* getLevelData();
444 MCAPI ::LevelData* getLevelData(::std::
string const& levelID);
446 MCAPI
void getLinkedPlatformIds(
447 ::std::function<
void(::std::
string, ::std::
string)> callback,
448 ::std::vector<::std::
string> const& xuids
451 MCAPI
void getLinkedXuids(
452 ::std::function<
void(::std::
string, ::std::
string)> callback,
453 ::std::vector<::std::
string> const& platformIds
456 MCAPI ::ActorUniqueID getLocalPlayerEntityID() const;
458 MCAPI ::std::
string getLocalizedStoreDisplayName(::std::
string const& storeId);
460 MCAPI ::std::
string getMarketplacePassPrice(::std::
string const& productSku, ::std::
string const& caymanId) const;
462 MCAPI uint getMaxPlatformInvitablePlayers() const;
464 MCAPI ::std::
string getNetworkInfoStringInGame() const;
466 MCAPI
bool getNewJukeboxPopupItemText(::std::
string& newText,
bool& isCreative);
468 MCAPI
bool getNewPopupItemText(::std::
string& newText,
bool& isCreative);
470 MCAPI ::SDL::SubscriptionInfo const& getNextAvailableSubscriptionInfo() const;
472 MCAPI ::IOptions& getOptions() const;
474 MCAPI ::std::shared_ptr<::WebviewInterface> getOrCreateWebviewInterface(::WebviewInterfaceType interfaceType);
477 getPlatformFriendProfiles(::std::function<
void(::std::vector<::Social::PlatformUserProfileData> const&)> callback);
479 MCAPI
void getPlatformProfile(
480 ::std::
string const& platformId,
481 ::std::function<
void(::Social::PlatformUserProfileData&)> callback
484 MCAPI
short getPointerX() const;
486 MCAPI
short getPointerY() const;
488 MCAPI
void getProfiles(
489 ::std::vector<::std::
string> const& xuids,
490 ::std::function<
void(::std::vector<::Social::XboxLiveUserProfileData const*> const&)> batchedCollectionCallback
493 MCAPI ::std::
string getRandomSearchTermUsingCategory(::StoreCatalogCategory const& category) const;
495 MCAPI
void getRealmWorldBackups(
496 ::Realms::RealmId worldId,
497 ::std::function<
void(::Realms::GenericStatus, ::std::vector<::Realms::Backup>)> callback
500 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Realms::InvitesService> getRealmsInvitesService();
502 MCAPI
void getRealmsWorld(
503 ::Realms::RealmId worldId,
504 ::std::function<
void(::Realms::GenericStatus, ::Realms::World)> callback,
508 MCAPI ::std::shared_ptr<::Realms::WorldCache> getRealmsWorldCache();
510 MCAPI ::Realms::World getRealmsWorldContextWorld() const;
512 MCAPI
void getReportedFeedItem(
513 ::Clubs::ReportedItem const& reportedItem,
514 ::std::function<
void(::Clubs::ReportedItem const&, ::Clubs::FeedItem, ::Clubs::GenericStatus)> callback
517 MCAPI
void getReportedItemPaths(
518 ::std::
string const& clubId,
519 ::std::function<
void(::std::vector<::Clubs::ReportedItem>, ::Clubs::GenericStatus)> callback
522 MCAPI ::std::
string getScreenName() const;
524 MCAPI ::std::
string getScreenTelemetry() const;
526 MCAPI ::Core::PathBuffer<::std::
string> getScreenshotPath() const;
528 MCAPI ::std::vector<::StoreFilter::FilterCollectionInfo> const& getSessionConfigFilterCollections() const;
530 MCAPI ::std::
string getSessionConfigKnownPageKeyValue(::std::
string const& pageId) const;
532 MCAPI
bool getSimPaused() const;
534 MCAPI ::std::
string getSplitscreenJoinText() const;
536 MCAPI ::StoreContentSources getStoreContentSources() const;
538 MCAPI
bool getStoreHasRealmsProducts() const;
540 MCAPI ::std::
string getStoreId() const;
542 MCAPI ::SDL::SubscriptionInfo const& getSubscriptionFullPriceInfo() const;
544 MCAPI
void getThirdPartyDisplayPicture(
545 ::std::
string const& playerId,
546 ::std::function<
void(::Core::Path const&)> callback,
550 MCAPI
bool getTipText(::std::
string& text);
552 MCAPI
void getUserMemberOfWorldsCount(::std::function<
void(::Realms::GenericStatus,
bool)> callback);
554 MCAPI ::std::vector<::std::
string> getUuidsInLobby() const;
556 MCAPI ::std::
string getVersionString() const;
558 MCAPI ::std::shared_ptr<::WebviewInterface> getWebviewInterface(::WebviewInterfaceType interfaceType);
560 MCAPI ::std::
string getWorldConverterDevVersionNumberString() const;
562 MCAPI ::LoadingState getWorldLoadingState() const;
564 MCAPI ::PurchaseResult goToExternalPlatformOffer(
565 ::std::
string const& offerId,
566 ::std::function<
void(
bool)> finishedExternalCoinPurchase,
567 ::std::function<
void(
bool,
int)> boughtEnoughCoinsCallback
570 MCFOLD
bool hasExternalCoinPurchases() const;
572 MCAPI
bool hasInteractButton() const;
574 MCAPI
bool hasLocalDeviceEntitlements() const;
576 MCAPI
bool hasPlatformIcons() const;
578 MCAPI
bool hasPlatformProfileCards() const;
580 MCAPI
void ignoreReportedFeedItem(
581 ::Clubs::ReportedItem const& activityItem,
582 ::std::
string const& reason,
583 ::std::
string const& clubId,
584 ::std::function<
void(::Clubs::GenericStatus)> callback
587 MCAPI
void initializeRealmsWorld(
588 ::Realms::RealmId worldId,
589 ::std::
string const& name,
590 ::std::
string const& description,
591 ::std::function<
void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
594 MCAPI
bool isBanned() const;
596 MCAPI
bool isCreative() const;
598 MCAPI
bool isCrossPlatformPlayEnabled() const;
600 MCAPI
bool isDeviceBeingSunset() const;
602 MCAPI
bool isDeviceSunset() const;
604 MCAPI
bool isDisconnectedFromNEX() const;
606 MCAPI
bool isDisconnectedFromPSN() const;
608 MCAPI
bool isEditorModeEnabled() const;
610 MCAPI
bool isEduDemo();
612 MCFOLD
bool isEduMode() const;
614 MCAPI
bool isFeatureEnabled(::MinecraftGameFeatures feature) const;
616 MCAPI
bool isHotbarOnlyTouch() const;
618 MCAPI
bool isInputModeTouch() const;
620 MCAPI
bool isInviteEnabled(::Social::MultiplayerServiceIdentifier serviceIdentifier) const;
622 MCAPI
bool isLeftHanded() const;
624 MCAPI ::Social::PermissionCheckResult isMultiplayerAllowed() const;
626 MCAPI
bool isNetworkAvailable() const;
628 MCAPI
bool isOnSceneStack(::std::
string const& screenName);
630 MCAPI
bool isOperator() const;
632 MCAPI
bool isOreUIModerationEnabled() const;
634 MCAPI
bool isPlatformInviteEnabled() const;
636 MCFOLD
bool isPlatformThirdPartyConsole() const;
638 MCAPI
bool isPremiumOwnedMissing(::PackIdVersion const&
id, ::ContentIdentity const& contentIdentity) const;
640 MCFOLD
bool isPremiumPlatformAccessRequiredForMatchmaking() const;
642 MCAPI
bool isRealmLevel() const;
644 MCAPI
bool isRealmOwner() const;
646 MCAPI
bool isRealmsEditWorldOreUIFeatureOn() const;
648 MCFOLD
bool isRealmsEnabled() const;
650 MCAPI
bool isRealmsInitialized() const;
652 MCAPI
bool isResourceLoadingFinished() const;
654 MCAPI
bool isRiding() const;
656 MCAPI
bool isServiceMultiplayerEnabled(::Social::MultiplayerServiceIdentifier serviceID) const;
658 MCAPI
bool isServicesLocalizationReady() const;
660 MCAPI
bool isSessionConfigAndLocalizationReady() const;
662 MCAPI
bool isSessionConfigRetrievalDelayed() const;
664 MCAPI
bool isSessionInfoValid(::Social::MultiplayerServiceIdentifier serviceID) const;
666 MCAPI
bool isSignInInProgress() const;
668 MCAPI
bool isSignedInToAdhoc() const;
670 MCAPI
bool isSignedInToNEX() const;
672 MCAPI
bool isSignedInToPSN() const;
674 MCAPI
bool isSignedInToPlayFabOfflineAndNetworkDisconnected() const;
676 MCAPI
bool isSignedInToPlayfab() const;
678 MCAPI
bool isSignedInToXBL() const;
680 MCAPI
bool isUITTSEnabled() const;
682 MCFOLD
bool isUnableToShowXBLLogo() const;
684 MCAPI
bool isValidRealmName(::std::
string name);
686 MCAPI
void joinEDUDiscoveredWorld();
688 MCAPI
void joinRealmFromInvite(::Realms::World world);
690 MCAPI
void joinRealmsWorld(
691 ::Realms::World world,
692 ::std::function<
void(::Social::GameConnectionInfo const&,
bool)> successCallback,
693 ::std::function<
void(::Realms::GenericStatus, ::RealmsAPI::JoinStatus, ::Realms::FailureReason)> failCallback,
694 ::std::function<
void(
int)> retryCallback,
695 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
696 ::std::function<
void(::IMinecraftEventing::RealmConnectionFlow)> broadcastConnectionEventRealmsRequestFunction,
697 ::std::function<
void(::IMinecraftEventing::RealmConnectionFlow, ::Bedrock::Http::StatusCode)>
698 broadcastConnectionEventRealmsResponseFunction
701 MCAPI
void launchEduUri(::std::
string const& baseUrl);
703 MCAPI
bool launchManageSubscriptions();
705 MCAPI
bool launchStore();
707 MCAPI
void launchUri(::std::
string const& uri);
709 MCAPI
void launchUserGeneratedUri(::std::
string const& uri, ::UserGeneratedUriSource source,
bool recordEvent);
711 MCAPI
void leaveRealmsWorld(::Realms::RealmId worldId, ::std::function<
void(::Realms::GenericStatus)> callback);
713 MCAPI
void loadStoreDataDrivenScreenFromSidebar(::StoreDataDrivenScreenParams& params);
715 MCAPI
void makeBackupOfLevel(::LevelSummary const& editedLevel);
717 MCAPI
bool multiplayerLostConnectionToSignalingService() const;
719 MCAPI
void navigateToControlCustomizationScreen();
721 MCAPI
void navigateToDevConsole();
723 MCAPI
void navigateToEduHomeScreen();
725 MCAPI
void navigateToFeedScreen(::Realms::World const& world);
727 MCAPI
void navigateToFeedbackPopup();
729 MCAPI
void navigateToInviteScreen();
731 MCAPI
void navigateToModalProgressScreen(
732 ::std::
string const& uniqueEventName,
733 ::std::unique_ptr<::ProgressHandler> progressHandler,
734 bool forceRenderBelow,
735 ::std::
string const& screenNameOverride,
739 MCAPI
void navigateToOptionsScreen(
740 ::SettingsTabIndex startingTabIndex,
741 bool navToMenuOnExit,
742 bool maintainOldFocus,
743 ::std::
string const& initialPackId
746 MCAPI
void navigateToPlatformNetworkConnectConfirmationScreen(::std::function<
void(
bool)> callback);
748 MCAPI
void navigateToPlatformStoreConnectConfirmationScreen(::std::function<
void(
bool)> callback);
750 MCAPI
void navigateToRealmsSlotSettingsScreen(::Realms::World const& world);
752 MCAPI
void navigateToRealmsSlotsScreen(::Realms::World const& worldWithoutSlotInfo);
754 MCAPI
void navigateToSkinPickerScreen();
756 MCAPI
void navigateToStartScreen();
758 MCAPI
void navigateToStoreHomeScreen(::std::
string const& title);
760 MCAPI
void navigateToTokenFAQScreen();
762 MCAPI
void navigateToTokenPopupScreen();
764 MCAPI
void navigateToUpdateWorldHeightScreen(::std::function<
void(
bool)> startWorldCallback);
766 MCAPI
bool needPlatformConnectionBeforeXBLSignIn() const;
768 MCAPI
bool needPlatformConnectionForSplitScreenMultiplayer() const;
770 MCAPI
void openBannedModal();
772 MCAPI
void openRealmsWorld(
773 ::Realms::RealmId worldId,
774 ::std::function<
void(::Realms::GenericStatus)> callback,
775 ::std::function<
void(
int)> retryCallback
778 MCAPI
void pickCustomSkin(::std::function<
void(::PickCustomSkinResult)> callback) const;
780 MCAPI
void prepareToNavigateToGamePlayScreen();
782 MCAPI
bool purchaseEduLicense(::std::unique_ptr<::TransactionContext> context);
784 MCAPI
void pushToast(::ToastMessage message);
786 MCAPI
void rebindKeys();
789 refreshCurrentRealmWorldInfo(::std::function<
void(::Realms::GenericStatus, ::Realms::World const&)> callback);
791 MCAPI
void removeFromRealmsBlocklist(
792 ::Realms::RealmId worldId,
793 ::std::
string const& xuid,
794 ::std::function<
void(::Realms::GenericStatus)> callback
797 MCAPI
void requestPlayerPermissions(::LayeredAbilities const& abilities, ::ActorUniqueID playerId);
799 MCAPI
bool requiresXBLSigninToPlay() const;
801 MCAPI
void resetActiveDirectoryAuthenticationState();
803 MCAPI
void resetRealmsWorld(
804 ::Realms::RealmId worldId,
805 ::std::function<
void(::Realms::GenericStatus)> callback,
806 ::std::function<
void(
int)> retryCallback
809 MCAPI
void resetRealmsWorldContext();
811 MCAPI
void restoreRealmWorldBackup(
812 ::Realms::RealmId worldId,
813 ::std::
string backupId,
814 ::std::function<
void(
int)> retryCallback,
815 ::std::function<
void(::Realms::GenericStatus)> callback
818 MCAPI
void saveLevelData(::std::
string const& levelId, ::LevelData const& data);
820 MCAPI
void scheduleCheckUserStorageAsync();
822 MCAPI
void sendPurchaseReceiptsToServer();
824 MCAPI
void sendSettingsCommandPacket(::std::
string const& command,
bool supressOutput);
826 MCAPI
void sendTrialWelcomeMessage();
828 MCAPI
bool serverPermissionOpenChat() const;
830 MCAPI
void setActiveDirectoryAuthenticationStateComplete();
832 MCAPI
void setActiveDirectoryDemoVersion();
834 MCAPI
void setActiveSlot(
835 ::Realms::RealmId worldId,
837 ::std::function<
void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
840 MCAPI
void setClubProfile(::Clubs::ClubModel const& model, ::std::function<
void(::Clubs::GenericStatus)> callback);
842 MCAPI
void setEducationLocalLevelSettings(::EducationLocalLevelSettings const& settings);
844 MCAPI
void setIsCheckoutInProgress(
bool isCheckoutInProgress);
846 MCAPI
void setIsInGameBrowsing(
bool isInGameBrowsing);
848 MCAPI
void setLanguage();
850 MCAPI
void setLastSelectedSlot(
int slot, ::ContainerID containerId);
852 MCAPI
void setNumberOfOwnedRealms(
int number);
854 MCAPI
void setPlayerGameType(::GameType const& gameType);
856 MCAPI
void setRealmsWorldInfo(
857 ::Realms::World world,
860 ::std::function<
void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
863 MCAPI
void setShareData(::std::
string shareTitle, ::std::
string shareText, ::std::
string shareUri);
865 MCAPI
void setSimPaused(
bool paused);
867 MCAPI
void setViewedFeedItem(
868 ::Clubs::FeedItem const& activityItem,
869 ::Realms::RealmId realmId,
870 ::std::
string const& clubId,
872 ::std::function<
void(::Clubs::GenericStatus)> callback
875 MCAPI
bool shouldShowThirdPartyDisconnected() const;
877 MCAPI
bool shouldShowVersionUpdateScreen();
879 MCAPI
void showFriendFinder(::std::function<
void()> callback);
881 MCAPI
bool showSignInButton() const;
883 MCAPI
void showStoreFeaturesDisabledWhenSignedOutScreen();
886 ::std::function<
void()> connectionCompleteCallback,
887 ::Social::IdentitySignInTrigger signInTrigger,
888 ::std::
string const& signInSource,
889 ::std::function<
void(::Social::MultiIdentitySigninResult)> signInCompleteCallback
892 MCAPI
void signOut(::std::function<
void(::Identity::SignOutResult)> callback);
894 MCAPI
void silentSignin(
895 ::Social::IdentitySignInTrigger signInTrigger,
896 ::std::
string const& signInSource,
897 ::std::function<
void(::Social::MultiIdentitySigninResult)> callback
900 MCAPI
void startExternalNetworkWorld(::std::
string const& serverName, ::std::
string const& ipAddress,
int port);
902 MCAPI
void startLocalServerAsync(::LevelSummary const& levelSummary, ::LevelSettings const& levelSettings);
905 startLocalServerAsync(::std::
string const& levelId, ::std::
string levelName, ::LevelSettings const& settings);
907 MCAPI
bool supportsTTSLanguage(::std::
string const& languageCode) const;
909 MCAPI ::Bedrock::Threading::Async<::Core::PathBuffer<::std::
string>> takeScreenshotForUploading();
911 MCAPI
bool tryNavigateToXblImmediateSignInScreen_DEPRECATED(
912 ::std::
string const& signInSource,
913 ::std::function<
void()> callBackAfterSignIn,
914 ::std::function<
void()> callBackAfterCancel
917 MCAPI
bool updateEDUServicePackSystem() const;
919 MCAPI
void updateRealmsAllowList(
920 ::Realms::RealmId worldId,
921 ::std::
string const& currentUserXuid,
922 ::std::map<::std::
string, ::RealmsAPI::InviteAction> xuidList,
923 ::std::function<
void(::Realms::GenericStatus, ::Realms::World)> callback
926 MCAPI
bool wasSessionCreated(::Social::MultiplayerServiceIdentifier serviceID) const;
932 MCAPI static uint& mSceneInstanceCounter();
938 MCAPI
void* $ctor(::MinecraftScreenModel::
Context context);
951 $navigateToDisconnectScreen(::Connection::DisconnectFailReason reason, ::std::
string const& displayMessageOverride);
953 MCAPI
bool $tryNavigateToProfileScreen();
955 MCAPI
bool $tryNavigateToSafeZoneScreenOnFirstSignin();
958 $navigateToStoreDataDrivenScreen(::StoreDataDrivenScreenParams const& params,
bool forceDisableProgressScreen);
960 MCAPI
bool $leaveScreen(::std::
string expectedScreenName,
bool onlyThis);
962 MCFOLD
bool $isInGame() const;
964 MCFOLD
bool $isSelectedSkinInitialized() const;
966 MCAPI ::SubClientId $getSubClientId() const;
968 MCFOLD
bool $platformTTSExists() const;
970 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::DlcId> const& dlcIds);
972 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::std::
string> const& productIds);
974 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::PackIdVersion> const& packIds);
976 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> $getStoreCatalogRepository() const;
978 MCFOLD
float $getStoreNetworkFailureTimeout() const;
980 MCAPI
bool $isAdhocEnabled() const;
982 MCFOLD
bool $isDirty() const;
984 MCAPI ::SkinHandle const& $getSelectedSkinHandle() const;
986 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> $getUserManager();
988 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const $getUserManager() const;
990 MCAPI ::std::
string const& $getLastPoppedScreenName() const;
Definition AbstractScene.h:5
Definition ActiveDirectoryIdentity.h:33
Definition ClientInstanceModel.h:5
Definition ContentIdentity.h:8
Definition ContentTierInfo.h:5
Definition EduDeeplinkObserver.h:5
Definition FilePickerSettings.h:5
Definition HitResult.h:17
Definition IAdvancedGraphicsOptions.h:10
Definition IClientInstance.h:5
Definition IDlcBatchModel.h:5
Definition IDlcBatcher.h:5
Definition IMinecraftGame.h:5
Definition IMinecraftScreenModel.h:5
Definition ISceneStack.h:5
Definition IScreenCapabilities.h:8
Definition LayeredAbilities.h:19
Definition LevelData.h:50
Definition LevelSettings.h:39
Definition MinecraftCommands.h:34
Definition MinecraftScreenModel.h:5
static MCAPI void ** $vftableForIDlcBatcher()
static MCAPI void ** $vftableForIMinecraftScreenModel()
Definition PackManifest.h:37
Definition ResourceLocation.h:15
Definition SceneFactory.h:5
Definition SkinPackCollectionModel.h:5
Definition GameConnectionInfo.h:21
Definition IUserManager.h:34
Definition TaskGroup.h:53
Definition ToastMessage.h:5
Definition WebviewInterface.h:5
Definition ActorUniqueID.h:5
Definition ActivityFeed.h:7
Definition ReportedItem.h:7
Definition ContentLogMessage.h:5
Definition DownloadStateObject.h:5
Definition IEduCloudSaveSystem.h:7
Definition EducationLevelSettings.h:17
Definition EducationLocalLevelSettings.h:5
Definition IEDUDiscoveryService.h:5
Definition IGameConnectionListener.h:5
Definition SignOutResult.h:7
Definition LevelSummary.h:30
Definition MinecraftScreenModel.h:15
Definition PDFOptions.h:5
Definition PackIdVersion.h:10
Definition PlayerAchievementData.h:5
Definition ProgressHandler.h:5
Definition InvitesService.h:7
Definition WorldCache.h:7
Definition SubscriptionInfo.h:7
Definition SkinHandle.h:5
Definition FriendList.h:7
Definition MultiIdentitySigninResult.h:7
Definition PermissionCheckResult.h:7
Definition XboxLiveUserProfileData.h:7
Definition StoreDataDrivenScreenParams.h:5
Definition FilterCollectionInfo.h:7
Definition WireframeQueue.h:5
Definition CredentialsObserver.h:25