The Best Resource for Minecraft
The Best Resource for Minecraft

DefaultSettings Mod Wiki

DefaultSettings is a specialized utility mod for modpack creators that allows for the distribution of custom game settings, server lists, and keybindings without overwriting a player's local preferences during updates.

6 sections · 674 words

Overview#

DefaultSettings, developed by the Jomcraft Network, is an essential tool for modpack development on both Fabric and Forge/NeoForge platforms. Its primary purpose is to solve the common issue where modpack updates reset a player's custom video settings, keybinds, and server lists. By utilizing a dedicated configuration directory, the mod ensures that 'initial' settings are applied only once, while 'permanent' updates can be pushed to all users without interfering with their personal optimizations.

In modern versions of Minecraft (1.17 and above, including 1.20.1), the mod has transitioned from a Graphical User Interface (GUI) to a robust command-based system. This change was necessitated by Mojang's overhaul of the rendering engine, leading to a more streamlined and powerful backend for managing configuration files.

Mechanics#

The mod operates by intercepting the game's startup sequence and checking for the existence of specific configuration files in the root directory.

The 'Local' Folder System

Instead of shipping options.txt or servers.dat in the root folder of a modpack, creators place these files inside the config/defaultsettings/ directory.

  • First Run Logic: When a player launches the modpack for the first time, DefaultSettings detects the absence of local configuration files and copies the defaults from its own folder into the root directory.
  • Update Preservation: On subsequent launches or modpack updates, the mod recognizes that the user has already established local settings. It will not overwrite these files unless specifically instructed to do so via the -of (Override Force) flag.
  • Profile Management: The mod can manage multiple profiles of settings, allowing creators to ship different configurations for different hardware levels (e.g., 'Low End' vs. 'Ultra' settings).

Commands#

Interaction with DefaultSettings in version 1.20.1 is handled entirely through the /defaultsettings (or /ds) command. This is the primary tool for modpack creators to prepare their files for distribution.

Command Description
/ds save Saves the current options.txt, servers.dat, and keybindings to the DefaultSettings config folder.
/ds save -of Saves current settings and marks them to force-overwrite user settings on the next launch.
/ds saveconfigs Saves all mod-specific configuration files into the default directory.
/ds saveconfigs [filename] Saves a specific mod configuration file. Supports wildcards (e.g., *) and quotes for filenames with spaces.
/ds clear Removes all currently stored default settings from the mod's configuration folder.

Command Usage Example

Modpack Creator Guide#

To properly integrate DefaultSettings into a modpack, follow these steps to ensure user settings are preserved:

  1. Configure the Game: Launch your development instance and set your desired keybinds, video settings (including Optifine or Iris shaders), and add any default servers to the server list.
  2. Execute Save: Run the command /ds save. This creates a defaultsettings folder inside your config directory.
  3. Verify Files: Ensure the following files appear in config/defaultsettings/:
    • options.txt (General game settings)
    • servers.dat (Server list entries)
    • keybindings.txt (Custom key assignments)
  4. Exporting: When exporting your modpack, DO NOT include the options.txt or servers.dat files from the root .minecraft folder. Only include the config/defaultsettings/ folder.
  5. Mod Configs: If you wish to ship specific mod configs as defaults, use /ds saveconfigs. This is particularly useful for mods like JourneyMap or sophisticated UI mods that store data outside the standard vanilla files.

Items and Blocks#

As DefaultSettings is a technical utility mod designed for configuration management, it does not add any items, blocks, mobs, or biomes to the game. It does not alter world generation or gameplay mechanics beyond the initial setup of the user's environment. Its footprint is entirely restricted to the config directory and the game's initialization phase.

Compatibility#

DefaultSettings is designed for maximum compatibility across the Minecraft ecosystem.

  • Optifine/Iris: Fully supports saving and shipping shader configurations and performance tweaks.
  • Resource Packs: Can preserve the order and selection of resource packs, ensuring the modpack's intended aesthetic is loaded by default for new players.
  • JCPlugin: On Forge versions, the mod requires the JCPlugin library to function as a core plugin loader. On Fabric 1.20.1, it operates as a standard mod without additional dependencies beyond the Fabric API.
  • External Mods: Through the /ds saveconfigs command, it can manage the .cfg, .toml, and .json files of virtually any other mod in the pack.