knownOptions["version"]=std::make_shared<GameOption>(0,"Data version of the client version this file was last saved in; used for upgrading default settings. (numeric)",true);
knownOptions["autoJump"]=std::make_shared<GameOption>(false,"Whether auto-jump is enabled");
knownOptions["autoSuggestions"]=std::make_shared<GameOption>(true,"True if brigadier's command suggestion UI should always be shown, instead of just when pressing tab");
knownOptions["chatColors"]=std::make_shared<GameOption>(true,"Whether colored chat is allowed");
knownOptions["chatLinks"]=std::make_shared<GameOption>(true,"Whether links show as links or just text in the chat");
knownOptions["chatLinksPrompt"]=std::make_shared<GameOption>(true,"Whether clicking on links in chat needs confirmation before opening them");
knownOptions["enableVsync"]=std::make_shared<GameOption>(true,"Whether v-sync (vertical synchronization) is enabled");
knownOptions["entityShadows"]=std::make_shared<GameOption>(true,"Whether to display entity shadows");
knownOptions["forceUnicodeFont"]=std::make_shared<GameOption>(false,"Whether Unicode font should be used");
knownOptions["discrete_mouse_scroll"]=std::make_shared<GameOption>(false,"Ignores scrolling set by operating system");
knownOptions["invertYMouse"]=std::make_shared<GameOption>(false,"Whether mouse is inverted or not");
knownOptions["realmsNotifications"]=std::make_shared<GameOption>(true,"Whether Realms invites are alerted on the main menu");
knownOptions["reducedDebugInfo"]=std::make_shared<GameOption>(false,"Whether to show reduced information on the Debug screen");
knownOptions["showSubtitles"]=std::make_shared<GameOption>(false,"If subtitles are shown");
knownOptions["directionalAudio"]=std::make_shared<GameOption>(false,"If Directional Audio is enabled");
knownOptions["touchscreen"]=std::make_shared<GameOption>(false,"Whether touchscreen controls are used");
knownOptions["fullscreen"]=std::make_shared<GameOption>(false,"Whether the game attempts to go fullscreen at startup");
knownOptions["bobView"]=std::make_shared<GameOption>(true,"Whether or not the camera bobs up and down as the player walks");
knownOptions["toggleCrouch"]=std::make_shared<GameOption>(false,"Whether the sneak key must be pressed or held to activate sneaking");
knownOptions["toggleSprint"]=std::make_shared<GameOption>(false,"Whether the sprint key must be pressed or held to activate sprinting");
knownOptions["darkMojangStudiosBackground"]=std::make_shared<GameOption>(false,"Whether the Mojang Studios loading screen will appear monochrome");
knownOptions["mouseSensitivity"]=std::make_shared<GameOption>(0.5,"How much a mouse movement changes the position of the camera",Range<float>{0.0,1.0});
// FOV: The in-game value is counted in degrees, however, the options.txt isn't. The value is converted into degrees with the following formula: degrees = 40 * value + 70
knownOptions["fov"]=std::make_shared<GameOption>(0.0,"How large the field of view is",Range<float>{-1.0,1.0});
knownOptions["screenEffectScale"]=std::make_shared<GameOption>(1.0,"Distortion Effects (how intense the effects of Nausea and nether portals are)",Range<float>{0.0,1.0});
knownOptions["fovEffectScale"]=std::make_shared<GameOption>(1.0,"FOV Effects (how much the field of view changes when sprinting, having Speed or Slowness etc.)",Range<float>{0.0,1.0});
knownOptions["darknessEffectScale"]=std::make_shared<GameOption>(1.0,"Darkness Pulsing (how much the Darkness effect pulses)",Range<float>{0.0,1.0});
knownOptions["renderDistance"]=std::make_shared<GameOption>(12,"The render distance in the chunk radius from the player - Note: The Maximum and default in vanilla is 32 and 12, 16 and 8 on 32bit machines",Range<int>{2,64});
knownOptions["simulationDistance"]=std::make_shared<GameOption>(12,"The simulation distance in the chunk radius from the player - Note: The Maximum and default in vanilla is 32 and 12, 16 and 8 on 32bit machines",Range<int>{5,32});
knownOptions["entityDistanceScaling"]=std::make_shared<GameOption>(1.0,"The maximum distance from the player that entities render",Range<float>{0.5,5.0});
knownOptions["guiScale"]=std::make_shared<GameOption>(0,"Size of interfaces - Note: 0 (Auto) or 1+ for size. Upper limit based on window resolution");
knownOptions["particles"]=std::make_shared<GameOption>(0,"Amount of particles (such as rain, potion effects, etc.)",Range<int>{0,2});
knownOptions["maxFps"]=std::make_shared<GameOption>(120,"The maximum framerate",Range<int>{10,260});
knownOptions["difficulty"]=std::make_shared<GameOption>(2,"Has no effect after 1.7.2",Range<int>{0,3});
knownOptions["graphicsMode"]=std::make_shared<GameOption>(1,"Whether Fast (less detailed), Fancy (more detailed), or Fabulous! (most detailed) graphics are turned on",Range<int>{0,2});
knownOptions["resourcePacks"]=std::make_shared<GameOption>("[]","A list of active resource packs",QStringList(),false);
knownOptions["incompatibleResourcePacks"]=std::make_shared<GameOption>("[]","A list of active resource packs that are marked as incompatible with the current Minecraft version.",QStringList(),false);
knownOptions["lastServer"]=std::make_shared<GameOption>("","Address of last server used with Direct Connection");
knownOptions["lang"]=std::make_shared<GameOption>("en_us","Language to be used");
knownOptions["soundDevice"]=std::make_shared<GameOption>("","Sound device to be used");
knownOptions["chatVisibility"]=std::make_shared<GameOption>(0,"What is seen in chat",Range<int>{0,2});
knownOptions["chatOpacity"]=std::make_shared<GameOption>(1.0,"Opacity of the chat",Range<float>{0,1});
knownOptions["chatLineSpacing"]=std::make_shared<GameOption>(0.0,"Spacing between text in chat",Range<float>{0,1});
knownOptions["textBackgroundOpacity"]=std::make_shared<GameOption>(0.5,"Opacity of text background",Range<float>{0,1});
knownOptions["backgroundForChatOnly"]=std::make_shared<GameOption>(true,"Toggles if the background is only in chat or if it's everywhere");
knownOptions["hideServerAddress"]=std::make_shared<GameOption>(false,"Has no effect in modern versions");
knownOptions["advancedItemTooltips"]=std::make_shared<GameOption>(false,"Whether hovering over items in the inventory shows its ID and durability; toggled by pressing F3+H");
knownOptions["pauseOnLostFocus"]=std::make_shared<GameOption>(true,"Whether switching out of Minecraft without pressing Esc or opening an in-game interface automatically pauses the game; toggled by pressing F3+P");
knownOptions["overrideWidth"]=std::make_shared<GameOption>(0,"Width to open Minecraft with in pixels (0 means default to the Minecraft settings); no in-game control");
knownOptions["overrideHeight"]=std::make_shared<GameOption>(0,"Height to open Minecraft with in pixels (0 means default to the Minecraft settings); no in-game control");
knownOptions["heldItemTooltips"]=std::make_shared<GameOption>(true,"Whether switching between items shows the name of the item; no in-game control");
knownOptions["chatHeightFocused"]=std::make_shared<GameOption>(1.0,"How tall the chat span is",Range<float>{0,1});
knownOptions["chatDelay"]=std::make_shared<GameOption>(0.0,"How much delay there is between text",Range<float>{0,6});
knownOptions["chatHeightUnfocused"]=std::make_shared<GameOption>(0.4375,"How tall the maximum chat span is, when the chat button is not pressed",Range<float>{0,1});
knownOptions["chatScale"]=std::make_shared<GameOption>(1.0,"The scale/size of the text in the chat",Range<float>{0,1});
knownOptions["chatWidth"]=std::make_shared<GameOption>(1.0,"The span width of the chat",Range<float>{0,1});
knownOptions["mipmapLevels"]=std::make_shared<GameOption>(4,"Amount by which distant textures are smoothed",Range<int>{0,4});
knownOptions["useNativeTransport"]=std::make_shared<GameOption>(true,"Whether to use a Netty EpollSocketChannel for connections to servers instead of a NioSocketChannel (only applies if EPOLL is available on the user's system)");
knownOptions["mainHand"]=std::make_shared<GameOption>("right","Whether the main hand appears as left or right",QStringList{"left","right"});
knownOptions["attackIndicator"]=std::make_shared<GameOption>(1,"When hitting, how the attack indicator is shown on screen",Range<int>{0,2});
knownOptions["narrator"]=std::make_shared<GameOption>(0,"Setting of the Narrator",Range<int>{0,3});
knownOptions["tutorialStep"]=std::make_shared<GameOption>("movement","Next stage of tutorial hints to display",
knownOptions["mouseWheelSensitivity"]=std::make_shared<GameOption>(1.0f,"Allows making the mouse wheel more sensitive (see MC-123773)",Range<float>{1.0f,10.0f});
knownOptions["rawMouseInput"]=std::make_shared<GameOption>(true,"Ignores acceleration set by the operating system");
knownOptions["glDebugVerbosity"]=std::make_shared<GameOption>(1,"LWJGL log info level (only on some machines)",Range<int>{0,4});
knownOptions["skipMultiplayerWarning"]=std::make_shared<GameOption>(true,"Whether to skip the legal disclaimer when entering the multiplayer screen");
knownOptions["skipRealms32bitWarning"]=std::make_shared<GameOption>(true,"Whether to skip the 32-bit environment warning when entering the Realms screen");
knownOptions["hideMatchedNames"]=std::make_shared<GameOption>(true,"Some servers send chat messages in non-standard formats. With this option on, the game will attempt to apply chat hiding anyway by matching the text in messages.");
knownOptions["joinedFirstServer"]=std::make_shared<GameOption>(true,"Whether the player has joined a server before. If false, the Social Interactions tutorial hint will appear when joining a server.");
knownOptions["hideBundleTutorial"]=std::make_shared<GameOption>(true,"Whether the player has seen the bundle tutorial hint when trying to use a bundle.");
knownOptions["syncChunkWrites"]=std::make_shared<GameOption>(true,"Whether to open region files in synchronous mode");
knownOptions["showAutosaveIndicator"]=std::make_shared<GameOption>(true,"Whether to show autosave indicator on the right-bottom of the screen");
knownOptions["allowServerListing"]=std::make_shared<GameOption>(true,"Whether to allow player's ID to be shown in the player list shown on the multiplayer screen");
knownOptions["key_key.spectatorOutlines"]=std::make_shared<GameOption>("key.keyboard.unknown","Visibility of player outlines in Spectator Mode control");
knownOptions["key_key.swapOffhand"]=std::make_shared<GameOption>("key.keyboard.f","Swapping of items between both hands control");
knownOptions["key_key.saveToolbarActivator"]=std::make_shared<GameOption>("key.keyboard.c","Save current toolbar to a slot (in Creative Mode)");
knownOptions["key_key.loadToolbarActivator"]=std::make_shared<GameOption>("key.keyboard.x","Load toolbar from a slot (in Creative Mode)");
knownOptions["key_key.advancements"]=std::make_shared<GameOption>("key.keyboard.l","Open the Advancements screen");
knownOptions["fullscreenResolution"]=std::make_shared<GameOption>("","Changes the resolution of the game when in fullscreen mode. The only values allowed are the values supported by the user's monitor, shown when changing the screen resolution in the operating system settings. Setting this option to a value not supported by the monitor resets the option to \"Current\". When set to \"Current\", this option is absent from options.txt. ");