3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/game/MinecraftGameFeatures.h"
7#include "mc/client/game/WebviewInterfaceType.h"
8#include "mc/client/gui/SceneType.h"
9#include "mc/client/gui/SettingsTabIndex.h"
10#include "mc/client/gui/screens/controllers/RealmsPlusTabIndex.h"
11#include "mc/client/gui/screens/models/IMinecraftScreenModel.h"
12#include "mc/client/gui/screens/models/PlatformStoreIconModel.h"
13#include "mc/client/network/clubs/GenericStatus.h"
14#include "mc/client/network/realms/FailureReason.h"
15#include "mc/client/network/realms/GenericStatus.h"
16#include "mc/client/network/realms/RealmsAPI.h"
17#include "mc/client/persona/DefaultSkin.h"
18#include "mc/client/realms/PlayerRoleActions.h"
19#include "mc/client/services/download/IDlcBatcher.h"
20#include "mc/client/social/MultiplayerServiceIdentifier.h"
21#include "mc/client/social/UserPlatformConnectionResult.h"
22#include "mc/client/store/StoreCatalogCategory.h"
23#include "mc/client/store/iap/PurchaseResult.h"
24#include "mc/common/SubClientId.h"
25#include "mc/deps/code_builder/CodeBuilderPerformance.h"
26#include "mc/deps/core/file/PathBuffer.h"
27#include "mc/deps/core/http/StatusCode.h"
28#include "mc/deps/core/threading/Async.h"
29#include "mc/deps/core/utility/NonOwnerPointer.h"
30#include "mc/events/IMinecraftEventing.h"
31#include "mc/events/UserGeneratedUriSource.h"
32#include "mc/identity/IdentitySignInTrigger.h"
33#include "mc/network/connection/DisconnectFailReason.h"
34#include "mc/network/packet/ModalFormCancelReason.h"
35#include "mc/network/packet/ResourcePackResponse.h"
36#include "mc/util/ProfanityFilterContext.h"
37#include "mc/world/ContainerID.h"
38#include "mc/world/actor/player/LoadingState.h"
39#include "mc/world/level/FileArchiver.h"
40#include "mc/world/level/GameType.h"
78class StoreCatalogRepository;
81class TransactionContext;
92struct StoreContentSources;
98namespace Core {
class Path; }
101namespace Json {
class Value; }
104namespace Realms {
struct RealmId; }
105namespace Realms {
struct World; }
120 public ::std::enable_shared_from_this<::MinecraftScreenModel> {
128 enum class FriendsDrawerLocation :
int {
137 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
138 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
139 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions>> mAdvancedGraphicsOptions;
140 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>> mSceneStack;
141 ::ll::TypedStorage<8, 8, ::SceneFactory&> mSceneFactory;
142 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IScreenCapabilities>> mCapabilities;
147 Context& operator=(Context
const&);
148 Context(Context
const&);
167 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
168 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions>> mAdvancedGraphicsOptions;
169 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
170 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>> mSceneStack;
171 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AbstractScene>> mLoadingScene;
172 ::ll::TypedStorage<8, 8, ::SceneFactory&> mSceneFactory;
173 ::ll::TypedStorage<1, 1, bool> mIsDirty;
174 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClientInstanceModel>> mClientModel;
175 ::ll::TypedStorage<4, 4, ::LoadingState> mResourcePackConfirmationLoadingState;
176 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mSkinPackCollectionModel;
177 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mPurchasableSkinPackCollectionModel;
178 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mOwnedSkinPackCollectionModel;
179 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkinPackCollectionModel>> mRealmsPlusSkinPackCollectionModel;
180 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mAsyncTaskGroup;
181 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlatformUpsellDialog>> mPlatformUpsellDialog;
182 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IDlcBatcher>> mDlcBatcher;
183 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::Async<void>> mStartServerResult;
184 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IScreenCapabilities>> mCapabilities;
185 ::ll::TypedStorage<8, 16, ::PlatformStoreIconModel> mPlatformStoreIconModel;
186 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mStorageCheckTaskGroup;
187 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Social::FriendList>> mFriendList;
188 ::ll::TypedStorage<4, 4, uint> mSceneId;
189 ::ll::TypedStorage<1, 1, bool> mPlayerCanceledJoinGame;
190 ::ll::TypedStorage<1, 1, bool> mCurrentlyLoadingScene;
195 MinecraftScreenModel& operator=(MinecraftScreenModel
const&);
196 MinecraftScreenModel(MinecraftScreenModel
const&);
197 MinecraftScreenModel();
202 virtual ~MinecraftScreenModel() ;
204 virtual bool tryNavigateToProfileScreen() ;
206 virtual bool tryNavigateToSafeZoneScreenOnFirstSignin() ;
208 virtual void navigateToStoreDataDrivenScreen(
209 ::StoreDataDrivenScreenParams
const& params,
210 bool forceDisableProgressScreen
213 virtual bool leaveScreen(::std::string expectedScreenName,
bool onlyThis) ;
215 virtual void popScreensBackTo(::ui::SceneType
const sceneType) ;
217 virtual bool isLeaveGameDone() const ;
219 virtual
void requestLeaveGame(
bool switchScreen,
bool sync) ;
221 virtual
void destroyGame() ;
223 virtual
bool isInGame() const ;
225 virtual
bool isSelectedSkinInitialized() const;
227 virtual ::SubClientId getSubClientId() const ;
229 virtual
bool platformTTSExists() const;
231 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::DlcId> const& dlcIds) ;
233 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::std::
string> const& productIds) ;
235 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::PackIdVersion> const& packIds) ;
237 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() const;
239 virtual
float getStoreNetworkFailureTimeout() const;
241 virtual
bool isAdhocEnabled() const;
243 virtual
bool isUserReady() const ;
245 virtual
bool isDirty() const;
247 virtual ::ResourcePackManager& getResourcePackManager() const ;
249 virtual ::SkinHandle const& getSelectedSkinHandle() const;
251 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager() ;
253 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const getUserManager() const ;
255 virtual ::std::
string const& getLastPoppedScreenName() const;
257 virtual ::INetworkGameConnector& getNetworkGameConnector() ;
263 MCAPI
void DEPRECATED_navigateToRealmsPlusPDPScreen(
264 ::RealmsPlusTabIndex tabIndex,
265 ::std::function<
void(::Realms::World&)> onCreateCallback
268 MCAPI explicit MinecraftScreenModel(::MinecraftScreenModel::
Context context);
270 MCAPI ::RealmsAPI& _checkAndGetRealmsAPI() const;
272 MCAPI
bool _isPremium(::PackManifest const& manifest) const;
274 MCAPI
bool _isPremiumLocked(::PackManifest const& manifest) const;
276 MCAPI ::Bedrock::Threading::Async<
void> _queueForMainThread(::std::function<
void()>&& callback);
278 MCAPI
void _savePDF(::PDFOptions options, ::std::shared_ptr<::FilePickerSettings> settings);
280 MCAPI
void _saveZIP(::PDFOptions options, ::std::shared_ptr<::FilePickerSettings> settings);
282 MCAPI
void _startLocalServerAsync(
283 ::std::
string const& levelId,
284 ::std::
string const& levelName,
285 ::ContentIdentity const& contentIdentity,
286 ::LevelSettings const& settings
290 addDownloadCallback(::std::weak_ptr<
bool> existenceTracker, ::std::function<
void(::DownloadStateObject&)> callback);
292 MCAPI
void addEduCredentialsObserver(::edu::auth::CredentialsObserver& observer);
294 MCAPI
void addEduDeeplinkObserver(::EduDeeplinkObserver& observer) const;
296 MCAPI
void addToRealmsBlocklist(
297 ::Realms::RealmId worldId,
298 ::std::
string const& currentUserXuid,
299 ::std::
string const& xuidToBlock,
300 ::std::function<
void(::Realms::GenericStatus)> callback
303 MCAPI
bool canEditPermissionsEDU(::ActorUniqueID const&
id);
305 MCAPI
bool canManageSubscriptionForStoreId(::std::
string const& storeId) const;
307 MCAPI
bool canUserDoActionForCurrentRealm(::Realms::PlayerRoleActions action) const;
309 MCAPI
bool canUserDoRealmRoleAction(::Realms::World const& realmWorld, ::Realms::PlayerRoleActions action) const;
311 MCAPI
void checkConnectionEvents();
313 MCAPI
void checkRealmsPaymentService(::std::function<
void(
bool)> callback);
315 MCAPI
void clearContentLogMessages();
317 MCAPI
void clearDevConsoleScreenMessages();
319 MCAPI
void clearTTSQueue();
321 MCAPI
void closeRealmsWorld(
322 ::Realms::RealmId worldId,
323 ::std::function<
void(::Realms::GenericStatus)> callback,
324 ::std::function<
void(
int)> retryCallback
327 MCAPI
void completeServerForm(uint formId, ::ModalFormCancelReason cancelReason);
329 MCAPI
void completeServerForm(uint formId, ::Json::Value response);
331 MCAPI
void confirmResourcePackDownload(
332 ::ResourcePackResponse response,
333 bool downloadOptionalResourcePacks,
334 bool forceServerPacksEnabled
337 MCAPI
void connectToPlatformNetwork(
338 ::std::function<
void(::Social::UserPlatformConnectionResult)> callback,
342 MCAPI ::std::
string copyWorld(::std::
string const& worldId);
344 MCAPI
void createAndUploadWorldToRealm(
345 ::LevelSummary const& levelSummary,
346 ::LevelSettings const& levelSettings,
347 ::Realms::World world,
348 ::std::function<
void(::Realms::World)> callback
351 MCAPI
void createAndUploadWorldToRealm(
352 ::std::
string const& levelId,
353 ::std::
string levelName,
354 ::LevelSettings const& settings,
355 ::Realms::World world,
356 ::std::function<
void(::Realms::World)> callback
359 MCAPI ::std::unique_ptr<::PlatformMultiplayerRestrictions> createPlatformMultiplayerRestrictions();
361 MCAPI
void deleteAllContentLogs() const;
363 MCAPI
void deleteAllDiagnosticsAndProfilerCaptures() const;
365 MCAPI
void deleteAllLocalScreenshots();
367 MCAPI
void deleteFeedItem(
368 ::Clubs::FeedItem const& activityItem,
369 ::Realms::RealmId realmId,
370 ::std::
string const& clubId,
371 ::std::function<
void(::Clubs::GenericStatus)> callback
374 MCAPI
void devConsoleExecuteCommand(::std::
string const& command);
376 MCAPI
void displayPremiumUpsellDialogAsync(::std::function<
void(
bool)> callback);
378 MCAPI
bool doesUserHavePremiumPlatformAccess() const;
380 MCAPI
bool doesUserPlatformConnectionAllowMultiplayer() const;
382 MCAPI
void fetchScreenshots(::std::vector<::Core::PathBuffer<::std::
string>>& results);
384 MCAPI ::std::
string filterProfanityFromString(
385 ::ProfanityFilterContext stringContext,
386 ::std::
string const& str,
387 bool allowFilterOverride
390 MCAPI
bool findProfanityInString(::ProfanityFilterContext stringContext, ::std::
string const& str) const;
392 MCAPI
void fireCodeBuilderCachePerformanceEvent(::CodeBuilderPerformance::Stage stage);
394 MCAPI
void fireEventScreenChanged(
395 ::std::
string const& screenName,
396 ::std::unordered_map<::std::
string, ::std::
string> const& additionalProperties
399 MCAPI
void fireEventUserListUpdated(
400 ::std::
string const& productId,
401 ::std::
string const& listId,
402 ::std::
string const& operation,
406 MCAPI
void fireSignOutEdu(::std::
string const& action, ::std::
string const& error) const;
409 fulfillPriorEduPurchase(::std::weak_ptr<::Purchase> purchase, ::std::unique_ptr<::TransactionContext> context);
411 MCAPI ::std::shared_ptr<::FilePickerSettings>
412 generateFilePickerSettingsForAlbum(::PDFOptions const& options, ::std::
string const& defaultOutName);
414 MCAPI ::std::shared_ptr<::FilePickerSettings> generateFilePickerSettingsForExport();
416 MCAPI ::std::shared_ptr<::FilePickerSettings> generateFilePickerSettingsForExport(
417 ::std::
string const& levelId,
418 ::std::
string const& levelName,
419 ::FileArchiver::ExportType type
422 MCAPI ::PlayerAchievementData const& getAchievementData() const;
424 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ActiveDirectoryIdentity const> getActiveDirectoryIdentity();
426 MCAPI ::std::
string getBuildDateISOString() const;
428 MCAPI
void getClubFeed(
429 ::std::
string const& clubID,
430 ::std::function<
void(::Clubs::ActivityFeed, ::Clubs::GenericStatus)> callback
433 MCAPI
void getClubProfile(
434 ::std::
string const& clubId,
435 ::std::function<
void(::Clubs::ClubModel, ::Clubs::GenericStatus)> callback
439 getClubUnreadCount(::std::
string const& clubId, ::std::function<
void(
int, ::Clubs::GenericStatus)> callback);
441 MCAPI
void getClubUnreadCounts(
442 ::std::vector<::std::
string> const& clubIds,
443 ::std::function<
void(::std::map<::std::
string,
int>, ::Clubs::GenericStatus)> callback
446 MCAPI ::MinecraftCommands& getCommands();
448 MCAPI ::std::vector<::ContentLogMessage> const& getContentLogMessages() const;
450 MCAPI ::ContentTierInfo getContentTierInfo() const;
452 MCAPI ::Realms::World& getCurrentRealm();
454 MCAPI ::std::
string getCurrentXUID() const;
456 MCAPI ::SkinHandle getCustomSkinHandle(::DefaultSkin skinType) const;
458 MCAPI
int getCustomSkinIndex() const;
460 MCAPI ::WireframeQueue* getDimensionWireframeQueue();
462 MCAPI ::std::
string getDisplayName() const;
464 MCAPI ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> getEDUCloudSaveSystem() const;
466 MCAPI ::IEDUDiscoveryService& getEDUDiscoveryService();
468 MCAPI
float getEDUServicePackProgress() const;
470 MCAPI ::std::
string getEduOfferPrice();
472 MCAPI ::EducationLevelSettings const* getEducationLevelSettings() const;
474 MCAPI ::std::optional<::Social::GameConnectionInfo> getGameConnectionInfo();
476 MCAPI ::IGameConnectionListener const& getGameConnectionListener();
478 MCAPI ::HitResult& getHitResult() const;
480 MCAPI
int getHotbarSlotCount() const;
482 MCAPI ::ResourceLocation const& getImageLocationFromImageRepository(::std::
string const& imageName) const;
484 MCAPI
bool getIsWaitingForSession() const;
486 MCAPI ::LevelData* getLevelData();
488 MCAPI ::LevelData* getLevelData(::std::
string const& levelID);
490 MCAPI
void getLinkedPlatformIds(
491 ::std::function<
void(::std::
string, ::std::
string)> callback,
492 ::std::vector<::std::
string> const& xuids
495 MCAPI
void getLinkedXuids(
496 ::std::function<
void(::std::
string, ::std::
string)> callback,
497 ::std::vector<::std::
string> const& platformIds
500 MCAPI ::ActorUniqueID getLocalPlayerEntityID() const;
502 MCAPI ::std::
string getMarketplacePassPrice(::std::
string const& productSku, ::std::
string const& caymanId) const;
504 MCAPI uint getMaxPlatformInvitablePlayers() const;
506 MCAPI ::std::
string getNetworkInfoStringInGame() const;
508 MCAPI
bool getNewJukeboxPopupItemText(::std::
string& newText,
bool& isCreative);
510 MCAPI
bool getNewPopupItemText(::std::
string& newText,
bool& isCreative);
512 MCAPI ::SDL::SubscriptionInfo const& getNextAvailableSubscriptionInfo() const;
514 MCAPI ::IOptions& getOptions() const;
516 MCAPI ::std::shared_ptr<::WebviewInterface> getOrCreateWebviewInterface(::WebviewInterfaceType interfaceType);
519 getPlatformFriendProfiles(::std::function<
void(::std::vector<::Social::PlatformUserProfileData> const&)> callback);
521 MCAPI
void getPlatformProfile(
522 ::std::
string const& platformId,
523 ::std::function<
void(::Social::PlatformUserProfileData&)> callback
526 MCAPI
short getPointerX() const;
528 MCAPI
short getPointerY() const;
530 MCAPI
void getProfiles(
531 ::std::vector<::std::
string> const& xuids,
532 ::std::function<
void(::std::vector<::Social::XboxLiveUserProfileData const*> const&)> batchedCollectionCallback
535 MCAPI ::std::
string getRandomSearchTermUsingCategory(::StoreCatalogCategory const& category) const;
537 MCAPI
void getRealmWorldBackupList(
538 ::Realms::RealmId worldId,
540 ::std::function<
void(::Realms::GenericStatus, ::Realms::WorldBackupList)> callback
543 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Realms::InvitesService> getRealmsInvitesService();
545 MCAPI
void getRealmsWorld(
546 ::Realms::RealmId worldId,
547 ::std::function<
void(::Realms::GenericStatus, ::Realms::World)> callback,
551 MCAPI ::std::shared_ptr<::Realms::WorldCache> getRealmsWorldCache();
553 MCAPI ::Realms::World getRealmsWorldContextWorld() const;
555 MCAPI
void getReportedFeedItem(
556 ::Clubs::ReportedItem const& reportedItem,
557 ::std::function<
void(::Clubs::ReportedItem const&, ::Clubs::FeedItem, ::Clubs::GenericStatus)> callback
560 MCAPI
void getReportedItemPaths(
561 ::std::
string const& clubId,
562 ::std::function<
void(::std::vector<::Clubs::ReportedItem>, ::Clubs::GenericStatus)> callback
565 MCAPI ::std::
string getScreenName() const;
567 MCAPI ::std::
string getScreenTelemetry() const;
569 MCAPI ::Core::PathBuffer<::std::
string> getScreenshotPath() const;
571 MCAPI ::std::vector<::StoreFilter::FilterCollectionInfo> const& getSessionConfigFilterCollections() const;
573 MCAPI ::std::
string getSessionConfigKnownPageKeyValue(::std::
string const& pageId) const;
575 MCAPI
bool getSimPaused() const;
577 MCAPI ::std::
string getSplitscreenJoinText() const;
579 MCAPI ::StoreContentSources getStoreContentSources() const;
581 MCAPI
bool getStoreHasRealmsProducts() const;
583 MCAPI ::std::
string getStoreId() const;
585 MCAPI ::SDL::SubscriptionInfo const& getSubscriptionFullPriceInfo() const;
587 MCAPI
void getThirdPartyDisplayPicture(
588 ::std::
string const& playerId,
589 ::std::function<
void(::Core::Path const&)> callback,
593 MCAPI
bool getTipText(::std::
string& text);
595 MCAPI
void getUserMemberOfWorldsCount(::std::function<
void(::Realms::GenericStatus,
bool)> callback);
597 MCAPI ::std::vector<::std::
string> getUuidsInLobby() const;
599 MCAPI ::std::
string getVersionString() const;
601 MCAPI ::std::shared_ptr<::WebviewInterface> getWebviewInterface(::WebviewInterfaceType interfaceType);
603 MCAPI ::std::
string getWorldConverterDevVersionNumberString() const;
605 MCAPI ::LoadingState getWorldLoadingState() const;
607 MCAPI ::PurchaseResult goToExternalPlatformOffer(
608 ::std::
string const& offerId,
609 ::std::function<
void(
bool)> finishedExternalCoinPurchase,
610 ::std::function<
void(
bool,
int)> boughtEnoughCoinsCallback
613 MCFOLD
bool hasExternalCoinPurchases() const;
615 MCAPI
bool hasInteractButton() const;
617 MCAPI
bool hasLocalDeviceEntitlements() const;
619 MCAPI
bool hasPlatformIcons() const;
621 MCAPI
bool hasPlatformProfileCards() const;
623 MCAPI
void ignoreReportedFeedItem(
624 ::Clubs::ReportedItem const& activityItem,
625 ::std::
string const& reason,
626 ::std::
string const& clubId,
627 ::std::function<
void(::Clubs::GenericStatus)> callback
630 MCAPI
void initializeRealmsWorld(
631 ::Realms::RealmId worldId,
632 ::std::
string const& name,
633 ::std::
string const& description,
634 ::std::function<
void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
637 MCAPI
bool isBanned() const;
639 MCAPI
bool isCreative() const;
641 MCAPI
bool isCrossPlatformPlayEnabled() const;
643 MCAPI
bool isDeviceBeingSunset() const;
645 MCAPI
bool isDeviceSunset() const;
647 MCAPI
bool isDisconnectedFromNEX() const;
649 MCAPI
bool isDisconnectedFromPSN() const;
651 MCAPI
bool isEditorModeEnabled() const;
653 MCAPI
bool isEduDemo();
655 MCFOLD
bool isEduMode() const;
657 MCAPI
bool isFeatureEnabled(::MinecraftGameFeatures feature) const;
659 MCAPI
bool isHotbarOnlyTouch() const;
661 MCAPI
bool isInputModeTouch() const;
663 MCAPI
bool isInviteEnabled(::Social::MultiplayerServiceIdentifier serviceIdentifier) const;
665 MCAPI
bool isLeftHanded() const;
667 MCAPI
bool isNetworkAvailable() const;
669 MCAPI
bool isOnSceneStack(::std::
string const& screenName);
671 MCAPI
bool isOperator() const;
673 MCAPI
bool isOreUIModerationEnabled() const;
675 MCAPI
bool isPlatformInviteEnabled() const;
677 MCFOLD
bool isPlatformThirdPartyConsole() const;
679 MCAPI
bool isPremiumOwnedMissing(::PackIdVersion const&
id, ::ContentIdentity const& contentIdentity) const;
681 MCFOLD
bool isPremiumPlatformAccessRequiredForMatchmaking() const;
683 MCAPI
bool isRealmLevel() const;
685 MCAPI
bool isRealmOwner() const;
687 MCAPI
bool isRealmsEditWorldOreUIFeatureOn() const;
689 MCAPI
bool isRealmsInitialized() const;
691 MCAPI
bool isResourceLoadingFinished() const;
693 MCAPI
bool isRiding() const;
695 MCAPI
bool isServiceMultiplayerEnabled(::Social::MultiplayerServiceIdentifier serviceID) const;
697 MCAPI
bool isServiceMultiplayerSupported(::Social::MultiplayerServiceIdentifier serviceID);
699 MCAPI
bool isServicesLocalizationReady() const;
701 MCAPI
bool isSessionConfigAndLocalizationReady() const;
703 MCAPI
bool isSessionConfigRetrievalDelayed() const;
705 MCAPI
bool isSessionInfoValid(::Social::MultiplayerServiceIdentifier serviceID) const;
707 MCAPI
bool isSignInInProgress() const;
709 MCAPI
bool isSignedInToAdhoc() const;
711 MCAPI
bool isSignedInToNEX() const;
713 MCAPI
bool isSignedInToPSN() const;
715 MCAPI
bool isSignedInToPlayFabOfflineAndNetworkDisconnected() const;
717 MCAPI
bool isSignedInToPlayfab() const;
719 MCAPI
bool isSignedInToXBL() const;
721 MCAPI
bool isUITTSEnabled() const;
723 MCFOLD
bool isUnableToShowXBLLogo() const;
725 MCAPI
bool isValidRealmName(::std::
string name);
727 MCAPI
void joinEDUDiscoveredWorld();
729 MCAPI
void joinRealmFromInvite(::Realms::World world);
731 MCAPI
void joinRealmsWorld(
732 ::Realms::World world,
733 ::std::function<
void(::Social::GameConnectionInfo const&,
bool)> successCallback,
734 ::std::function<
void(::Realms::GenericStatus, ::RealmsAPI::JoinStatus, ::Realms::FailureReason)> failCallback,
735 ::std::function<
void(
int)> retryCallback,
736 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
737 ::std::function<
void(::IMinecraftEventing::RealmConnectionFlow)> broadcastConnectionEventRealmsRequestFunction,
738 ::std::function<
void(::IMinecraftEventing::RealmConnectionFlow, ::Bedrock::Http::StatusCode)>
739 broadcastConnectionEventRealmsResponseFunction
742 MCAPI
void launchEduUri(::std::
string const& baseUrl);
744 MCAPI
bool launchManageSubscriptions();
746 MCAPI
bool launchStoreForClientUpdates();
748 MCAPI
void launchUri(::std::
string const& uri);
750 MCAPI
void launchUserGeneratedUri(::std::
string const& uri, ::UserGeneratedUriSource source,
bool recordEvent);
752 MCAPI
void leaveRealmsWorld(::Realms::RealmId worldId, ::std::function<
void(::Realms::GenericStatus)> callback);
754 MCAPI
void loadStoreDataDrivenScreenFromSidebar(::StoreDataDrivenScreenParams& params);
756 MCAPI
void makeBackupOfLevel(::LevelSummary const& editedLevel);
758 MCAPI
bool multiplayerLostConnectionToSignalingService() const;
760 MCAPI
void navigateToControlCustomizationScreen();
762 MCAPI
void navigateToDevConsole();
764 MCAPI
void navigateToDisconnectScreen(::Connection::DisconnectFailReason reason);
766 MCAPI
void navigateToEduHomeScreen();
768 MCAPI
void navigateToFeedScreen(::Realms::World const& world);
770 MCAPI
void navigateToFeedbackPopup();
772 MCAPI
void navigateToInviteScreen();
774 MCAPI
void navigateToModalProgressScreen(
775 ::std::
string const& uniqueEventName,
776 ::std::unique_ptr<::ProgressHandler> progressHandler,
777 bool forceRenderBelow,
778 ::std::
string const& screenNameOverride,
782 MCAPI
void navigateToOptionsScreen(
783 ::SettingsTabIndex startingTabIndex,
784 bool navToMenuOnExit,
785 bool maintainOldFocus,
786 ::std::
string const& initialPackId
789 MCAPI
void navigateToPlatformNetworkConnectConfirmationScreen(::std::function<
void(
bool)> callback);
791 MCAPI
void navigateToPlatformStoreConnectConfirmationScreen(::std::function<
void(
bool)> callback);
793 MCAPI
void navigateToRealmsSlotSettingsScreen(::Realms::World const& world);
795 MCAPI
void navigateToRealmsSlotsScreen(::Realms::World const& worldWithoutSlotInfo);
797 MCAPI
void navigateToSkinPickerScreen();
799 MCAPI
void navigateToStartScreen();
801 MCAPI
void navigateToStoreHomeScreen(::std::
string const& title);
803 MCAPI
void navigateToTokenPopupScreen();
805 MCAPI
void navigateToUpdateWorldHeightScreen(::std::function<
void(
bool)> startWorldCallback);
807 MCAPI
bool needPlatformConnectionBeforeXBLSignIn() const;
809 MCAPI
bool needPlatformConnectionForSplitScreenMultiplayer() const;
811 MCAPI
void openBannedModal();
813 MCAPI
void openRealmsWorld(
814 ::Realms::RealmId worldId,
815 ::std::function<
void(::Realms::GenericStatus)> callback,
816 ::std::function<
void(
int)> retryCallback
819 MCAPI
void prepareToNavigateToGamePlayScreen();
821 MCAPI
bool purchaseEduLicense(::std::unique_ptr<::TransactionContext> context);
823 MCAPI
void pushToast(::ToastMessage message);
825 MCAPI
void rebindKeys();
828 refreshCurrentRealmWorldInfo(::std::function<
void(::Realms::GenericStatus, ::Realms::World const&)> callback);
830 MCAPI
void removeFromRealmsBlocklist(
831 ::Realms::RealmId worldId,
832 ::std::
string const& xuid,
833 ::std::function<
void(::Realms::GenericStatus)> callback
836 MCAPI
void requestPlayerPermissions(::LayeredAbilities const& abilities, ::ActorUniqueID playerId);
838 MCAPI
bool requiresXBLSigninToPlay() const;
840 MCAPI
void resetActiveDirectoryAuthenticationState();
842 MCAPI
void resetRealmsWorld(
843 ::Realms::RealmId worldId,
844 ::std::function<
void(::Realms::GenericStatus)> callback,
845 ::std::function<
void(
int)> retryCallback
848 MCAPI
void resetRealmsWorldContext();
850 MCAPI
void saveLevelData(::std::
string const& levelId, ::LevelData const& data);
852 MCAPI
void scheduleCheckUserStorageAsync();
854 MCAPI
void sendPurchaseReceiptsToServer();
856 MCAPI
void sendSettingsCommandPacket(::std::
string const& command,
bool supressOutput);
858 MCAPI
void sendTrialWelcomeMessage();
860 MCAPI
bool serverPermissionOpenChat() const;
862 MCAPI
void setActiveDirectoryAuthenticationStateComplete();
864 MCAPI
void setActiveDirectoryDemoVersion();
866 MCAPI
void setActiveSlot(
867 ::Realms::RealmId worldId,
869 ::std::function<
void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
872 MCAPI
void setClubProfile(::Clubs::ClubModel const& model, ::std::function<
void(::Clubs::GenericStatus)> callback);
874 MCAPI
void setIsCheckoutInProgress(
bool isCheckoutInProgress);
876 MCAPI
void setIsInGameBrowsing(
bool isInGameBrowsing);
878 MCAPI
void setLanguage();
880 MCAPI
void setLastSelectedSlot(
int slot, ::ContainerID containerId);
882 MCAPI
void setNumberOfOwnedRealms(
int number);
884 MCAPI
void setPlayerGameType(::GameType const& gameType);
886 MCAPI
void setRealmsWorldInfo(
887 ::Realms::World world,
890 ::std::function<
void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
893 MCAPI
void setShareData(::std::
string shareTitle, ::std::
string shareText, ::std::
string shareUri);
895 MCAPI
void setSimPaused(
bool paused);
897 MCAPI
void setViewedFeedItem(
898 ::Clubs::FeedItem const& activityItem,
899 ::Realms::RealmId realmId,
900 ::std::
string const& clubId,
902 ::std::function<
void(::Clubs::GenericStatus)> callback
905 MCAPI
bool shouldShowThirdPartyDisconnected() const;
907 MCAPI
bool shouldShowVersionUpdateScreen();
909 MCAPI
void showFriendFinder(::std::function<
void()> callback);
911 MCAPI
bool showSignInButton() const;
913 MCAPI
void showStoreFeaturesDisabledWhenSignedOutScreen();
916 ::std::function<
void()> connectionCompleteCallback,
917 ::Social::IdentitySignInTrigger signInTrigger,
918 ::std::
string const& signInSource,
919 ::std::function<
void(::Social::MultiIdentitySigninResult)> signInCompleteCallback
922 MCAPI
void signOut(::std::function<
void(::Identity::SignOutResult)> callback);
924 MCAPI
void silentSignin(
925 ::Social::IdentitySignInTrigger signInTrigger,
926 ::std::
string const& signInSource,
927 ::std::function<
void(::Social::MultiIdentitySigninResult)> callback
930 MCAPI
void startExternalNetworkWorld(::std::
string const& serverName, ::std::
string const& ipAddress,
int port);
932 MCAPI
void startGatheringWorld(::Social::GameConnectionInfo const& connection);
934 MCAPI
void startLocalServerAsync(::LevelSummary const& levelSummary, ::LevelSettings const& levelSettings);
937 startLocalServerAsync(::std::
string const& levelId, ::std::
string levelName, ::LevelSettings const& settings);
939 MCAPI
bool supportsTTSLanguage(::std::
string const& languageCode) const;
941 MCAPI ::Bedrock::Threading::Async<::Core::PathBuffer<::std::
string>> takeScreenshotForUploading();
943 MCAPI
bool tryNavigateToXblImmediateSignInScreen_DEPRECATED(
944 ::std::
string const& signInSource,
945 ::std::function<
void()> callBackAfterSignIn,
946 ::std::function<
void()> callBackAfterCancel
949 MCAPI
bool updateEDUServicePackSystem() const;
951 MCAPI
void updateRealmsAllowList(
952 ::Realms::RealmId worldId,
953 ::std::
string const& currentUserXuid,
954 ::std::map<::std::
string, ::RealmsAPI::InviteAction> xuidList,
955 ::std::function<
void(::Realms::GenericStatus, ::Realms::World)> callback
958 MCAPI
bool wasSessionCreated(::Social::MultiplayerServiceIdentifier serviceID) const;
964 MCAPI static uint& mSceneInstanceCounter();
970 MCAPI
void* $ctor(::MinecraftScreenModel::
Context context);
982 MCAPI
bool $tryNavigateToProfileScreen();
984 MCAPI
bool $tryNavigateToSafeZoneScreenOnFirstSignin();
987 $navigateToStoreDataDrivenScreen(::StoreDataDrivenScreenParams const& params,
bool forceDisableProgressScreen);
989 MCAPI
bool $leaveScreen(::std::
string expectedScreenName,
bool onlyThis);
991 MCAPI
void $popScreensBackTo(::ui::SceneType const sceneType);
993 MCAPI
bool $isLeaveGameDone() const;
995 MCAPI
void $requestLeaveGame(
bool switchScreen,
bool sync);
997 MCAPI
void $destroyGame();
999 MCFOLD
bool $isInGame() const;
1001 MCFOLD
bool $isSelectedSkinInitialized() const;
1003 MCAPI ::SubClientId $getSubClientId() const;
1005 MCFOLD
bool $platformTTSExists() const;
1007 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::DlcId> const& dlcIds);
1009 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::std::
string> const& productIds);
1011 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::PackIdVersion> const& packIds);
1013 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> $getStoreCatalogRepository() const;
1015 MCFOLD
float $getStoreNetworkFailureTimeout() const;
1017 MCAPI
bool $isAdhocEnabled() const;
1019 MCAPI
bool $isUserReady() const;
1021 MCFOLD
bool $isDirty() const;
1023 MCAPI ::ResourcePackManager& $getResourcePackManager() const;
1025 MCAPI ::SkinHandle const& $getSelectedSkinHandle() const;
1027 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> $getUserManager();
1029 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const $getUserManager() const;
1031 MCAPI ::std::
string const& $getLastPoppedScreenName() const;
1033 MCAPI ::INetworkGameConnector& $getNetworkGameConnector();
Definition AbstractScene.h:5
Definition ActiveDirectoryIdentity.h:33
Definition ClientInstanceModel.h:5
Definition ActivityFeed.h:7
Definition ContentIdentity.h:8
Definition ContentTierInfo.h:5
Definition EduDeeplinkObserver.h:5
Definition FilePickerSettings.h:5
Definition HitResult.h:17
Definition IAdvancedGraphicsOptions.h:16
Definition IClientInstance.h:5
Definition IDlcBatchModel.h:5
Definition IDlcBatcher.h:5
Definition IEDUDiscoveryService.h:5
Definition IGameConnectionListener.h:5
Definition IMinecraftGame.h:5
Definition IMinecraftScreenModel.h:5
Definition INetworkGameConnector.h:5
Definition ISceneStack.h:5
Definition IScreenCapabilities.h:8
Definition LayeredAbilities.h:19
Definition LevelData.h:52
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 PlayerAchievementData.h:5
Definition ProgressHandler.h:5
Definition InvitesService.h:7
Definition WorldCache.h:7
Definition ResourceLocation.h:15
Definition ResourcePackManager.h:30
Definition SceneFactory.h:5
Definition SkinHandle.h:5
Definition SkinPackCollectionModel.h:5
Definition FriendList.h:7
Definition GameConnectionInfo.h:21
Definition IUserManager.h:34
Definition TaskGroup.h:57
Definition ToastMessage.h:5
Definition WebviewInterface.h:5
Definition WireframeQueue.h:5
Definition ActorUniqueID.h:5
Definition ReportedItem.h:7
Definition ContentLogMessage.h:5
Definition DownloadStateObject.h:5
Definition IEduCloudSaveSystem.h:7
Definition EducationLevelSettings.h:17
Definition SignOutResult.h:7
Definition LevelSummary.h:30
Definition MinecraftScreenModel.h:15
Definition PDFOptions.h:5
Definition PackIdVersion.h:10
Definition WorldBackupList.h:7
Definition SubscriptionInfo.h:7
Definition MultiIdentitySigninResult.h:7
Definition XboxLiveUserProfileData.h:7
Definition StoreDataDrivenScreenParams.h:5
Definition FilterCollectionInfo.h:7
Definition CredentialsObserver.h:25