LeviLamina
Loading...
Searching...
No Matches
MinecraftScreenModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
40
41// auto generated forward declare list
42// clang-format off
43class AbstractScene;
46class ContentIdentity;
47class ContentTierInfo;
50class HitResult;
52class IClientInstance;
53class IDlcBatchModel;
54class IMinecraftGame;
55class IOptions;
56class ISceneStack;
59class LevelData;
60class LevelSettings;
62class PackManifest;
66class SceneFactory;
68class TaskGroup;
69class ToastMessage;
71struct ActorUniqueID;
73struct DlcId;
79struct LevelSummary;
80struct PDFOptions;
81struct PackIdVersion;
83struct ProgressHandler;
84struct Purchase;
85struct RealmsAPI;
86struct SkinHandle;
87struct StoreCatalogRepository;
88struct StoreContentSources;
90struct TransactionContext;
91struct WireframeQueue;
92namespace Clubs { struct ActivityFeed; }
93namespace Clubs { struct ClubModel; }
94namespace Clubs { struct FeedItem; }
95namespace Clubs { struct ReportedItem; }
96namespace Core { class Path; }
97namespace EduCloud { struct IEduCloudSaveSystem; }
98namespace Identity { struct SignOutResult; }
99namespace Json { class Value; }
100namespace Realms { struct Backup; }
101namespace Realms { struct InvitesService; }
102namespace Realms { struct RealmId; }
103namespace Realms { struct World; }
104namespace Realms { struct WorldCache; }
105namespace SDL { struct SubscriptionInfo; }
106namespace Social { class GameConnectionInfo; }
107namespace Social { class IUserManager; }
108namespace Social { struct FriendList; }
109namespace Social { struct MultiIdentitySigninResult; }
110namespace Social { struct PermissionCheckResult; }
111namespace Social { struct PlatformUserProfileData; }
112namespace Social { struct XboxLiveUserProfileData; }
113namespace StoreFilter { struct FilterCollectionInfo; }
114namespace edu::auth { struct CredentialsObserver; }
115// clang-format on
116
118 public ::IDlcBatcher,
119 public ::std::enable_shared_from_this<::MinecraftScreenModel> {
120public:
121 // MinecraftScreenModel inner types declare
122 // clang-format off
123 struct Context;
124 // clang-format on
125
126 // MinecraftScreenModel inner types define
127 enum class FriendsDrawerLocation : int {};
128
129 struct Context {};
130
131public:
132 // member variables
133 // NOLINTBEGIN
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;
158 // NOLINTEND
159
160public:
161 // prevent constructor by default
162 MinecraftScreenModel& operator=(MinecraftScreenModel const&);
163 MinecraftScreenModel(MinecraftScreenModel const&);
164 MinecraftScreenModel();
165
166public:
167 // virtual functions
168 // NOLINTBEGIN
169 virtual ~MinecraftScreenModel() /*override*/;
170
171 virtual void
172 navigateToDisconnectScreen(::Connection::DisconnectFailReason reason, ::std::string const& displayMessageOverride);
173
174 virtual bool tryNavigateToProfileScreen() /*override*/;
175
176 virtual bool tryNavigateToSafeZoneScreenOnFirstSignin() /*override*/;
177
178 virtual void navigateToStoreDataDrivenScreen(
179 ::StoreDataDrivenScreenParams const& params,
180 bool forceDisableProgressScreen
181 ) /*override*/;
182
183 virtual bool leaveScreen(::std::string expectedScreenName, bool onlyThis) /*override*/;
184
185 virtual bool isInGame() const;
186
187 virtual bool isSelectedSkinInitialized() const;
188
189 virtual ::SubClientId getSubClientId() const /*override*/;
190
191 virtual bool platformTTSExists() const;
192
193 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::DlcId> const& dlcIds) /*override*/;
194
195 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::std::string> const& productIds) /*override*/;
196
197 virtual ::IDlcBatchModel& getDlcBatchModel(::std::vector<::PackIdVersion> const& packIds) /*override*/;
198
199 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() const;
200
201 virtual float getStoreNetworkFailureTimeout() const;
202
203 virtual bool isAdhocEnabled() const;
204
205 virtual bool isDirty() const;
206
207 virtual ::SkinHandle const& getSelectedSkinHandle() const;
208
209 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager() /*override*/;
210
211 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const getUserManager() const /*override*/;
212
213 virtual ::std::string const& getLastPoppedScreenName() const;
214 // NOLINTEND
215
216public:
217 // member functions
218 // NOLINTBEGIN
219 MCAPI void DEPRECATED_navigateToRealmsPlusPDPScreen(
220 ::RealmsPlusTabIndex tabIndex,
221 ::std::function<void(::Realms::World&)> onCreateCallback
222 );
223
224 MCAPI explicit MinecraftScreenModel(::MinecraftScreenModel::Context context);
225
226 MCAPI ::RealmsAPI& _checkAndGetRealmsAPI() const;
227
228 MCAPI bool _isPremium(::PackManifest const& manifest) const;
229
230 MCAPI bool _isPremiumLocked(::PackManifest const& manifest) const;
231
232 MCAPI ::Bedrock::Threading::Async<void> _queueForMainThread(::std::function<void()>&& callback);
233
234 MCAPI void _savePDF(::PDFOptions options, ::std::shared_ptr<::FilePickerSettings> settings);
235
236 MCAPI void _saveZIP(::PDFOptions options, ::std::shared_ptr<::FilePickerSettings> settings);
237
238 MCAPI void _startLocalServerAsync(
239 ::std::string const& levelId,
240 ::std::string const& levelName,
241 ::ContentIdentity const& contentIdentity,
242 ::LevelSettings const& settings
243 );
244
245 MCAPI void
246 addDownloadCallback(::std::weak_ptr<bool> existenceTracker, ::std::function<void(::DownloadStateObject&)> callback);
247
248 MCAPI void addEduCredentialsObserver(::edu::auth::CredentialsObserver& observer);
249
250 MCAPI void addEduDeeplinkObserver(::EduDeeplinkObserver& observer) const;
251
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
257 );
258
259 MCAPI bool canEditPermissionsEDU(::ActorUniqueID const& id);
260
261 MCAPI bool canManageSubscriptionForStoreId(::std::string const& storeId) const;
262
263 MCAPI void cancelJoinGame(::LoadingState loadingState);
264
265 MCAPI void checkConnectionEvents();
266
267 MCAPI void checkRealmsPaymentService(::std::function<void(bool)> callback);
268
269 MCAPI void clearContentLogMessages();
270
271 MCAPI void clearDevConsoleScreenMessages();
272
273 MCAPI void clearTTSQueue();
274
275 MCAPI void closeRealmsWorld(
276 ::Realms::RealmId worldId,
277 ::std::function<void(::Realms::GenericStatus)> callback,
278 ::std::function<void(int)> retryCallback
279 );
280
281 MCAPI void completeServerForm(uint formId, ::ModalFormCancelReason cancelReason);
282
283 MCAPI void completeServerForm(uint formId, ::Json::Value response);
284
285 MCAPI void confirmResourcePackDownload(
286 ::ResourcePackResponse response,
287 bool downloadOptionalResourcePacks,
288 bool forceServerPacksEnabled
289 );
290
291 MCAPI void connectToPlatformNetwork(
292 ::std::function<void(::Social::UserPlatformConnectionResult)> callback,
293 bool isUserInitiated
294 );
295
296 MCAPI ::std::string copyWorld(::std::string const& worldId);
297
298 MCAPI void createAndUploadWorldToRealm(
299 ::LevelSummary const& levelSummary,
300 ::LevelSettings const& levelSettings,
301 ::Realms::World world,
302 ::std::function<void(::Realms::World)> callback
303 );
304
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
311 );
312
313 MCAPI ::std::unique_ptr<::PlatformMultiplayerRestrictions> createPlatformMultiplayerRestrictions();
314
315 MCAPI void deleteAllContentLogs() const;
316
317 MCAPI void deleteAllDiagnosticsAndProfilerCaptures() const;
318
319 MCAPI void deleteAllLocalScreenshots();
320
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
326 );
327
328 MCAPI void destroyGame();
329
330 MCAPI void devConsoleExecuteCommand(::std::string const& command);
331
332 MCAPI void displayPremiumUpsellDialogAsync(::std::function<void(bool)> callback);
333
334 MCAPI bool doesUserHavePremiumPlatformAccess() const;
335
336 MCAPI bool doesUserPlatformConnectionAllowMultiplayer() const;
337
338 MCAPI void fetchScreenshots(::std::vector<::Core::PathBuffer<::std::string>>& results);
339
340 MCAPI ::std::string filterProfanityFromString(
341 ::ProfanityFilterContext stringContext,
342 ::std::string const& str,
343 bool allowFilterOverride
344 ) const;
345
346 MCAPI bool findProfanityInString(::ProfanityFilterContext stringContext, ::std::string const& str) const;
347
348 MCAPI void fireCodeBuilderCachePerformanceEvent(::CodeBuilderPerformance::Stage stage);
349
350 MCAPI void fireEventScreenChanged(
351 ::std::string const& screenName,
352 ::std::unordered_map<::std::string, ::std::string> const& additionalProperties
353 );
354
355 MCAPI void fireEventUserListUpdated(
356 ::std::string const& productId,
357 ::std::string const& listId,
358 ::std::string const& operation,
359 bool success
360 );
361
362 MCAPI void fireSignOutEdu(::std::string const& action, ::std::string const& error) const;
363
364 MCFOLD bool
365 fulfillPriorEduPurchase(::std::weak_ptr<::Purchase> purchase, ::std::unique_ptr<::TransactionContext> context);
366
367 MCAPI ::std::shared_ptr<::FilePickerSettings>
368 generateFilePickerSettingsForAlbum(::PDFOptions const& options, ::std::string const& defaultOutName);
369
370 MCAPI ::std::shared_ptr<::FilePickerSettings> generateFilePickerSettingsForExport();
371
372 MCAPI ::std::shared_ptr<::FilePickerSettings> generateFilePickerSettingsForExport(
373 ::std::string const& levelId,
374 ::std::string const& levelName,
375 ::FileArchiver::ExportType type
376 );
377
378 MCAPI ::PlayerAchievementData const& getAchievementData() const;
379
380 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ActiveDirectoryIdentity const> getActiveDirectoryIdentity();
381
382 MCAPI ::std::string getBuildDateISOString() const;
383
384 MCAPI void getClubFeed(
385 ::std::string const& clubID,
386 ::std::function<void(::Clubs::ActivityFeed, ::Clubs::GenericStatus)> callback
387 );
388
389 MCAPI void getClubProfile(
390 ::std::string const& clubId,
391 ::std::function<void(::Clubs::ClubModel, ::Clubs::GenericStatus)> callback
392 );
393
394 MCAPI void
395 getClubUnreadCount(::std::string const& clubId, ::std::function<void(int, ::Clubs::GenericStatus)> callback);
396
397 MCAPI void getClubUnreadCounts(
398 ::std::vector<::std::string> const& clubIds,
399 ::std::function<void(::std::map<::std::string, int>, ::Clubs::GenericStatus)> callback
400 );
401
402 MCAPI ::MinecraftCommands& getCommands();
403
404 MCAPI ::std::vector<::ContentLogMessage> const& getContentLogMessages() const;
405
406 MCAPI ::ContentTierInfo getContentTierInfo() const;
407
408 MCAPI ::Realms::World& getCurrentRealm();
409
410 MCAPI ::std::string getCurrentXUID() const;
411
412 MCAPI ::SkinHandle getCustomSkinHandle(::DefaultSkin skinType) const;
413
414 MCAPI int getCustomSkinIndex() const;
415
416 MCAPI ::WireframeQueue* getDimensionWireframeQueue();
417
418 MCAPI ::std::string getDisplayName() const;
419
420 MCAPI ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> getEDUCloudSaveSystem() const;
421
422 MCAPI ::IEDUDiscoveryService& getEDUDiscoveryService();
423
424 MCAPI float getEDUServicePackProgress() const;
425
426 MCAPI ::std::string getEduOfferPrice();
427
428 MCAPI ::EducationLevelSettings const* getEducationLevelSettings() const;
429
430 MCAPI ::std::optional<::Social::GameConnectionInfo> getGameConnectionInfo();
431
432 MCAPI ::IGameConnectionListener const& getGameConnectionListener();
433
434 MCAPI ::HitResult& getHitResult() const;
435
436 MCAPI int getHotbarSlotCount() const;
437
438 MCAPI ::ResourceLocation const& getImageLocationFromImageRepository(::std::string const& imageName) const;
439
440 MCAPI bool getIsWaitingForSession() const;
441
442 MCAPI ::LevelData* getLevelData();
443
444 MCAPI ::LevelData* getLevelData(::std::string const& levelID);
445
446 MCAPI void getLinkedPlatformIds(
447 ::std::function<void(::std::string, ::std::string)> callback,
448 ::std::vector<::std::string> const& xuids
449 ) const;
450
451 MCAPI void getLinkedXuids(
452 ::std::function<void(::std::string, ::std::string)> callback,
453 ::std::vector<::std::string> const& platformIds
454 ) const;
455
456 MCAPI ::ActorUniqueID getLocalPlayerEntityID() const;
457
458 MCAPI ::std::string getLocalizedStoreDisplayName(::std::string const& storeId);
459
460 MCAPI ::std::string getMarketplacePassPrice(::std::string const& productSku, ::std::string const& caymanId) const;
461
462 MCAPI uint getMaxPlatformInvitablePlayers() const;
463
464 MCAPI ::std::string getNetworkInfoStringInGame() const;
465
466 MCAPI bool getNewJukeboxPopupItemText(::std::string& newText, bool& isCreative);
467
468 MCAPI bool getNewPopupItemText(::std::string& newText, bool& isCreative);
469
470 MCAPI ::SDL::SubscriptionInfo const& getNextAvailableSubscriptionInfo() const;
471
472 MCAPI ::IOptions& getOptions() const;
473
474 MCAPI ::std::shared_ptr<::WebviewInterface> getOrCreateWebviewInterface(::WebviewInterfaceType interfaceType);
475
476 MCAPI void
477 getPlatformFriendProfiles(::std::function<void(::std::vector<::Social::PlatformUserProfileData> const&)> callback);
478
479 MCAPI void getPlatformProfile(
480 ::std::string const& platformId,
481 ::std::function<void(::Social::PlatformUserProfileData&)> callback
482 );
483
484 MCAPI short getPointerX() const;
485
486 MCAPI short getPointerY() const;
487
488 MCAPI void getProfiles(
489 ::std::vector<::std::string> const& xuids,
490 ::std::function<void(::std::vector<::Social::XboxLiveUserProfileData const*> const&)> batchedCollectionCallback
491 );
492
493 MCAPI ::std::string getRandomSearchTermUsingCategory(::StoreCatalogCategory const& category) const;
494
495 MCAPI void getRealmWorldBackups(
496 ::Realms::RealmId worldId,
497 ::std::function<void(::Realms::GenericStatus, ::std::vector<::Realms::Backup>)> callback
498 );
499
500 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Realms::InvitesService> getRealmsInvitesService();
501
502 MCAPI void getRealmsWorld(
503 ::Realms::RealmId worldId,
504 ::std::function<void(::Realms::GenericStatus, ::Realms::World)> callback,
505 bool userWaiting
506 );
507
508 MCAPI ::std::shared_ptr<::Realms::WorldCache> getRealmsWorldCache();
509
510 MCAPI ::Realms::World getRealmsWorldContextWorld() const;
511
512 MCAPI void getReportedFeedItem(
513 ::Clubs::ReportedItem const& reportedItem,
514 ::std::function<void(::Clubs::ReportedItem const&, ::Clubs::FeedItem, ::Clubs::GenericStatus)> callback
515 );
516
517 MCAPI void getReportedItemPaths(
518 ::std::string const& clubId,
519 ::std::function<void(::std::vector<::Clubs::ReportedItem>, ::Clubs::GenericStatus)> callback
520 );
521
522 MCAPI ::std::string getScreenName() const;
523
524 MCAPI ::std::string getScreenTelemetry() const;
525
526 MCAPI ::Core::PathBuffer<::std::string> getScreenshotPath() const;
527
528 MCAPI ::std::vector<::StoreFilter::FilterCollectionInfo> const& getSessionConfigFilterCollections() const;
529
530 MCAPI ::std::string getSessionConfigKnownPageKeyValue(::std::string const& pageId) const;
531
532 MCAPI bool getSimPaused() const;
533
534 MCAPI ::std::string getSplitscreenJoinText() const;
535
536 MCAPI ::StoreContentSources getStoreContentSources() const;
537
538 MCAPI bool getStoreHasRealmsProducts() const;
539
540 MCAPI ::std::string getStoreId() const;
541
542 MCAPI ::SDL::SubscriptionInfo const& getSubscriptionFullPriceInfo() const;
543
544 MCAPI void getThirdPartyDisplayPicture(
545 ::std::string const& playerId,
546 ::std::function<void(::Core::Path const&)> callback,
547 bool isLocal
548 );
549
550 MCAPI bool getTipText(::std::string& text);
551
552 MCAPI void getUserMemberOfWorldsCount(::std::function<void(::Realms::GenericStatus, bool)> callback);
553
554 MCAPI ::std::vector<::std::string> getUuidsInLobby() const;
555
556 MCAPI ::std::string getVersionString() const;
557
558 MCAPI ::std::shared_ptr<::WebviewInterface> getWebviewInterface(::WebviewInterfaceType interfaceType);
559
560 MCAPI ::std::string getWorldConverterDevVersionNumberString() const;
561
562 MCAPI ::LoadingState getWorldLoadingState() const;
563
564 MCAPI ::PurchaseResult goToExternalPlatformOffer(
565 ::std::string const& offerId,
566 ::std::function<void(bool)> finishedExternalCoinPurchase,
567 ::std::function<void(bool, int)> boughtEnoughCoinsCallback
568 );
569
570 MCFOLD bool hasExternalCoinPurchases() const;
571
572 MCAPI bool hasInteractButton() const;
573
574 MCAPI bool hasLocalDeviceEntitlements() const;
575
576 MCAPI bool hasPlatformIcons() const;
577
578 MCAPI bool hasPlatformProfileCards() const;
579
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
585 );
586
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
592 );
593
594 MCAPI bool isBanned() const;
595
596 MCAPI bool isCreative() const;
597
598 MCAPI bool isCrossPlatformPlayEnabled() const;
599
600 MCAPI bool isDeviceBeingSunset() const;
601
602 MCAPI bool isDeviceSunset() const;
603
604 MCAPI bool isDisconnectedFromNEX() const;
605
606 MCAPI bool isDisconnectedFromPSN() const;
607
608 MCAPI bool isEditorModeEnabled() const;
609
610 MCAPI bool isEduDemo();
611
612 MCFOLD bool isEduMode() const;
613
614 MCAPI bool isFeatureEnabled(::MinecraftGameFeatures feature) const;
615
616 MCAPI bool isHotbarOnlyTouch() const;
617
618 MCAPI bool isInputModeTouch() const;
619
620 MCAPI bool isInviteEnabled(::Social::MultiplayerServiceIdentifier serviceIdentifier) const;
621
622 MCAPI bool isLeftHanded() const;
623
624 MCAPI ::Social::PermissionCheckResult isMultiplayerAllowed() const;
625
626 MCAPI bool isNetworkAvailable() const;
627
628 MCAPI bool isOnSceneStack(::std::string const& screenName);
629
630 MCAPI bool isOperator() const;
631
632 MCAPI bool isOreUIModerationEnabled() const;
633
634 MCAPI bool isPlatformInviteEnabled() const;
635
636 MCFOLD bool isPlatformThirdPartyConsole() const;
637
638 MCAPI bool isPremiumOwnedMissing(::PackIdVersion const& id, ::ContentIdentity const& contentIdentity) const;
639
640 MCFOLD bool isPremiumPlatformAccessRequiredForMatchmaking() const;
641
642 MCAPI bool isRealmLevel() const;
643
644 MCAPI bool isRealmOwner() const;
645
646 MCAPI bool isRealmsEditWorldOreUIFeatureOn() const;
647
648 MCFOLD bool isRealmsEnabled() const;
649
650 MCAPI bool isRealmsInitialized() const;
651
652 MCAPI bool isResourceLoadingFinished() const;
653
654 MCAPI bool isRiding() const;
655
656 MCAPI bool isServiceMultiplayerEnabled(::Social::MultiplayerServiceIdentifier serviceID) const;
657
658 MCAPI bool isServicesLocalizationReady() const;
659
660 MCAPI bool isSessionConfigAndLocalizationReady() const;
661
662 MCAPI bool isSessionConfigRetrievalDelayed() const;
663
664 MCAPI bool isSessionInfoValid(::Social::MultiplayerServiceIdentifier serviceID) const;
665
666 MCAPI bool isSignInInProgress() const;
667
668 MCAPI bool isSignedInToAdhoc() const;
669
670 MCAPI bool isSignedInToNEX() const;
671
672 MCAPI bool isSignedInToPSN() const;
673
674 MCAPI bool isSignedInToPlayFabOfflineAndNetworkDisconnected() const;
675
676 MCAPI bool isSignedInToPlayfab() const;
677
678 MCAPI bool isSignedInToXBL() const;
679
680 MCAPI bool isUITTSEnabled() const;
681
682 MCFOLD bool isUnableToShowXBLLogo() const;
683
684 MCAPI bool isValidRealmName(::std::string name);
685
686 MCAPI void joinEDUDiscoveredWorld();
687
688 MCAPI void joinRealmFromInvite(::Realms::World world);
689
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
699 );
700
701 MCAPI void launchEduUri(::std::string const& baseUrl);
702
703 MCAPI bool launchManageSubscriptions();
704
705 MCAPI bool launchStore();
706
707 MCAPI void launchUri(::std::string const& uri);
708
709 MCAPI void launchUserGeneratedUri(::std::string const& uri, ::UserGeneratedUriSource source, bool recordEvent);
710
711 MCAPI void leaveRealmsWorld(::Realms::RealmId worldId, ::std::function<void(::Realms::GenericStatus)> callback);
712
713 MCAPI void loadStoreDataDrivenScreenFromSidebar(::StoreDataDrivenScreenParams& params);
714
715 MCAPI void makeBackupOfLevel(::LevelSummary const& editedLevel);
716
717 MCAPI bool multiplayerLostConnectionToSignalingService() const;
718
719 MCAPI void navigateToControlCustomizationScreen();
720
721 MCAPI void navigateToDevConsole();
722
723 MCAPI void navigateToEduHomeScreen();
724
725 MCAPI void navigateToFeedScreen(::Realms::World const& world);
726
727 MCAPI void navigateToFeedbackPopup();
728
729 MCAPI void navigateToInviteScreen();
730
731 MCAPI void navigateToModalProgressScreen(
732 ::std::string const& uniqueEventName,
733 ::std::unique_ptr<::ProgressHandler> progressHandler,
734 bool forceRenderBelow,
735 ::std::string const& screenNameOverride,
736 bool isCancellable
737 );
738
739 MCAPI void navigateToOptionsScreen(
740 ::SettingsTabIndex startingTabIndex,
741 bool navToMenuOnExit,
742 bool maintainOldFocus,
743 ::std::string const& initialPackId
744 );
745
746 MCAPI void navigateToPlatformNetworkConnectConfirmationScreen(::std::function<void(bool)> callback);
747
748 MCAPI void navigateToPlatformStoreConnectConfirmationScreen(::std::function<void(bool)> callback);
749
750 MCAPI void navigateToRealmsSlotSettingsScreen(::Realms::World const& world);
751
752 MCAPI void navigateToRealmsSlotsScreen(::Realms::World const& worldWithoutSlotInfo);
753
754 MCAPI void navigateToSkinPickerScreen();
755
756 MCAPI void navigateToStartScreen();
757
758 MCAPI void navigateToStoreHomeScreen(::std::string const& title);
759
760 MCAPI void navigateToTokenFAQScreen();
761
762 MCAPI void navigateToTokenPopupScreen();
763
764 MCAPI void navigateToUpdateWorldHeightScreen(::std::function<void(bool)> startWorldCallback);
765
766 MCAPI bool needPlatformConnectionBeforeXBLSignIn() const;
767
768 MCAPI bool needPlatformConnectionForSplitScreenMultiplayer() const;
769
770 MCAPI void openBannedModal();
771
772 MCAPI void openRealmsWorld(
773 ::Realms::RealmId worldId,
774 ::std::function<void(::Realms::GenericStatus)> callback,
775 ::std::function<void(int)> retryCallback
776 );
777
778 MCAPI void pickCustomSkin(::std::function<void(::PickCustomSkinResult)> callback) const;
779
780 MCAPI void prepareToNavigateToGamePlayScreen();
781
782 MCAPI bool purchaseEduLicense(::std::unique_ptr<::TransactionContext> context);
783
784 MCAPI void pushToast(::ToastMessage message);
785
786 MCAPI void rebindKeys();
787
788 MCAPI void
789 refreshCurrentRealmWorldInfo(::std::function<void(::Realms::GenericStatus, ::Realms::World const&)> callback);
790
791 MCAPI void removeFromRealmsBlocklist(
792 ::Realms::RealmId worldId,
793 ::std::string const& xuid,
794 ::std::function<void(::Realms::GenericStatus)> callback
795 );
796
797 MCAPI void requestPlayerPermissions(::LayeredAbilities const& abilities, ::ActorUniqueID playerId);
798
799 MCAPI bool requiresXBLSigninToPlay() const;
800
801 MCAPI void resetActiveDirectoryAuthenticationState();
802
803 MCAPI void resetRealmsWorld(
804 ::Realms::RealmId worldId,
805 ::std::function<void(::Realms::GenericStatus)> callback,
806 ::std::function<void(int)> retryCallback
807 );
808
809 MCAPI void resetRealmsWorldContext();
810
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
816 );
817
818 MCAPI void saveLevelData(::std::string const& levelId, ::LevelData const& data);
819
820 MCAPI void scheduleCheckUserStorageAsync();
821
822 MCAPI void sendPurchaseReceiptsToServer();
823
824 MCAPI void sendSettingsCommandPacket(::std::string const& command, bool supressOutput);
825
826 MCAPI void sendTrialWelcomeMessage();
827
828 MCAPI bool serverPermissionOpenChat() const;
829
830 MCAPI void setActiveDirectoryAuthenticationStateComplete();
831
832 MCAPI void setActiveDirectoryDemoVersion();
833
834 MCAPI void setActiveSlot(
835 ::Realms::RealmId worldId,
836 int slotIndex,
837 ::std::function<void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
838 );
839
840 MCAPI void setClubProfile(::Clubs::ClubModel const& model, ::std::function<void(::Clubs::GenericStatus)> callback);
841
842 MCAPI void setEducationLocalLevelSettings(::EducationLocalLevelSettings const& settings);
843
844 MCAPI void setIsCheckoutInProgress(bool isCheckoutInProgress);
845
846 MCAPI void setIsInGameBrowsing(bool isInGameBrowsing);
847
848 MCAPI void setLanguage();
849
850 MCAPI void setLastSelectedSlot(int slot, ::ContainerID containerId);
851
852 MCAPI void setNumberOfOwnedRealms(int number);
853
854 MCAPI void setPlayerGameType(::GameType const& gameType);
855
856 MCAPI void setRealmsWorldInfo(
857 ::Realms::World world,
858 int difficulty,
859 bool allowCheats,
860 ::std::function<void(::Realms::GenericStatus, ::Realms::FailureReason)> callback
861 );
862
863 MCAPI void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
864
865 MCAPI void setSimPaused(bool paused);
866
867 MCAPI void setViewedFeedItem(
868 ::Clubs::FeedItem const& activityItem,
869 ::Realms::RealmId realmId,
870 ::std::string const& clubId,
871 bool viewed,
872 ::std::function<void(::Clubs::GenericStatus)> callback
873 );
874
875 MCAPI bool shouldShowThirdPartyDisconnected() const;
876
877 MCAPI bool shouldShowVersionUpdateScreen();
878
879 MCAPI void showFriendFinder(::std::function<void()> callback);
880
881 MCAPI bool showSignInButton() const;
882
883 MCAPI void showStoreFeaturesDisabledWhenSignedOutScreen();
884
885 MCAPI void signIn(
886 ::std::function<void()> connectionCompleteCallback,
887 ::Social::IdentitySignInTrigger signInTrigger,
888 ::std::string const& signInSource,
889 ::std::function<void(::Social::MultiIdentitySigninResult)> signInCompleteCallback
890 );
891
892 MCAPI void signOut(::std::function<void(::Identity::SignOutResult)> callback);
893
894 MCAPI void silentSignin(
895 ::Social::IdentitySignInTrigger signInTrigger,
896 ::std::string const& signInSource,
897 ::std::function<void(::Social::MultiIdentitySigninResult)> callback
898 );
899
900 MCAPI void startExternalNetworkWorld(::std::string const& serverName, ::std::string const& ipAddress, int port);
901
902 MCAPI void startLocalServerAsync(::LevelSummary const& levelSummary, ::LevelSettings const& levelSettings);
903
904 MCAPI void
905 startLocalServerAsync(::std::string const& levelId, ::std::string levelName, ::LevelSettings const& settings);
906
907 MCAPI bool supportsTTSLanguage(::std::string const& languageCode) const;
908
909 MCAPI ::Bedrock::Threading::Async<::Core::PathBuffer<::std::string>> takeScreenshotForUploading();
910
911 MCAPI bool tryNavigateToXblImmediateSignInScreen_DEPRECATED(
912 ::std::string const& signInSource,
913 ::std::function<void()> callBackAfterSignIn,
914 ::std::function<void()> callBackAfterCancel
915 );
916
917 MCAPI bool updateEDUServicePackSystem() const;
918
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
924 );
925
926 MCAPI bool wasSessionCreated(::Social::MultiplayerServiceIdentifier serviceID) const;
927 // NOLINTEND
928
929public:
930 // static variables
931 // NOLINTBEGIN
932 MCAPI static uint& mSceneInstanceCounter();
933 // NOLINTEND
934
935public:
936 // constructor thunks
937 // NOLINTBEGIN
938 MCAPI void* $ctor(::MinecraftScreenModel::Context context);
939 // NOLINTEND
940
941public:
942 // destructor thunk
943 // NOLINTBEGIN
944 MCAPI void $dtor();
945 // NOLINTEND
946
947public:
948 // virtual function thunks
949 // NOLINTBEGIN
950 MCAPI void
951 $navigateToDisconnectScreen(::Connection::DisconnectFailReason reason, ::std::string const& displayMessageOverride);
952
953 MCAPI bool $tryNavigateToProfileScreen();
954
955 MCAPI bool $tryNavigateToSafeZoneScreenOnFirstSignin();
956
957 MCAPI void
958 $navigateToStoreDataDrivenScreen(::StoreDataDrivenScreenParams const& params, bool forceDisableProgressScreen);
959
960 MCAPI bool $leaveScreen(::std::string expectedScreenName, bool onlyThis);
961
962 MCFOLD bool $isInGame() const;
963
964 MCFOLD bool $isSelectedSkinInitialized() const;
965
966 MCAPI ::SubClientId $getSubClientId() const;
967
968 MCFOLD bool $platformTTSExists() const;
969
970 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::DlcId> const& dlcIds);
971
972 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::std::string> const& productIds);
973
974 MCAPI ::IDlcBatchModel& $getDlcBatchModel(::std::vector<::PackIdVersion> const& packIds);
975
976 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> $getStoreCatalogRepository() const;
977
978 MCFOLD float $getStoreNetworkFailureTimeout() const;
979
980 MCAPI bool $isAdhocEnabled() const;
981
982 MCFOLD bool $isDirty() const;
983
984 MCAPI ::SkinHandle const& $getSelectedSkinHandle() const;
985
986 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> $getUserManager();
987
988 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const $getUserManager() const;
989
990 MCAPI ::std::string const& $getLastPoppedScreenName() const;
991 // NOLINTEND
992
993public:
994 // vftables
995 // NOLINTBEGIN
996 MCNAPI static void** $vftableForIMinecraftScreenModel();
997
998 MCNAPI static void** $vftableForIDlcBatcher();
999 // NOLINTEND
1000};
Definition AbstractScene.h:5
Definition ActiveDirectoryIdentity.h:33
Definition ClientInstanceModel.h:5
Definition ContentIdentity.h:8
Definition ContentTierInfo.h:5
Definition Path.h:10
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 IOptions.h:5
Definition ISceneStack.h:5
Definition IScreenCapabilities.h:8
Definition Value.h:16
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 PlatformMultiplayerRestrictions.h:5
Definition PlatformUpsellDialog.h:5
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 ClubModel.h:7
Definition FeedItem.h:7
Definition ReportedItem.h:7
Definition ContentLogMessage.h:5
Definition DlcId.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 RealmsAPI.h:5
Definition Backup.h:7
Definition InvitesService.h:7
Definition RealmId.h:7
Definition WorldCache.h:7
Definition World.h:7
Definition SubscriptionInfo.h:7
Definition SkinHandle.h:5
Definition FriendList.h:7
Definition MultiIdentitySigninResult.h:7
Definition PermissionCheckResult.h:7
Definition PlatformUserProfileData.h:7
Definition XboxLiveUserProfileData.h:7
Definition StoreDataDrivenScreenParams.h:5
Definition FilterCollectionInfo.h:7
Definition WireframeQueue.h:5
Definition CredentialsObserver.h:25