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