Modpack Config Updater: A Tool for Managing Modpack Configurations
Modpack Config Updater is a specialized tool that significantly simplifies the process of updating Minecraft modpacks. The main problem this mod solves is that when releasing updates, pack creators have to replace entire configuration files, which leads to the loss of user settings. This solution allows making targeted changes to specific parameters without affecting other settings.
How the System Works
The mod tracks the pack version through a special "modpack_version.txt" file. After installing an update, upon the first game launch, all necessary configuration changes are automatically applied, after which the version file is updated.
Organization of Configuration Changes
The main settings file is located at config/modpackconfigupdater/modpackconfigupdater.json:
{
"overrides": [
"example_version1",
"example_version2",
"example_version3",
"example_version4"
]
}
Each element in the overrides list corresponds to a version name and points to a folder with the same name in the config/modpackconfigupdater/overrides directory. These folders contain changes for the corresponding versions.
Work Example:
Suppose you have a file config/mod_config.properties with content:
properties1=value1
properties2=value2
properties3=value3
If in version example_version1 you need to change the value of properties2 and add properties4, create a file config/modpackconfigupdater/overrides/example_version1/config/mod_config.properties:
properties2=value42
properties4=value4
After the first launch, the file config/mod_config.properties will be updated:
properties1=value1
properties2=value42
properties3=value3
properties4=value4
The modpack_version.txt file will now contain example_version1. In subsequent launches, changes from this version are not applied again.
Updating Through Multiple Versions
If a user skips several versions (for example, moves from example_version1 to example_version4), changes from all intermediate versions (example_version2 and example_version3) are applied sequentially before applying changes from the final version.
Technical Specifications
Supported File Formats
The mod works with the following file extensions:
"json", "properties", "yml", "yaml", "txt", "conf", "cfg", "ini", "xml", "properties", "ini", "rc", "config", "settings", "pref", "env", "toml"
Data Processing
The system supports various data formats, including JSON, YAML, and Properties. TOML and XML formats are not yet implemented, but they are rarely used in mod configurations. JSON5 support will be added soon.
It's important to note that the way a file is interpreted depends on its content, not its extension. Any file with a supported extension is checked and processed according to the detected data format. If the file is invalid, its format is not processed.
Attention: During the alpha development stage, data loss or file corruption may occur with incorrect merging. Caution is recommended.
First Launch and Example Configuration
On the very first launch with the mod installed, when modpack_version.txt files or the config/modpackconfigupdater folder are missing, an example configuration is automatically generated and applied. You can build your first updates based on this example.