41 enum class SaveRequestMode :
int {
54 virtual ::std::shared_ptr<::IOptions> sharedFromThis() = 0;
57 virtual ::std::shared_ptr<::IOptions const> sharedFromThis()
const = 0;
60 virtual ::Option& _registerOption(::std::unique_ptr<::Option>) = 0;
66 virtual void tickSaveTimer() = 0;
69 virtual void notifySaveAllowed() = 0;
72 virtual void saveIfNeeded() = 0;
75 virtual ::OptionSaveDeferral requestSaveDeferral() = 0;
78 virtual void reset(::OptionResetFlags, ::InputMode) = 0;
81 virtual bool getPrimaryUserStatus()
const = 0;
87 virtual void onScreenSizeChanged(
int,
int) = 0;
90 virtual bool isValidOption(::OptionID)
const = 0;
93 virtual ::gsl::not_null<::Option*> get(::OptionID) = 0;
96 virtual ::std::optional<::Option*> getIfValid(::OptionID) = 0;
99 virtual ::std::optional<::Option const*> getIfValid(::OptionID)
const = 0;
102 virtual void getTelemetryOptions(::std::vector<::OptionID>&) = 0;
105 virtual void refreshRenderDistanceLevels() = 0;
108 virtual bool isLoadInProgress() = 0;
114 virtual void loadOptionsFromString(::std::string) = 0;
117 virtual void elevateSaveRequestMode(::IOptions::SaveRequestMode) = 0;
120 virtual ::ChatOptions
const& getChatOptions()
const = 0;
123 virtual ::ChatOptions& getChatOptions() = 0;
126 virtual ::std::array<::std::unique_ptr<::Option>, 770>
const& getAllRegisteredOptions() = 0;
129 virtual void forEachOption(::std::function<
void(
::Option*)>) = 0;
132 virtual bool consumeDevOptionsDirty() = 0;
135 virtual void dumpOptionsToLogFile()
const = 0;
138 virtual void updateInputMode(::InputMode) = 0;
141 virtual void setMainVolume(
float) = 0;
144 virtual float getMainVolume()
const = 0;
147 virtual void setMusicVolume(
float) = 0;
150 virtual float getMusicVolume()
const = 0;
153 virtual void setSoundVolume(
float) = 0;
156 virtual float getSoundVolume()
const = 0;
159 virtual void setTTSVolume(
float) = 0;
162 virtual float getTTSVolume()
const = 0;
165 virtual float getChatMessageDuration()
const = 0;
168 virtual float getToastNotificationDuration()
const = 0;
171 virtual void setSensitivity(
float, ::InputMode) = 0;
174 virtual float getSensitivity(::InputMode)
const = 0;
177 virtual void setSpyglassDamping(
float, ::InputMode) = 0;
180 virtual float getSpyglassDamping(::InputMode)
const = 0;
183 virtual void setDwellBeforeDrag(
float) = 0;
186 virtual float getDwellBeforeDrag()
const = 0;
189 virtual void setStackSplittingTrigger(
float) = 0;
192 virtual float getStackSplittingTrigger()
const = 0;
195 virtual float getGameSensitivity(::InputMode)
const = 0;
198 virtual void setFileStorageLocation(::FileStorageDirectory, ::std::function<
void(
bool)>) = 0;
201 virtual ::FileStorageDirectory getFileStorageLocation()
const = 0;
204 virtual bool getInvertYMouse(::InputMode)
const = 0;
207 virtual int getViewDistanceChunks()
const = 0;
210 virtual int getDefaultViewDistanceChunks(::GraphicsMode)
const = 0;
213 virtual int getMaxViewDistanceChunksRaw()
const = 0;
216 virtual float getParticleViewDistance()
const = 0;
219 virtual bool getBobView()
const = 0;
222 virtual bool getCameraShake()
const = 0;
225 virtual bool getHideEndFlash()
const = 0;
228 virtual void setResetPlayerAlignment(
bool) = 0;
231 virtual bool getResetPlayerAlignment()
const = 0;
234 virtual bool getTransparentLeaves()
const = 0;
237 virtual bool getFancyBubbles()
const = 0;
240 virtual bool getSmoothLighting()
const = 0;
243 virtual bool getGuiAccessibilityScaling()
const = 0;
246 virtual bool getRayTracing()
const = 0;
249 virtual bool getDeferred()
const = 0;
252 virtual int getGraphicsQualityPresetMode()
const = 0;
255 virtual int getDeferredTargetFrameRate()
const = 0;
258 virtual bool getUseMouseForDigging()
const = 0;
261 virtual bool isLeftHanded()
const = 0;
264 virtual bool isHotbarOnlyTouch()
const = 0;
267 virtual bool getDestroyVibration(::InputMode)
const = 0;
270 virtual bool getSplitVibration(::InputMode)
const = 0;
273 virtual bool getAutoJump(::InputMode)
const = 0;
276 virtual void setFullscreen(
bool) = 0;
279 virtual bool getFullscreen()
const = 0;
282 virtual void toggleFullscreen() = 0;
285 virtual ::GamePadRemappingLayout& getGamePadRemapping() = 0;
288 virtual ::std::shared_ptr<::KeyboardRemappingLayout> getCurrentKeyboardRemapping()
const = 0;
291 virtual ::std::shared_ptr<::KeyboardRemappingLayout> getKeyboardRemappingByType(::KeyboardType)
const = 0;
294 virtual void setLanguage(::std::string
const&) = 0;
297 virtual ::std::string getLanguage()
const = 0;
300 virtual void setDifficulty(
int) = 0;
303 virtual void setHideGUI(
bool) = 0;
306 virtual bool getHideHud()
const = 0;
309 virtual bool getHideHand()
const = 0;
312 virtual void setHideToolTips(
bool) = 0;
315 virtual bool getHideToolTips()
const = 0;
318 virtual void setHidePaperDoll(
bool) = 0;
321 virtual bool getHidePaperDoll()
const = 0;
324 virtual void setIngamePlayerNames(
bool) = 0;
327 virtual bool getIngamePlayerNames()
const = 0;
330 virtual void setSplitscreenIngamePlayerNames(
bool) = 0;
333 virtual bool getSplitscreenIngamePlayerNames()
const = 0;
336 virtual void setInterfaceOpacity(
float) = 0;
339 virtual float getInterfaceOpacity()
const = 0;
342 virtual void setSplitscreenInterfaceOpacity(
float) = 0;
345 virtual float getSplitscreenInterfaceOpacity()
const = 0;
348 virtual void setShowAutoSaveIcon(
bool) = 0;
351 virtual bool getShowAutoSaveIcon()
const = 0;
354 virtual void setSplitscreenDirection(
int) = 0;
357 virtual ::SplitScreenDirection getSplitscreenDirection()
const = 0;
360 virtual void setHideScreens(
bool) = 0;
363 virtual bool getHideScreens()
const = 0;
366 virtual void setHideItemInHand(
bool) = 0;
369 virtual bool getHideItemInHand()
const = 0;
372 virtual bool getScreenAnimations()
const = 0;
375 virtual void setPlayerViewPerspective(
int) = 0;
378 virtual int getPlayerViewPerspective()
const = 0;
381 virtual void setForceUseUnsortedPolys(
bool) = 0;
384 virtual bool getForceUseUnsortedPolys()
const = 0;
387 virtual void setRenderDebug(::DebugHudOptions) = 0;
390 virtual ::DebugHudOptions getRenderDebug()
const = 0;
393 virtual bool getRemoteImguiEnabled()
const = 0;
396 virtual void setRemoteImguiEnabled(
bool) = 0;
399 virtual float getGamma()
const = 0;
402 virtual void setMSAA(
int) = 0;
405 virtual void setTexelAA(
bool) = 0;
408 virtual void setFixedCamera(
bool) = 0;
411 virtual bool getFixedCamera()
const = 0;
414 virtual void setSkinId(::std::string
const&) = 0;
417 virtual ::std::string
const& getSkinId()
const = 0;
420 virtual void setLastCustomSkinId(::std::string
const&) = 0;
423 virtual ::std::string
const& getLastCustomSkinId()
const = 0;
426 virtual void setRecentSkinIds(::std::vector<::std::string>
const&) = 0;
429 virtual ::std::vector<::std::string>
const& getRecentSkinIds() = 0;
432 virtual bool getFovToggle()
const = 0;
435 virtual void setServerVisible(
bool) = 0;
438 virtual bool getServerVisible()
const = 0;
441 virtual void setSplitControls(
bool) = 0;
444 virtual bool getSplitControls()
const = 0;
447 virtual bool getSwapJumpAndSneak()
const = 0;
450 virtual bool getFancySkies()
const = 0;
453 virtual void setRenderClouds(
bool) = 0;
456 virtual bool getRenderClouds()
const = 0;
459 virtual bool getDevAutoLoadLevel()
const = 0;
462 virtual bool getDevAssertionsDebugBreak()
const = 0;
465 virtual bool getDevAssertionsShowDialog()
const = 0;
468 virtual bool getDevShowDisplayLoggedError()
const = 0;
471 virtual bool getDevShowDisplayLoggedError(::DisplayLoggedErrorType)
const = 0;
474 virtual void setDevShowDevConsoleButton(
bool) = 0;
477 virtual bool getDevShowDevConsoleButton()
const = 0;
480 virtual bool getDevIgnoreUserInput()
const = 0;
483 virtual bool getDevDisplayTreatmentPanel()
const = 0;
486 virtual void setDevDisplayTreatmentPanel(
bool) = 0;
489 virtual void setDevShowMinecraftTCUIReplacement(
bool) = 0;
492 virtual bool getDevShowMinecraftTCUIReplacement()
const = 0;
495 virtual bool getDevCreateRealmWithoutPurchase()
const = 0;
498 virtual bool getDevDisableConnectedStoragePush()
const = 0;
501 virtual bool getDevDisableConnectedStoragePull()
const = 0;
504 virtual void setDevFindMobs(
bool) = 0;
507 virtual bool getDevFindMobs()
const = 0;
510 virtual void setDevRenderBoundingBoxes(
bool) = 0;
513 virtual void setDevRenderPaths(
bool) = 0;
516 virtual void setDevRenderMobInfoState(
bool) = 0;
519 virtual void setDevRenderGoalState(
bool) = 0;
522 virtual void setDevRenderSchedulerInfo(
bool) = 0;
525 virtual void setDevRenderCoordinateSystems(
bool) = 0;
528 virtual bool getDevRenderCoordinateSystems()
const = 0;
531 virtual bool getDevResetClientId()
const = 0;
534 virtual void setDevLogFlushImmediate(
bool) = 0;
537 virtual bool getDevLogFlushImmediate()
const = 0;
540 virtual void setDevLogTimestamp(
bool) = 0;
543 virtual bool getDevLogTimestamp()
const = 0;
546 virtual void setDevLogTrace(
bool) = 0;
549 virtual bool getDevLogTrace()
const = 0;
552 virtual void setDevLogArea(
bool) = 0;
555 virtual bool getDevLogArea()
const = 0;
558 virtual void setDevLogPriority(
bool) = 0;
561 virtual bool getDevLogPriority()
const = 0;
564 virtual void setDevLogThread(
bool) = 0;
567 virtual bool getDevLogThread()
const = 0;
570 virtual void setDevLogAppend(
bool) = 0;
573 virtual bool getDevLogAppend()
const = 0;
576 virtual void setDevLogProcessId(
bool) = 0;
579 virtual bool getDevLogProcessId()
const = 0;
582 virtual void setDevLogThreadId(
bool) = 0;
585 virtual bool getDevLogThreadId()
const = 0;
588 virtual void setDevLogMessageId(
bool) = 0;
591 virtual bool getDevLogMessageId()
const = 0;
594 virtual void setDevLogSilentLogging(
bool) = 0;
597 virtual bool getDevLogSilentLogging()
const = 0;
600 virtual void setDevLogPriorityFilter(::std::string
const&) = 0;
603 virtual ::std::string
const& getDevLogPriorityFilter()
const = 0;
606 virtual void setDevLogAreaFilter(::std::string
const&) = 0;
609 virtual ::std::string
const& getDevLogAreaFilter()
const = 0;
612 virtual void setDevGameEventRetentionTicks(ushort) = 0;
615 virtual void setDevDeepDarkDebugRender(
bool) = 0;
618 virtual bool isLogCategoryEnabled(::BedrockLog::LogCategory)
const = 0;
621 virtual bool getDevEnableProfilerOutput() = 0;
624 virtual bool getDevAddUsersSilently()
const = 0;
627 virtual int getDevBenchmarkModeTime() = 0;
630 virtual bool getDevDisableClientBlobCache()
const = 0;
633 virtual bool getDevClientBlobCacheOnLocalServer()
const = 0;
636 virtual void setLogFlushDelay(
int) = 0;
639 virtual int getLogFlushDelay() = 0;
642 virtual int getAutomationParallelSlices()
const = 0;
645 virtual int getAutomationParallelCurrentSlice()
const = 0;
648 virtual bool getIsAutomationRun()
const = 0;
651 virtual bool getShouldQuitAppAfterTesting()
const = 0;
654 virtual bool shouldUploadTestArtifacts()
const = 0;
657 virtual bool hasAutomationTestRunTimedOut()
const = 0;
660 virtual bool hasAutomationTestRunReachedCrashLimit()
const = 0;
663 virtual bool shouldAppendDebugLogTimestamp()
const = 0;
666 virtual ::std::string getAutomationServerIp()
const = 0;
669 virtual ::std::string getAutomationServerPort()
const = 0;
672 virtual ::std::string getAutomationArtifactUploadSas()
const = 0;
675 virtual ::std::string getAutomationArtifactUploadUrl()
const = 0;
678 virtual ::std::string getAutomationRelativeBlobpath()
const = 0;
681 virtual ::std::string getAutomationFunctionalTestTags()
const = 0;
684 virtual ::std::string getAutomationServerTestTags()
const = 0;
687 virtual ::std::string getAutomationUnitTestTags()
const = 0;
690 virtual ::std::string getAutomationFunctionalBrokenTestTags()
const = 0;
693 virtual ::std::string getAutomationServerBrokenTestTags()
const = 0;
696 virtual ::std::string getAutomationUnitBrokenTestTags()
const = 0;
699 virtual ::std::string getAutomationTestBuildID()
const = 0;
702 virtual ::std::string getAutomationUploadToken()
const = 0;
705 virtual ::std::string getAutomationEnabledFeatures()
const = 0;
708 virtual ::std::string getAutomationEnabledExperiments()
const = 0;
711 virtual bool getAutomationShouldGroupServerTests()
const = 0;
714 virtual bool getAutomationUnrandomTestsEnabled()
const = 0;
717 virtual bool getAutomationRunEntireServerTestGroup()
const = 0;
720 virtual bool getAutomationRunServerTestAfterEachTest()
const = 0;
723 virtual ::std::string
const& getTestBranchName()
const = 0;
726 virtual bool getFunctionalTestBlockInput()
const = 0;
729 virtual bool shouldBlockUserInput()
const = 0;
732 virtual bool hasSetSafeZone()
const = 0;
735 virtual bool getAutomationDisableTreatmentPackDownloads()
const = 0;
738 virtual bool getAutomationProfilerCaptureEnabled()
const = 0;
741 virtual bool getAutomationProfilerFlipEnabled()
const = 0;
744 virtual int getAutomationRepeatCount()
const = 0;
747 virtual int getAutomationSoakTestRunDurationMinutes()
const = 0;
750 virtual bool getAutomationRerunFailuresOnly()
const = 0;
753 virtual int getAutomationUnitPerTestcaseTimeout()
const = 0;
756 virtual int getAutomationFunctionalPerTestcaseTimeout()
const = 0;
759 virtual int getAutomationServerPerTestcaseTimeout()
const = 0;
762 virtual void setAutomationFunctionalBrokenTestTags(::std::string
const&) = 0;
765 virtual void setAutomationUnitBrokenTestTags(::std::string
const&) = 0;
768 virtual void setAutomationUploadToken(::std::string
const&) = 0;
771 virtual bool getDevAchievmentsAlwaysEnabled() = 0;
774 virtual bool shouldServerTestsLogWorlds()
const = 0;
777 virtual bool shouldServerTestsAssertOnLevelDiff()
const = 0;
780 virtual ::std::string getAutomationMultiplayerSessionName()
const = 0;
783 virtual int getAutomationMultiplayerDeviceIndex()
const = 0;
786 virtual ::std::vector<::std::string> getAutomationMultiplayerUserAccounts()
const = 0;
789 virtual ::DevConnectionQuality getDevConnectionQuality()
const = 0;
792 virtual int getDevRenderAttachPos()
const = 0;
795 virtual void setMultiPlayerGame(
bool) = 0;
798 virtual bool getMultiPlayerGame()
const = 0;
801 virtual void setXboxLiveVisible(
bool) = 0;
804 virtual bool wasLoggedInLastSession() = 0;
807 virtual void setHasEverLoggedIntoXbl(
bool) = 0;
810 virtual bool getHasEverLoggedIntoXbl()
const = 0;
813 virtual void setHasShownFirstLaunchWelcomeModal(
bool) = 0;
816 virtual bool getHasShownFirstLaunchWelcomeModal()
const = 0;
819 virtual void setHasShownFirstSocialWelcomeModal(
bool) = 0;
822 virtual bool getHasShownFirstSocialWelcomeModal()
const = 0;
825 virtual void setHasShownBannedModalAtStartup(
bool) = 0;
828 virtual bool getHasShownBannedModalAtStartup()
const = 0;
831 virtual void setAcknowledgedAutoSave(
bool) = 0;
834 virtual bool getAcknowledgedAutoSave()
const = 0;
837 virtual void setRealmsInviteShowFriendsOption(
bool) = 0;
840 virtual bool getRealmsInviteShowFriendsOption()
const = 0;
843 virtual void setNumberOfOwnedRealms(
int) = 0;
846 virtual int getNumberOfOwnedRealms()
const = 0;
849 virtual void setNumberOfFriendsRealms(
int) = 0;
852 virtual int getNumberOfFriendsRealms()
const = 0;
855 virtual void setCreateRealmUpsellCount(
int) = 0;
858 virtual int getCreateRealmUpsellCount()
const = 0;
861 virtual void setSaveAndQuitCount(
int) = 0;
864 virtual int getSaveAndQuitCount()
const = 0;
867 virtual void setIsRatingsPromptShown(
bool) = 0;
870 virtual bool getIsRatingsPromptShown()
const = 0;
873 virtual void setShowRealmsTrialButtonFromPlayScreen(
bool) = 0;
876 virtual bool getShowRealmsTrialButtonFromPlayScreen()
const = 0;
879 virtual ::AutoUpdateMode getAutoUpdateMode()
const = 0;
882 virtual void setCanUseCellularData(
bool) = 0;
885 virtual bool getCanUseCellularData()
const = 0;
888 virtual void setRequireWebsocketEncryption(
bool) = 0;
891 virtual bool getRequireWebsocketEncryption()
const = 0;
894 virtual void setWebsocketsEnabled(
bool) = 0;
897 virtual bool getWebsocketsEnabled()
const = 0;
900 virtual void setUseIPv6Only(
bool) = 0;
903 virtual bool getUseIPv6Only()
const = 0;
906 virtual void setUseRetailXboxSandbox(
bool const) = 0;
909 virtual bool getUseRetailXboxSandbox()
const = 0;
912 virtual void setXboxLiveSandbox(::XboxSandboxEnvironment) = 0;
915 virtual ::std::string
const& getXboxLiveSandbox()
const = 0;
918 virtual void setRealmsEnvironment(::RealmsEnvironment) = 0;
921 virtual ::RealmsEnvironment getRealmsEnvironment()
const = 0;
924 virtual void setRealmsEndpoint(::std::string
const&) = 0;
927 virtual ::std::string
const& getRealmsEndpoint()
const = 0;
930 virtual ::std::string
const& getRealmsV2Endpoint()
const = 0;
933 virtual void setRealmsEndpointPayment(::std::string
const&) = 0;
936 virtual ::std::string
const& getRealmsEndpointPayment()
const = 0;
939 virtual void setRealmsRelyingParty(::std::string
const&) = 0;
942 virtual ::std::string
const& getRealmsRelyingParty()
const = 0;
945 virtual void setRealmsRelyingPartyPayment(::std::string
const&) = 0;
948 virtual ::std::string
const& getRealmsRelyingPartyPayment()
const = 0;
951 virtual void setStoreHasPurchasedCoins(
bool) = 0;
954 virtual bool getStoreHasPurchasedCoins()
const = 0;
957 virtual void setShowUnfulfilledPurchaseModal(
bool) = 0;
960 virtual bool getShowUnfulfilledPurchaseModal()
const = 0;
963 virtual void setSwitchCoinDebug(
bool) = 0;
966 virtual bool getSwitchCoinDebug()
const = 0;
969 virtual float getDefaultPlatformSafeZoneX()
const = 0;
972 virtual float getDefaultPlatformSafeZoneY()
const = 0;
975 virtual bool getServerboundClientDiagnosticsEnabled()
const = 0;
978 virtual ::ScriptDebuggerSettings getScriptDebuggerSettings()
const = 0;
981 virtual ::Scripting::WatchdogSettings getScriptWatchdogSettings()
const = 0;
984 virtual void setEduHasLoggedIn(
bool) = 0;
987 virtual bool getEduHasLoggedIn()
const = 0;
990 virtual void setShownPlatformNetworkConnectConfirmation(
bool) = 0;
993 virtual bool getShownPlatformNetworkConnectConfirmation()
const = 0;
996 virtual void setShownPlatformPremiumUpsell(
bool) = 0;
999 virtual bool getShownPlatformPremiumUpsell()
const = 0;
1002 virtual void setAppLaunchedCount(
int) = 0;
1005 virtual int getAppLaunchedCount()
const = 0;
1008 virtual void setEcoMode(
bool) = 0;
1011 virtual bool getEcoMode()
const = 0;
1014 virtual void setEduCloudBackupToggle(
bool) = 0;
1017 virtual bool getEduCloudBackupToggle()
const = 0;
1020 virtual void setUseFontOverrides(
bool) = 0;
1023 virtual bool getUseFontOverrides()
const = 0;
1026 virtual ::NewInteractionModel getEffectiveTouchScheme()
const = 0;
1029 virtual void setSaveDeferralCount(
int) = 0;
1032 virtual int getSaveDeferralCount()
const = 0;
1035 virtual void setForceVibrantVisualsDisabled(
bool) = 0;