3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/game/DeferredTaskCategory.h"
7#include "mc/client/game/IClientInstances.h"
8#include "mc/client/game/IGameEventNotifier.h"
9#include "mc/client/game/IGameServerShutdown.h"
10#include "mc/client/game/IGameServerStartup.h"
11#include "mc/client/game/INetworkGameConnector.h"
12#include "mc/client/game/ISplitScreenChangedPublisher.h"
13#include "mc/client/game/IWorldTransfer.h"
14#include "mc/client/gui/GameEventNotification.h"
15#include "mc/client/social/UserPlatformConnectionResult.h"
16#include "mc/common/IMinecraftApp.h"
17#include "mc/common/SubClientId.h"
18#include "mc/deps/application/app_extensions/AppExtensionsOwner.h"
19#include "mc/deps/core/file/PathBuffer.h"
20#include "mc/deps/core/islands/AppIsland.h"
21#include "mc/deps/core/threading/Async.h"
22#include "mc/deps/core/threading/DeferredTasksManager.h"
23#include "mc/deps/core/utility/AutomaticID.h"
24#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
25#include "mc/deps/core/utility/NonOwnerPointer.h"
26#include "mc/deps/input/InputMode.h"
27#include "mc/deps/input/PointerType.h"
28#include "mc/events/NetworkType.h"
29#include "mc/platform/MultiplayerLockedContext.h"
30#include "mc/server/commands/test/TestAssetCommandType.h"
31#include "mc/server/commands/test/TestCommandType.h"
32#include "mc/sound/MusicRepeatMode.h"
73class IEntitlementManager;
78class IOfferRepository;
82class IThirdPartyServerRepository;
92class MarketplaceServicesManager;
118class ServiceDrivenImageRepository;
119class ServicesManager;
122class StoreCatalogRepository;
136namespace ClientBlobCache {
class Cache; }
141namespace OreUI {
class Router; }
149namespace Realms {
struct World; }
155namespace Social {
class User; }
158namespace mce {
class UUID; }
175 virtual void initialize() = 0;
177 virtual ~IMinecraftGame() ;
179 virtual void update() = 0;
181 virtual ::AppSystemRegistry& getAppSystemRegistry() = 0;
183 virtual ::EntityContext& getEntity()
const = 0;
185 virtual void logoffAllSubclients() = 0;
187 virtual void buildTreatmentPackStack(
bool fireEvents)
const = 0;
189 virtual void queueSubclientRemoval(::SubClientId subid) = 0;
191 virtual ::std::shared_ptr<::mce::TextureGroup> getTextureGroup()
const = 0;
193 virtual ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> getResourceLoadManager() = 0;
195 virtual void handleReloadUIDefinitions() = 0;
197 virtual ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository> getUIDefRepo()
const = 0;
199 virtual bool canActivateKeyboard() = 0;
201 virtual void releaseClientSubId(::SubClientId subid) = 0;
203 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentTierManager const> getContentTierManager()
const = 0;
205 virtual ::Bedrock::NotNullNonOwnerPtr<::DevConsoleLogger> getDevConsoleLogger()
const = 0;
207 virtual void setDisableInputForAllOtherClients(
int id,
bool disableStatus) = 0;
209 virtual ::DeferredTasksManager<::DeferredTaskCategory>& getDeferredTasks() = 0;
211 virtual bool shouldShowRatingsPrompt()
const = 0;
213 virtual ::Bedrock::NotNullNonOwnerPtr<::ServerInstanceEventCoordinator> getServerInstanceEventCoordinator() = 0;
215 virtual bool isHostingLocalDedicatedServer()
const = 0;
217 virtual bool isLeaveGameDone()
const = 0;
219 virtual void destroyGame() = 0;
221 virtual bool isInGame()
const = 0;
223 virtual void startLeaveGame() = 0;
225 virtual bool isAudioInitialized()
const = 0;
227 virtual ::MusicManager
const* getMusicManager()
const = 0;
229 virtual ::MusicManager* getMusicManagerNonConst()
const = 0;
231 virtual ::Bedrock::NotNullNonOwnerPtr<::SoundEngine> getSoundEngine()
const = 0;
233 virtual ::Bedrock::NotNullNonOwnerPtr<::ITextBoxController> getTextBoxController() = 0;
235 virtual void openPauseMenu() = 0;
237 virtual void setIsInGame(
bool isInGame) = 0;
239 virtual void createClientItemRegistry() = 0;
241 virtual bool hasNetworkPrivileges(
bool onlyWifiAllowed) = 0;
243 virtual ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository const>
244 getThirdPartyServerRepository()
const = 0;
246 virtual ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository> getThirdPartyServerRepository() = 0;
248 virtual ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> retrieveCIDToClientMap() = 0;
250 virtual ::std::map<::SubClientId, ::std::shared_ptr<::IClientInstance>>
const& getClientInstanceMap()
const = 0;
252 virtual void joinMultiplayerWithAddress(
253 ::Social::GameConnectionInfo gameConnection,
254 bool joiningLocalServer,
255 ::std::string
const& serverName,
256 ::std::string
const& worldName,
257 ::NetworkType networkTypeOverride,
258 ::PlayerJoinWorldContext context
261 virtual ::Bedrock::NotNullNonOwnerPtr<::IOfferRepository> getOfferRepository()
const = 0;
263 virtual ::Bedrock::NotNullNonOwnerPtr<::TrialManager> getTrialManager()
const = 0;
265 virtual bool isTrialManagerInitialized()
const = 0;
267 virtual ::InputMode getCurrentInputMode()
const = 0;
269 virtual void handleInputPaneHidden() = 0;
271 virtual bool getSuspended()
const = 0;
273 virtual bool isResuming()
const = 0;
275 virtual void setTestExecuteCommandCallback(
276 ::std::function<
void(::TestCommandType, ::std::vector<::std::string>
const&,
int)>
const& callback
279 virtual void setTestAssetCommandCallback(
280 ::std::function<
void(::TestAssetCommandType, ::std::vector<::std::string>
const&)>
const& callback
283 virtual void runTestExecuteCommandCallback(
284 ::TestCommandType type,
285 ::std::vector<::std::string>
const& tags,
290 runTestAssetCommandCallback(::TestAssetCommandType type, ::std::vector<::std::string>
const& tags)
const = 0;
292 virtual uint64 getClientInstanceCount()
const = 0;
294 virtual void setProfilerIsOn(
bool val) = 0;
296 virtual ::LocalPlayer* getPrimaryLocalPlayer() = 0;
298 virtual ::LocalPlayer
const* getPrimaryLocalPlayer()
const = 0;
300 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager()
const = 0;
302 virtual ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> getPrimaryClientInstance() = 0;
304 virtual ::Bedrock::NotNullNonOwnerPtr<::IClientInstance const> getPrimaryClientInstance()
const = 0;
306 virtual ::ItemRegistryRef getClientItemRegistry()
const = 0;
308 virtual bool isPrimaryClientInstanceReady()
const = 0;
310 virtual void ensureAllClientsAreLeaving()
const = 0;
312 virtual ::Bedrock::NotNullNonOwnerPtr<::ClientNetworkSystem> getClientNetworkSystemPtr() = 0;
314 virtual ::ClientNetworkSystem& getClientNetworkSystem() = 0;
316 virtual ::ClientNetworkSystem
const& getClientNetworkSystem()
const = 0;
318 virtual bool hasAllValidCrossPlatformSkin()
const = 0;
320 virtual ::Bedrock::NotNullNonOwnerPtr<::NewPlayerSystem> getNewPlayerSystem() = 0;
322 virtual ::Bedrock::NotNullNonOwnerPtr<::NewPlayerSystem const> getNewPlayerSystem()
const = 0;
324 virtual void createAndUploadWorldToRealm(
325 ::std::string
const& levelId,
326 ::std::string
const& levelName,
327 ::ContentIdentity
const& premiumTemplateContentIdentity,
328 ::LevelSettings
const& settings,
329 ::Realms::World world,
330 ::std::function<
void(::Realms::World)> callback
333 virtual ::ILevelListCache& getLevelListCache() = 0;
335 virtual ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> getFilePathManager() = 0;
337 virtual void setUseFontOverrides(
bool useOverrides) = 0;
339 virtual ::Bedrock::NotNullNonOwnerPtr<::FontHandle const> getFontHandle()
const = 0;
341 virtual ::Bedrock::NotNullNonOwnerPtr<::FontHandle const> getUIFontHandle()
const = 0;
343 virtual ::Bedrock::NotNullNonOwnerPtr<::FontHandle const> getRuneFontHandle()
const = 0;
345 virtual ::Bedrock::NotNullNonOwnerPtr<::FontHandle const> getUnicodeFontHandle()
const = 0;
347 virtual ::Bedrock::NotNullNonOwnerPtr<::FontHandle const> getSmoothFontHandle()
const = 0;
349 virtual void onClientLevelExit(::IClientInstance& exitClient, uint exitCode) = 0;
351 virtual bool isLocalPlayer(::ActorUniqueID
const&
id)
const = 0;
353 virtual ::IMinecraftEventing& getEventing()
const = 0;
355 virtual void reloadAnimationAndGeometryData(
bool sync) = 0;
357 virtual ::Bedrock::NotNullNonOwnerPtr<::GeometryGroup> getGeometryGroup()
const = 0;
359 virtual ::Bedrock::NotNullNonOwnerPtr<::BlockCullingGroup> getBlockCullingGroup()
const = 0;
361 virtual ::Bedrock::NotNullNonOwnerPtr<::ClientBlockPipeline::SchematicsRepository>
362 getSchematicsRepository()
const = 0;
364 virtual ::ParticleEffectGroup& getParticleEffectGroup()
const = 0;
366 virtual ::DeferredLighting& getDeferredLighting()
const = 0;
368 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::MultiplayerServiceManager> getMultiplayerServiceManager()
const = 0;
370 virtual ::IResourcePackRepository& getResourcePackRepository()
const = 0;
372 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> getKeyProvider()
const = 0;
374 virtual ::ResourcePackManager& getResourcePackManager()
const = 0;
376 virtual ::ResourcePackManager& getServerResourcePackManager() = 0;
378 virtual ::PackManifestFactory& getPackManifestFactory() = 0;
380 virtual ::PlayerMessagingService& getPlayerMessagingService() = 0;
382 virtual ::std::shared_ptr<::SkinRepository> getSkinRepository()
const = 0;
384 virtual ::PersonaRepository& getPersonaRepository()
const = 0;
386 virtual ::MarketplaceServicesManager& getMarketplaceServicesManager()
const = 0;
388 virtual ::Bedrock::NotNullNonOwnerPtr<::mce::TextureGroup> getStoreCacheTextures()
const = 0;
390 virtual ::Bedrock::NotNullNonOwnerPtr<::MinecraftGraphics> getMinecraftGraphics() = 0;
392 virtual ::Bedrock::NotNullNonOwnerPtr<::IUIRepository> getUIRepository()
const = 0;
394 virtual bool isPrimaryLevelCrossPlatformMultiplayer()
const = 0;
396 virtual bool isPrimaryLevelMultiplayer()
const = 0;
398 virtual ::std::string getMultiplayerDisabledTextTitle(::MultiplayerLockedContext context)
const = 0;
400 virtual ::std::string getMultiplayerDisabledTextBody(::MultiplayerLockedContext context)
const = 0;
402 virtual void setRenderingSize(
int w,
int h) = 0;
404 virtual void recalculateScene() = 0;
406 virtual void setUISizeAndScale(
int w,
int h,
float forcedGuiScale) = 0;
408 virtual bool isReadyToRender()
const = 0;
410 virtual void onDimensionChanged() = 0;
412 virtual void setLeaveGameInProgressAsReadyToContinue() = 0;
414 virtual void onClientCreatedLevel(::IClientInstance& client) = 0;
416 virtual uint64 generateClientId(
418 bool& generatedNewId,
419 uint64 clientIdModifier,
420 ::std::shared_ptr<::Social::User> user
423 virtual ::std::weak_ptr<::RealmsAPI> getRealms() = 0;
425 virtual ::Realms::ContentService& getRealmsContentService() = 0;
427 virtual bool getMouseGrabbed()
const = 0;
429 virtual void navigateToPlayScreenFriendsTab() = 0;
431 virtual bool isInServer()
const = 0;
433 virtual bool isInRealm()
const = 0;
435 virtual bool isShowingLoadingScreen()
const = 0;
437 virtual bool isRenderingLoadingScreen()
const = 0;
439 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalog()
const = 0;
441 virtual ::ServiceDrivenImageRepository& getServiceImageRepository()
const = 0;
443 virtual ::Bedrock::NotNullNonOwnerPtr<::LibraryRepository> getLibraryRepository()
const = 0;
445 virtual ::GameRenderer& getGameRenderer()
const = 0;
447 virtual ::Bedrock::NotNullNonOwnerPtr<::TextureAtlas> getTextureAtlas() = 0;
449 virtual ::Bedrock::NotNullNonOwnerPtr<::TextureAtlas> getItemTextureAtlas() = 0;
451 virtual bool hasActorResourceDefinitionGroup()
const = 0;
453 virtual ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup const>
454 getActorResourceDefinitionGroup()
const = 0;
456 virtual ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup> getActorResourceDefinitionGroupMutable() = 0;
458 virtual ::Bedrock::NotNullNonOwnerPtr<::RenderControllerGroup const> getRenderControllerGroup()
const = 0;
460 virtual ::Bedrock::NotNullNonOwnerPtr<::RenderControllerGroup> getRenderControllerGroup() = 0;
462 virtual int getMaxPlayerCount()
const = 0;
464 virtual ::Bedrock::Threading::Async<::Core::PathBuffer<::std::string>>
465 requestScreenshot(::ScreenshotOptions& screenshotOptions) = 0;
467 virtual ::Bedrock::NotNullNonOwnerPtr<::OreUI::IResourceAllowList> getOreUIResourceAllowList() = 0;
469 virtual ::Bedrock::NotNullNonOwnerPtr<::DateManager> getDateManager()
const = 0;
471 virtual ::PixelCalc
const& getDpadScale()
const = 0;
473 virtual void setKeyboardForcedHeight(
float height,
bool isShowSignal) = 0;
475 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> getMainSceneStack()
const = 0;
477 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getMainSceneStack() = 0;
479 virtual ::OreUI::Router& getUIRouter() = 0;
481 virtual ::OreUI::DataProviderManager_DEPRECATED& getDataProviderManager() = 0;
483 virtual uint getUIRenderClientMask()
const = 0;
485 virtual bool useMinecraftVersionOfXBLUI()
const = 0;
487 virtual ::Bedrock::NotNullNonOwnerPtr<::PersonaService> getPersonaService()
const = 0;
489 virtual ::Bedrock::NotNullNonOwnerPtr<::GatheringManager> getGatheringManager()
const = 0;
491 virtual ::Bedrock::NotNullNonOwnerPtr<::CDNService> getCDNService()
const = 0;
493 virtual ::Bedrock::NotNullNonOwnerPtr<::ContentCatalogService> getContentCatalogService()
const = 0;
495 virtual ::Bedrock::NotNullNonOwnerPtr<::FlightingService> getFlightingService()
const = 0;
497 virtual ::std::shared_ptr<::FlightingService> getFlightingServicePtr()
const = 0;
499 virtual ::Bedrock::NotNullNonOwnerPtr<::TreatmentPackDownloadMonitor const>
500 getTreatmentPackDownloadMonitor()
const = 0;
502 virtual ::SceneFactory& getPrimarySceneFactory()
const = 0;
504 virtual ::Bedrock::NonOwnerPointer<::MinecraftInputHandler> getInput()
const = 0;
506 virtual void grabMouse() = 0;
508 virtual void releaseMouse() = 0;
510 virtual void refocusMouse(
bool lostMouse) = 0;
512 virtual void setMouseType(::Bedrock::Input::PointerType type) = 0;
514 virtual void play(::std::string
const& name, ::Vec3
const& pos,
float volume,
float pitch) = 0;
516 virtual void playUI(::std::string
const& name,
float volume,
float pitch) = 0;
518 virtual void fadeOutMusic() = 0;
520 virtual void onPlayerLoaded(::IClientInstance& client, ::Player& player) = 0;
522 virtual bool checkForPiracy()
const = 0;
524 virtual ::Bedrock::NotNullNonOwnerPtr<::CubemapBackgroundResources> getCubemapBackgroundResources() = 0;
526 virtual void setAppWillTerminate(
bool willTerminate) = 0;
528 virtual ::ServerInstance* getServerInstance() = 0;
530 virtual ::Bedrock::NotNullNonOwnerPtr<::ServerInstance> getServerInstanceNonOwnPtr() = 0;
532 virtual void setLaunchedFromLegacyVersion(
bool launchedFromLegacyVersion) = 0;
534 virtual ::UIMeasureStrategy& getUIMeasureStrategy() = 0;
536 virtual void registerUpsellScreen() = 0;
538 virtual ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> getWorldTemplateManager()
const = 0;
540 virtual ::World::WorldSystem& getWorldSystem()
const = 0;
542 virtual bool isWorldSystemReady()
const = 0;
544 virtual ::Social::SocialSystem& getSocialSystem()
const = 0;
546 virtual ::Bedrock::NonOwnerPointer<::Parties::PartySystem> getPartySystem()
const = 0;
548 virtual ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> getUIProgressTips()
const = 0;
550 virtual ::Bedrock::NotNullNonOwnerPtr<::Realms::RealmsSystem> getRealmsSystem()
const = 0;
552 virtual ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> getEntitlementManager() = 0;
554 virtual ::IDlcValidation& getDlcValidation() = 0;
556 virtual ::ServicesManager& getServicesManager() = 0;
558 virtual ::Bedrock::NotNullNonOwnerPtr<::SunsettingManager> getSunsettingManager() = 0;
560 virtual void pauseContentDownloads() = 0;
562 virtual void resumeContentDownloads() = 0;
564 virtual ::Bedrock::NotNullNonOwnerPtr<::IExternalServerFile> getExternalServer()
const = 0;
566 virtual bool isStartingGame()
const = 0;
568 virtual bool isSplitscreenJoinEnabled()
const = 0;
570 virtual bool canAddSplitscreenSubClient(
int controllerId)
const = 0;
572 virtual ::Bedrock::NotNullNonOwnerPtr<::LevelLoader> getLevelLoader() = 0;
574 virtual ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager> getContentManager() = 0;
576 virtual ::std::shared_ptr<::IClientInstance>
577 tryGetClientInstanceFromPlayerUUID(::mce::UUID
const& playerId)
const = 0;
579 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentAccessibilityProvider const> getAccessibilityProvider()
const = 0;
581 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentAccessibilityProvider> getAccessibilityProvider() = 0;
583 virtual ::Bedrock::NotNullNonOwnerPtr<::ContentAcquisition> getContentAcquisition()
const = 0;
585 virtual void onGameEventNotification(::ui::GameEventNotification notification) = 0;
587 virtual void setRealmsLoadingLink(
bool state) = 0;
589 virtual ::Bedrock::NotNullNonOwnerPtr<::IApp> getApp() = 0;
591 virtual void clearCache() = 0;
593 virtual ::IContentManager& getResourceContentManager() = 0;
595 virtual ::Bedrock::NotNullNonOwnerPtr<::EmoticonManager const> getEmoticonManager()
const = 0;
597 virtual ::Bedrock::NotNullNonOwnerPtr<::TextToIconMapper const> getTextToIconMapper()
const = 0;
599 virtual ::Bedrock::NotNullNonOwnerPtr<::TextToIconMapper> getTextToIconMapper() = 0;
601 virtual void onPrimaryUserReconnect(::Social::UserPlatformConnectionResult status,
bool isUserInitiated) = 0;
603 virtual void setSmoothFontStyle() = 0;
605 virtual void setUIFontStyle() = 0;
607 virtual void copyInternalSettingsFolderToExternalLocation()
const = 0;
609 virtual void joinRealmFromInvite(::Realms::World
const& world) = 0;
611 virtual ::Bedrock::NotNullNonOwnerPtr<::Realms::RealmsServices> getRealmsServices() = 0;
613 virtual ::std::weak_ptr<::ClubsService> getClubsService() = 0;
615 virtual ::std::shared_ptr<::Realms::GenericRequestServiceHandler> getGenericRealmsService() = 0;
617 virtual ::Bedrock::NotNullNonOwnerPtr<::Realms::SubscriptionService> getRealmsSubscriptionService() = 0;
619 virtual ::Bedrock::NotNullNonOwnerPtr<::ActiveDirectoryIdentity> getActiveDirectoryIdentity() = 0;
621 virtual ::PackSourceFactory& getPackSourceFactory()
const = 0;
623 virtual void displayActiveDirectoryLoginDialog() = 0;
625 virtual void resetInput() = 0;
627 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::PresenceManager> getPresenceManager() = 0;
629 virtual ::Bedrock::NotNullNonOwnerPtr<::GuiData> getPrimaryGuiData() = 0;
631 virtual bool isPrimaryUserSigninInProgress()
const = 0;
633 virtual void setupCommandParser(::IClientInstance& client) = 0;
635 virtual void stopSound(::std::string
const& name) = 0;
637 virtual void stopSounds() = 0;
639 virtual ::PackDownloadManager& getPackDownloadManager() = 0;
641 virtual ::Bedrock::NonOwnerPointer<::LinkedAssetValidator> getLinkedAssetValidator()
const = 0;
643 virtual ::Bedrock::NonOwnerPointer<::LinkedAssetValidator> getLinkedAssetValidator() = 0;
645 virtual void addSubClientInstanceAndAssociateToUser(
int controllerId) = 0;
647 virtual void forEachClientInstance(::std::function<
void(::IClientInstance&)> callback) = 0;
649 virtual bool isInitialized()
const = 0;
651 virtual ::Bedrock::NotNullNonOwnerPtr<::SeasonsRenderer> getSeasonsRenderer() = 0;
653 virtual ::std::shared_ptr<::ActorAnimationGroup> getActorAnimationGroup()
const = 0;
655 virtual ::Bedrock::NotNullNonOwnerPtr<::ActorAnimationControllerGroup> getActorAnimationControllerGroup()
const = 0;
657 virtual bool isMultiplayerServiceManagerReady()
const = 0;
659 virtual void doPrimaryClientReadyWork(::std::function<
void()> workFn) = 0;
661 virtual void doUserManagerReadyWork(::std::function<
void()> workFn) = 0;
663 virtual ::Bedrock::NotNullNonOwnerPtr<::ScreenshotRecorder> getScreenshotRecorder() = 0;
665 virtual ::std::shared_ptr<::ClientBlobCache::Cache> getClientBlobCache() = 0;
667 virtual ::Bedrock::NonOwnerPointer<::ContentLogFileEndPoint>
const getContentFileLogEndPoint()
const = 0;
669 virtual ::Bedrock::NonOwnerPointer<::EDUSystems const> getEDUSystems()
const = 0;
671 virtual ::Bedrock::NonOwnerPointer<::EDUSystems> getEDUSystems() = 0;
673 virtual ::std::shared_ptr<::Options> getPrimaryUserOptions() = 0;
675 virtual ::std::shared_ptr<::Options const> getPrimaryUserOptions()
const = 0;
677 virtual void tryShowXblFirstLaunchScreen(
bool isUserConnectedToPlatform) = 0;
679 virtual ::Bedrock::PubSub::Subscription
680 registerSplitScreenChangedListener(::std::function<
void(uchar)> callback)
const = 0;
682 virtual uchar getSplitScreenCount()
const = 0;
684 virtual ::IGameModuleApp& getGameModule() = 0;
686 virtual ::std::shared_ptr<void*> requestMusicDeferment() = 0;
688 virtual bool isMusicEnabled()
const = 0;
690 virtual void queueCustomMusic(
691 ::std::string
const& eventName,
693 float fadeoutSeconds,
694 ::MusicRepeatMode playMode
698 playCustomMusic(::std::string
const& eventName,
float volume,
float fadeoutSeconds, ::MusicRepeatMode playMode) = 0;
700 virtual void stopCustomMusic(
float fadeoutSeconds) = 0;
702 virtual void setMusicCommandVolumeMultiplier(
float volumeMultiplier) = 0;
704 virtual float calculateScreenSizeToResolutionScalar(
int const width,
int const height)
const = 0;
706 virtual ::Bedrock::NotNullNonOwnerPtr<::GlobalResourcesCrashRecovery const>
707 GetGlobalResourcesCrashRecovery()
const = 0;
709 virtual ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> getLevelDbEnv() = 0;
711 virtual ::Bedrock::NonOwnerPointer<::ChunkSource> getClientGenChunkSource(::DimensionType
const& dimensionType) = 0;
713 virtual bool isEditorModeEnabled()
const = 0;
715 virtual void setResetCallbackObject(::ResetCallbackObject* obj) = 0;
717 virtual void resetThreadCallbacks() = 0;
719 virtual void shutdownServer() = 0;
721 virtual ::Bedrock::NotNullNonOwnerPtr<::ProfanityContext> getProfanityContext() = 0;
723 virtual double getGameUpdateDurationInSeconds()
const = 0;
725 virtual ::std::tuple<bool, int> GetEcoModeSettings()
const = 0;
Definition ActiveDirectoryIdentity.h:33
Definition ActorAnimationControllerGroup.h:27
Definition ActorAnimationGroup.h:26
Definition ActorResourceDefinitionGroup.h:5
Definition AppExtensionsOwner.h:16
Definition AppSystemRegistry.h:11
Definition AppIsland.h:15
Definition EnableNonOwnerReferences.h:7
Definition Subscription.h:10
Definition BlockCullingGroup.h:5
Definition CDNService.h:5
Definition ChunkSource.h:38
Definition SchematicsRepository.h:7
Definition ClientNetworkSystem.h:40
Definition ClubsService.h:5
Definition ContentAcquisition.h:5
Definition ContentCatalogService.h:5
Definition ContentIdentity.h:8
Definition ContentLogFileEndPoint.h:15
Definition FilePathManager.h:18
Definition CubemapBackgroundResources.h:5
Definition DateManager.h:14
Definition DeferredLighting.h:5
Definition DevConsoleLogger.h:5
Definition Dimension.h:86
Definition EDUSystems.h:25
Definition EmoticonManager.h:5
Definition EntityContext.h:16
Definition ExternalContentManager.h:5
Definition FlightingService.h:5
Definition FontHandle.h:5
Definition GameRenderer.h:5
Definition GatheringManager.h:5
Definition GeometryGroup.h:5
Definition GlobalResourcesCrashRecovery.h:5
Definition IClientInstance.h:5
Definition IClientInstances.h:5
Definition IContentAccessibilityProvider.h:13
Definition IContentKeyProvider.h:13
Definition IContentManager.h:5
Definition IContentTierManager.h:13
Definition IDlcValidation.h:5
Definition IExternalServerFile.h:5
Definition IGameEventNotifier.h:5
Definition IGameModuleApp.h:5
Definition IGameServerStartup.h:5
Definition ILevelListCache.h:27
Definition IMinecraftApp.h:19
Definition IMinecraftEventing.h:134
Definition IMinecraftGame.h:5
static MCAPI void ** $vftableForIGameEventNotifier()
static MCAPI void ** $vftableForIClientInstances()
static MCAPI void ** $vftableForIWorldTransfer()
static MCAPI void ** $vftableForINetworkGameConnector()
static MCAPI void ** $vftableForIGameServerStartup()
static MCAPI void ** $vftableForAppExtensionsOwner()
static MCAPI void ** $vftableForAppIsland()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForISplitScreenChangedPublisher()
static MCAPI void ** $vftableForIGameServerShutdown()
static MCAPI void ** $vftableForIMinecraftApp()
Definition INetworkGameConnector.h:5
Definition IResourcePackRepository.h:34
Definition ISceneStack.h:5
Definition ISplitScreenChangedPublisher.h:5
Definition ITextBoxController.h:5
Definition IUIDefRepository.h:5
Definition IUIRepository.h:5
Definition ItemRegistryRef.h:36
Definition LevelDbEnv.h:8
Definition LevelLoader.h:5
Definition LevelSettings.h:39
Definition LibraryRepository.h:5
Definition LinkedAssetValidator.h:8
Definition LocalPlayer.h:5
Definition MinecraftGraphics.h:5
Definition MusicManager.h:5
Definition NewPlayerSystem.h:5
Definition DataProviderManager_DEPRECATED.h:7
Definition IResourceAllowList.h:7
Definition PackDownloadManager.h:5
Definition PackManifestFactory.h:20
Definition PackSourceFactory.h:33
Definition ParticleEffectGroup.h:5
Definition PartySystem.h:7
Definition PersonaRepository.h:5
Definition PersonaService.h:5
Definition PlayerMessagingService.h:5
Definition ProfanityContext.h:5
Definition ProgressTips.h:7
Definition ContentService.h:7
Definition GenericRequestServiceHandler.h:7
Definition RealmsServices.h:7
Definition RealmsSystem.h:7
Definition SubscriptionService.h:7
Definition RenderControllerGroup.h:5
Definition ResetCallbackObject.h:5
Definition ResourceLoadManager.h:19
Definition ResourcePackManager.h:30
Definition SceneFactory.h:5
Definition ScreenshotRecorder.h:5
Definition SeasonsRenderer.h:5
Definition ServerInstanceEventCoordinator.h:18
Definition ServerInstance.h:57
Definition SkinRepository.h:5
Definition GameConnectionInfo.h:21
Definition IUserManager.h:34
Definition MultiplayerServiceManager.h:7
Definition PresenceManager.h:7
Definition SocialSystem.h:7
Definition SoundEngine.h:5
Definition SunsettingManager.h:5
Definition TextToIconMapper.h:5
Definition TextureAtlas.h:5
Definition TreatmentPackDownloadMonitor.h:5
Definition TrialManager.h:5
Definition UIMeasureStrategy.h:5
Definition WorldTemplateManager.h:21
Definition WorldSystem.h:7
Definition TextureGroup.h:7
Definition ActorUniqueID.h:5
Definition ControllerIDtoClientMap.h:13
Definition IGameServerShutdown.h:5
Definition IWorldTransfer.h:5
Definition PlayerJoinWorldContext.h:5
Definition ScreenshotOptions.h:9