Download Typho's Config — Minecraft Mods — MetaMods

Typho's Config

Active

Downloads

0

Last update

1 month ago

Versions

1.21.1
Client and server
Fabric
Libraries

Typho's Config - Lightweight Configuration System for Minecraft

Configuration screen

Typho's Config is a lightweight mod for parameter configuration that supports separate configurations for each world (similar to game rules) with client synchronization, as well as independent client configuration.

For Players

Mod settings menus are displayed as square icon buttons on the parameters screen, similar to implementation in Create and Quark mods. Inside the interface, settings groups are organized - to enter a group you need to click on it, and to go back use the Escape key. Built-in parameter types include boolean true/false values (toggled by clicking), integers and decimals (changed by scrolling).

For Developers

To connect in the build.gradle file:

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    modImplementation "com.github.TheTypholorian:config:${project.typho_config_version}"
}

Then in the gradle.properties file, you need to add the line typho_config_version=1.1 (the current version can be found in the releases tab)

After that, create a RootConfigOptionGroup for your mod. There's no need to place it anywhere additionally, just create the object:

RootConfigOptionGroup root = new RootConfigOptionGroup.Builder().env(EnvType.SERVER).id(Identifier.of(MOD_ID, "root")).icon(new ItemStack(Items.DIRT)).build();

This will create a configuration button for your mod in the settings menu. To add an integer value:

IntConfigOption someIntValue = new IntConfigOption.Builder().parent(root).id("some_int_value").value(16).icon(new ItemStack(Items.DIAMOND)).build();

Also available is creation of boolean and floating-point parameters, including integers and fractions limited by ranges. For organizing subgroups to structure settings, a similar approach is used:

ConfigOptionGroup subGroup = new ConfigOptionGroup.Builder().parent(root).id("sub_group").icon(new ItemStack(Items.DIAMOND_SWORD)).build();

Server settings are automatically synchronized with the client, and values can be obtained statically using the ConfigOption::get method.

Project members
thetyphothanian

thetyphothanian

Developer

Created: 1 Sep 2025

ID: 263435