42 enum class SaveRequestMode :
int {
55 virtual ::std::shared_ptr<::IOptions> sharedFromThis() = 0;
58 virtual ::std::shared_ptr<::IOptions const> sharedFromThis()
const = 0;
61 virtual ::Option& _registerOption(::std::unique_ptr<::Option>) = 0;
67 virtual void tickSaveTimer() = 0;
70 virtual void notifySaveAllowed() = 0;
73 virtual void saveIfNeeded() = 0;
76 virtual ::OptionSaveDeferral requestSaveDeferral() = 0;
79 virtual void reset(::OptionResetFlags, ::InputMode) = 0;
82 virtual bool getPrimaryUserStatus()
const = 0;
88 virtual void onScreenSizeChanged(
int,
int) = 0;
91 virtual bool isValidOption(::OptionID)
const = 0;
94 virtual ::gsl::not_null<::Option*> get(::OptionID) = 0;
97 virtual ::std::optional<::Option*> getIfValid(::OptionID) = 0;
100 virtual ::std::optional<::Option const*> getIfValid(::OptionID)
const = 0;
103 virtual void getTelemetryOptions(::std::vector<::OptionID>&) = 0;
106 virtual void refreshRenderDistanceLevels() = 0;
109 virtual bool isLoadInProgress() = 0;
115 virtual void loadOptionsFromString(::std::string) = 0;
118 virtual void elevateSaveRequestMode(::IOptions::SaveRequestMode) = 0;
121 virtual ::ChatOptions
const& getChatOptions()
const = 0;
124 virtual ::ChatOptions& getChatOptions() = 0;
127 virtual ::std::array<::std::unique_ptr<::Option>, 772>
const& getAllRegisteredOptions() = 0;
130 virtual void forEachOption(::std::function<
void(
::Option*)>) = 0;
133 virtual bool consumeDevOptionsDirty() = 0;
136 virtual void dumpOptionsToLogFile()
const = 0;
139 virtual void updateInputMode(::InputMode) = 0;
142 virtual void setMainVolume(
float) = 0;
145 virtual float getMainVolume()
const = 0;
148 virtual void setMusicVolume(
float) = 0;
151 virtual float getMusicVolume()
const = 0;
154 virtual void setSoundVolume(
float) = 0;
157 virtual float getSoundVolume()
const = 0;
160 virtual void setTTSVolume(
float) = 0;
163 virtual float getTTSVolume()
const = 0;
166 virtual float getChatMessageDuration()
const = 0;
169 virtual float getToastNotificationDuration()
const = 0;
172 virtual void setSensitivity(
float, ::InputMode) = 0;
175 virtual float getSensitivity(::InputMode)
const = 0;
178 virtual void setSpyglassDamping(
float, ::InputMode) = 0;
181 virtual float getSpyglassDamping(::InputMode)
const = 0;
184 virtual void setDwellBeforeDrag(
float) = 0;
187 virtual float getDwellBeforeDrag()
const = 0;
190 virtual void setStackSplittingTrigger(
float) = 0;
193 virtual float getStackSplittingTrigger()
const = 0;
196 virtual float getGameSensitivity(::InputMode)
const = 0;
199 virtual void setFileStorageLocation(::FileStorageDirectory, ::std::function<
void(
bool)>) = 0;
202 virtual ::FileStorageDirectory getFileStorageLocation()
const = 0;
205 virtual bool getInvertYMouse(::InputMode)
const = 0;
208 virtual int getViewDistanceChunks()
const = 0;
211 virtual int getDefaultViewDistanceChunks(::GraphicsMode)
const = 0;
214 virtual int getMaxViewDistanceChunksRaw()
const = 0;
217 virtual float getParticleViewDistance()
const = 0;
220 virtual bool getBobView()
const = 0;
223 virtual bool getCameraShake()
const = 0;
226 virtual bool getHideEndFlash()
const = 0;
229 virtual bool getIsDitheringEnabledBlocks()
const = 0;
232 virtual bool getIsDitheringEnabledMobs()
const = 0;
235 virtual void setResetPlayerAlignment(
bool) = 0;
238 virtual bool getResetPlayerAlignment()
const = 0;
241 virtual ::TargetRenderAPI getTargetRenderAPI()
const = 0;
244 virtual bool getTransparentLeaves()
const = 0;
247 virtual bool getFancyBubbles()
const = 0;
250 virtual bool getSmoothLighting()
const = 0;
253 virtual bool getGuiAccessibilityScaling()
const = 0;
256 virtual bool getRayTracing()
const = 0;
259 virtual bool getDeferred()
const = 0;
262 virtual int getGraphicsQualityPresetMode()
const = 0;
265 virtual int getDeferredTargetFrameRate()
const = 0;
268 virtual bool getUseMouseForDigging()
const = 0;
271 virtual bool isLeftHanded()
const = 0;
274 virtual bool isHotbarOnlyTouch()
const = 0;
277 virtual bool getDestroyVibration(::InputMode)
const = 0;
280 virtual bool getSplitVibration(::InputMode)
const = 0;
283 virtual bool getAutoJump(::InputMode)
const = 0;
286 virtual void setFullscreen(
bool) = 0;
289 virtual bool getFullscreen()
const = 0;
292 virtual void toggleFullscreen() = 0;
295 virtual ::GamePadRemappingLayout& getGamePadRemapping() = 0;
298 virtual ::std::shared_ptr<::KeyboardRemappingLayout> getCurrentKeyboardRemapping()
const = 0;
301 virtual ::std::shared_ptr<::KeyboardRemappingLayout> getKeyboardRemappingByType(::KeyboardType)
const = 0;
304 virtual void setLanguage(::std::string
const&) = 0;
307 virtual ::std::string getLanguage()
const = 0;
310 virtual void setDifficulty(
int) = 0;
313 virtual void setHideGUI(
bool) = 0;
316 virtual bool getHideHud()
const = 0;
319 virtual bool getHideHand()
const = 0;
322 virtual void setHideToolTips(
bool) = 0;
325 virtual bool getHideToolTips()
const = 0;
328 virtual void setHidePaperDoll(
bool) = 0;
331 virtual bool getHidePaperDoll()
const = 0;
334 virtual void setIngamePlayerNames(
bool) = 0;
337 virtual bool getIngamePlayerNames()
const = 0;
340 virtual void setSplitscreenIngamePlayerNames(
bool) = 0;
343 virtual bool getSplitscreenIngamePlayerNames()
const = 0;
346 virtual void setInterfaceOpacity(
float) = 0;
349 virtual float getInterfaceOpacity()
const = 0;
352 virtual void setSplitscreenInterfaceOpacity(
float) = 0;
355 virtual float getSplitscreenInterfaceOpacity()
const = 0;
358 virtual void setShowAutoSaveIcon(
bool) = 0;
361 virtual bool getShowAutoSaveIcon()
const = 0;
364 virtual void setSplitscreenDirection(
int) = 0;
367 virtual ::SplitScreenDirection getSplitscreenDirection()
const = 0;
370 virtual void setHideScreens(
bool) = 0;
373 virtual bool getHideScreens()
const = 0;
376 virtual void setHideItemInHand(
bool) = 0;
379 virtual bool getHideItemInHand()
const = 0;
382 virtual bool getScreenAnimations()
const = 0;
385 virtual void setPlayerViewPerspective(
int) = 0;
388 virtual int getPlayerViewPerspective()
const = 0;
391 virtual void setForceUseUnsortedPolys(
bool) = 0;
394 virtual bool getForceUseUnsortedPolys()
const = 0;
397 virtual void setRenderDebug(::DebugHudOptions) = 0;
400 virtual ::DebugHudOptions getRenderDebug()
const = 0;
403 virtual bool getRemoteImguiEnabled()
const = 0;
406 virtual void setRemoteImguiEnabled(
bool) = 0;
409 virtual float getGamma()
const = 0;
412 virtual void setMSAA(
int) = 0;
415 virtual void setTexelAA(
bool) = 0;
418 virtual void setFixedCamera(
bool) = 0;
421 virtual bool getFixedCamera()
const = 0;
424 virtual void setSkinId(::std::string
const&) = 0;
427 virtual ::std::string
const& getSkinId()
const = 0;
430 virtual void setLastCustomSkinId(::std::string
const&) = 0;
433 virtual ::std::string
const& getLastCustomSkinId()
const = 0;
436 virtual void setRecentSkinIds(::std::vector<::std::string>
const&) = 0;
439 virtual ::std::vector<::std::string>
const& getRecentSkinIds() = 0;
442 virtual bool getFovToggle()
const = 0;
445 virtual void setServerVisible(
bool) = 0;
448 virtual bool getServerVisible()
const = 0;
451 virtual void setSplitControls(
bool) = 0;
454 virtual bool getSplitControls()
const = 0;
457 virtual bool getSwapJumpAndSneak()
const = 0;
460 virtual bool getFancySkies()
const = 0;
463 virtual void setRenderClouds(
bool) = 0;
466 virtual bool getRenderClouds()
const = 0;
469 virtual bool getDevAutoLoadLevel()
const = 0;
472 virtual bool getDevAssertionsDebugBreak()
const = 0;
475 virtual bool getDevAssertionsShowDialog()
const = 0;
478 virtual bool getDevShowDisplayLoggedError()
const = 0;
481 virtual bool getDevShowDisplayLoggedError(::DisplayLoggedErrorType)
const = 0;
484 virtual void setDevShowDevConsoleButton(
bool) = 0;
487 virtual bool getDevShowDevConsoleButton()
const = 0;
490 virtual bool getDevIgnoreUserInput()
const = 0;
493 virtual bool getDevDisplayTreatmentPanel()
const = 0;
496 virtual void setDevDisplayTreatmentPanel(
bool) = 0;
499 virtual void setDevShowMinecraftTCUIReplacement(
bool) = 0;
502 virtual bool getDevShowMinecraftTCUIReplacement()
const = 0;
505 virtual bool getDevCreateRealmWithoutPurchase()
const = 0;
508 virtual bool getDevDisableConnectedStoragePush()
const = 0;
511 virtual bool getDevDisableConnectedStoragePull()
const = 0;
514 virtual void setDevFindMobs(
bool) = 0;
517 virtual bool getDevFindMobs()
const = 0;
520 virtual void setDevRenderBoundingBoxes(
bool) = 0;
523 virtual void setDevRenderPaths(
bool) = 0;
526 virtual void setDevRenderMobInfoState(
bool) = 0;
529 virtual void setDevRenderGoalState(
bool) = 0;
532 virtual void setDevRenderSchedulerInfo(
bool) = 0;
535 virtual void setDevRenderCoordinateSystems(
bool) = 0;
538 virtual bool getDevRenderCoordinateSystems()
const = 0;
541 virtual bool getDevResetClientId()
const = 0;
544 virtual void setDevLogFlushImmediate(
bool) = 0;
547 virtual bool getDevLogFlushImmediate()
const = 0;
550 virtual void setDevLogTimestamp(
bool) = 0;
553 virtual bool getDevLogTimestamp()
const = 0;
556 virtual void setDevLogTrace(
bool) = 0;
559 virtual bool getDevLogTrace()
const = 0;
562 virtual void setDevLogArea(
bool) = 0;
565 virtual bool getDevLogArea()
const = 0;
568 virtual void setDevLogPriority(
bool) = 0;
571 virtual bool getDevLogPriority()
const = 0;
574 virtual void setDevLogThread(
bool) = 0;
577 virtual bool getDevLogThread()
const = 0;
580 virtual void setDevLogAppend(
bool) = 0;
583 virtual bool getDevLogAppend()
const = 0;
586 virtual void setDevLogProcessId(
bool) = 0;
589 virtual bool getDevLogProcessId()
const = 0;
592 virtual void setDevLogThreadId(
bool) = 0;
595 virtual bool getDevLogThreadId()
const = 0;
598 virtual void setDevLogMessageId(
bool) = 0;
601 virtual bool getDevLogMessageId()
const = 0;
604 virtual void setDevLogSilentLogging(
bool) = 0;
607 virtual bool getDevLogSilentLogging()
const = 0;
610 virtual void setDevLogPriorityFilter(::std::string
const&) = 0;
613 virtual ::std::string
const& getDevLogPriorityFilter()
const = 0;
616 virtual void setDevLogAreaFilter(::std::string
const&) = 0;
619 virtual ::std::string
const& getDevLogAreaFilter()
const = 0;
622 virtual void setDevGameEventRetentionTicks(ushort) = 0;
625 virtual void setDevDeepDarkDebugRender(
bool) = 0;
628 virtual bool isLogCategoryEnabled(::BedrockLog::LogCategory)
const = 0;
631 virtual bool getDevEnableProfilerOutput() = 0;
634 virtual bool getDevAddUsersSilently()
const = 0;
637 virtual int getDevBenchmarkModeTime() = 0;
640 virtual bool getDevDisableClientBlobCache()
const = 0;
643 virtual bool getDevClientBlobCacheOnLocalServer()
const = 0;
646 virtual void setLogFlushDelay(
int) = 0;
649 virtual int getLogFlushDelay() = 0;
652 virtual int getAutomationParallelSlices()
const = 0;
655 virtual int getAutomationParallelCurrentSlice()
const = 0;
658 virtual bool getIsAutomationRun()
const = 0;
661 virtual bool getShouldQuitAppAfterTesting()
const = 0;
664 virtual bool shouldUploadTestArtifacts()
const = 0;
667 virtual bool hasAutomationTestRunTimedOut()
const = 0;
670 virtual bool hasAutomationTestRunReachedCrashLimit()
const = 0;
673 virtual bool shouldAppendDebugLogTimestamp()
const = 0;
676 virtual ::std::string getAutomationServerIp()
const = 0;
679 virtual ::std::string getAutomationServerPort()
const = 0;
682 virtual ::std::string getAutomationArtifactUploadSas()
const = 0;
685 virtual ::std::string getAutomationArtifactUploadUrl()
const = 0;
688 virtual ::std::string getAutomationRelativeBlobpath()
const = 0;
691 virtual ::std::string getAutomationFunctionalTestTags()
const = 0;
694 virtual ::std::string getAutomationServerTestTags()
const = 0;
697 virtual ::std::string getAutomationUnitTestTags()
const = 0;
700 virtual ::std::string getAutomationFunctionalBrokenTestTags()
const = 0;
703 virtual ::std::string getAutomationServerBrokenTestTags()
const = 0;
706 virtual ::std::string getAutomationUnitBrokenTestTags()
const = 0;
709 virtual ::std::string getAutomationTestBuildID()
const = 0;
712 virtual ::std::string getAutomationUploadToken()
const = 0;
715 virtual ::std::string getAutomationEnabledFeatures()
const = 0;
718 virtual ::std::string getAutomationEnabledExperiments()
const = 0;
721 virtual bool getAutomationShouldGroupServerTests()
const = 0;
724 virtual bool getAutomationUnrandomTestsEnabled()
const = 0;
727 virtual bool getAutomationRunEntireServerTestGroup()
const = 0;
730 virtual bool getAutomationRunServerTestAfterEachTest()
const = 0;
733 virtual ::std::string
const& getTestBranchName()
const = 0;
736 virtual bool getFunctionalTestBlockInput()
const = 0;
739 virtual bool shouldBlockUserInput()
const = 0;
742 virtual bool hasSetSafeZone()
const = 0;
745 virtual bool getAutomationDisableTreatmentPackDownloads()
const = 0;
748 virtual bool getAutomationProfilerCaptureEnabled()
const = 0;
751 virtual bool getAutomationProfilerFlipEnabled()
const = 0;
754 virtual int getAutomationRepeatCount()
const = 0;
757 virtual int getAutomationSoakTestRunDurationMinutes()
const = 0;
760 virtual bool getAutomationRerunFailuresOnly()
const = 0;
763 virtual int getAutomationUnitPerTestcaseTimeout()
const = 0;
766 virtual int getAutomationFunctionalPerTestcaseTimeout()
const = 0;
769 virtual int getAutomationServerPerTestcaseTimeout()
const = 0;
772 virtual void setAutomationFunctionalBrokenTestTags(::std::string
const&) = 0;
775 virtual void setAutomationUnitBrokenTestTags(::std::string
const&) = 0;
778 virtual void setAutomationUploadToken(::std::string
const&) = 0;
781 virtual bool getDevAchievmentsAlwaysEnabled() = 0;
784 virtual bool shouldServerTestsLogWorlds()
const = 0;
787 virtual bool shouldServerTestsAssertOnLevelDiff()
const = 0;
790 virtual ::std::string getAutomationMultiplayerSessionName()
const = 0;
793 virtual int getAutomationMultiplayerDeviceIndex()
const = 0;
796 virtual ::std::vector<::std::string> getAutomationMultiplayerUserAccounts()
const = 0;
799 virtual ::DevConnectionQuality getDevConnectionQuality()
const = 0;
802 virtual int getDevRenderAttachPos()
const = 0;
805 virtual void setMultiPlayerGame(
bool) = 0;
808 virtual bool getMultiPlayerGame()
const = 0;
811 virtual void setXboxLiveVisible(
bool) = 0;
814 virtual bool wasLoggedInLastSession() = 0;
817 virtual void setHasEverLoggedIntoXbl(
bool) = 0;
820 virtual bool getHasEverLoggedIntoXbl()
const = 0;
823 virtual void setHasShownFirstLaunchWelcomeModal(
bool) = 0;
826 virtual bool getHasShownFirstLaunchWelcomeModal()
const = 0;
829 virtual void setHasShownFirstSocialWelcomeModal(
bool) = 0;
832 virtual bool getHasShownFirstSocialWelcomeModal()
const = 0;
835 virtual void setDoNotShowFriendsListFTUE(
bool) = 0;
838 virtual bool getDoNotShowFriendsListFTUE()
const = 0;
841 virtual void setHasShownBannedModalAtStartup(
bool) = 0;
844 virtual bool getHasShownBannedModalAtStartup()
const = 0;
847 virtual void setAcknowledgedAutoSave(
bool) = 0;
850 virtual bool getAcknowledgedAutoSave()
const = 0;
853 virtual void setRealmsInviteShowFriendsOption(
bool) = 0;
856 virtual bool getRealmsInviteShowFriendsOption()
const = 0;
859 virtual void setNumberOfOwnedRealms(
int) = 0;
862 virtual int getNumberOfOwnedRealms()
const = 0;
865 virtual void setNumberOfFriendsRealms(
int) = 0;
868 virtual int getNumberOfFriendsRealms()
const = 0;
871 virtual void setCreateRealmUpsellCount(
int) = 0;
874 virtual int getCreateRealmUpsellCount()
const = 0;
877 virtual void setSaveAndQuitCount(
int) = 0;
880 virtual int getSaveAndQuitCount()
const = 0;
883 virtual void setIsRatingsPromptShown(
bool) = 0;
886 virtual bool getIsRatingsPromptShown()
const = 0;
889 virtual void setShowRealmsTrialButtonFromPlayScreen(
bool) = 0;
892 virtual bool getShowRealmsTrialButtonFromPlayScreen()
const = 0;
895 virtual ::AutoUpdateMode getAutoUpdateMode()
const = 0;
898 virtual void setCanUseCellularData(
bool) = 0;
901 virtual bool getCanUseCellularData()
const = 0;
904 virtual void setRequireWebsocketEncryption(
bool) = 0;
907 virtual bool getRequireWebsocketEncryption()
const = 0;
910 virtual void setWebsocketsEnabled(
bool) = 0;
913 virtual bool getWebsocketsEnabled()
const = 0;
916 virtual void setUseIPv6Only(
bool) = 0;
919 virtual bool getUseIPv6Only()
const = 0;
922 virtual void setUseRetailXboxSandbox(
bool const) = 0;
925 virtual bool getUseRetailXboxSandbox()
const = 0;
928 virtual void setXboxLiveSandbox(::XboxSandboxEnvironment) = 0;
931 virtual ::std::string
const& getXboxLiveSandbox()
const = 0;
934 virtual void setRealmsEnvironment(::RealmsEnvironment) = 0;
937 virtual ::RealmsEnvironment getRealmsEnvironment()
const = 0;
940 virtual void setRealmsEndpoint(::std::string
const&) = 0;
943 virtual ::std::string
const& getRealmsEndpoint()
const = 0;
946 virtual ::std::string
const& getRealmsV2Endpoint()
const = 0;
949 virtual void setRealmsEndpointPayment(::std::string
const&) = 0;
952 virtual ::std::string
const& getRealmsEndpointPayment()
const = 0;
955 virtual void setRealmsRelyingParty(::std::string
const&) = 0;
958 virtual ::std::string
const& getRealmsRelyingParty()
const = 0;
961 virtual void setRealmsRelyingPartyPayment(::std::string
const&) = 0;
964 virtual ::std::string
const& getRealmsRelyingPartyPayment()
const = 0;
967 virtual void setStoreHasPurchasedCoins(
bool) = 0;
970 virtual bool getStoreHasPurchasedCoins()
const = 0;
973 virtual void setShowUnfulfilledPurchaseModal(
bool) = 0;
976 virtual bool getShowUnfulfilledPurchaseModal()
const = 0;
979 virtual void setSwitchCoinDebug(
bool) = 0;
982 virtual bool getSwitchCoinDebug()
const = 0;
985 virtual float getDefaultPlatformSafeZoneX()
const = 0;
988 virtual float getDefaultPlatformSafeZoneY()
const = 0;
991 virtual bool getServerboundClientDiagnosticsEnabled()
const = 0;
994 virtual ::ScriptDebuggerSettings getScriptDebuggerSettings()
const = 0;
997 virtual ::Scripting::WatchdogSettings getScriptWatchdogSettings()
const = 0;
1000 virtual void setEduHasLoggedIn(
bool) = 0;
1003 virtual bool getEduHasLoggedIn()
const = 0;
1006 virtual void setShownPlatformNetworkConnectConfirmation(
bool) = 0;
1009 virtual bool getShownPlatformNetworkConnectConfirmation()
const = 0;
1012 virtual void setShownPlatformPremiumUpsell(
bool) = 0;
1015 virtual bool getShownPlatformPremiumUpsell()
const = 0;
1018 virtual void setAppLaunchedCount(
int) = 0;
1021 virtual int getAppLaunchedCount()
const = 0;
1024 virtual void setEcoMode(
bool) = 0;
1027 virtual bool getEcoMode()
const = 0;
1030 virtual void setEduCloudBackupToggle(
bool) = 0;
1033 virtual bool getEduCloudBackupToggle()
const = 0;
1036 virtual void setUseFontOverrides(
bool) = 0;
1039 virtual bool getUseFontOverrides()
const = 0;
1042 virtual ::NewInteractionModel getEffectiveTouchScheme()
const = 0;
1045 virtual void setSaveDeferralCount(
int) = 0;
1048 virtual int getSaveDeferralCount()
const = 0;
1051 virtual void setForceVibrantVisualsDisabled(
bool) = 0;