Konfig

Quick rating

Konfig

No reviews yet

Ergonomic multiloader configuration library with sync support.

Mod Loaders
Forge
NeoForge
Fabric
Minecraft
26.2

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unknown
Server Unknown

About

Project Details

Type
Mod
License
MIT License
Latest Version
konfig-neoforge-0.5.0+26.2
Authors
CurseForge
Modrinth

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

About

Description

Konfig

Konfig is a multiloader configuration library for Minecraft mods.

It lets mods declare typed config values in common code, save them as commented TOML, sync selected values to clients, and generate config screens for Fabric, Forge, and NeoForge.

Konfig is built for shared common code. Loader-specific integration stays in the loader roots, while config declaration, validation, migration, sync metadata, and screen metadata can live beside the rest of your mod logic.

What You Get

  • Typed config values for booleans, numbers, enums, strings, string lists, RGB/ARGB colors, and custom codecs
  • Side-aware config scopes: CLIENT, COMMON, and SERVER
  • Commented TOML files at config/<modid>/<name>.toml
  • Built-in sync modes: NONE, LOGIN, and LOGIN_AND_RELOAD
  • Schema versioning and step-by-step migrations
  • Generated config screens for registered handles
  • Inline screen decorations: headers, images, descriptive text, and clickable URLs
  • Explicit tooltips for generated screen rows
  • Rich hover info panels for global, category, and value-specific help
  • Fabric Mod Menu integration
  • Forge and NeoForge config button helpers

Pics

Konfig overview with inline documentation and info panel

Konfig boolean, enum, and number controls

Konfig registry-backed string and color controls

Konfig string list controls with registry icons

Konfig registry-backed string list editor

Konfig ARGB color editor with channel sliders

Supported Versions

Konfig 0.4.0 supports every Minecraft line from 1.14.4 through 26.2.

  • Fabric starts at 1.14.4
  • Forge starts at 1.16.5
  • NeoForge starts at 1.21.1

Konfig uses one semantic release across supported Minecraft lines. The +<mc> suffix tells you which Minecraft version the artifact targets, for example 0.4.0+1.21.11 or 0.4.0+26.2.

Quick Example

import com.iamkaf.konfig.api.v1.ConfigBuilder;
import com.iamkaf.konfig.api.v1.ConfigHandle;
import com.iamkaf.konfig.api.v1.ConfigScope;
import com.iamkaf.konfig.api.v1.ConfigValue;
import com.iamkaf.konfig.api.v1.Konfig;
import com.iamkaf.konfig.api.v1.RestartRequirement;
import com.iamkaf.konfig.api.v1.SyncMode;

public final class ExampleConfig {
    public static final ConfigHandle HANDLE;
    public static final ConfigValue<Boolean> ENABLED;
    public static final ConfigValue<Integer> RANGE;

    static {
        ConfigBuilder builder = Konfig.builder("examplemod", "common")
                .scope(ConfigScope.COMMON)
                .syncMode(SyncMode.LOGIN)
                .comment("Example mod config")
                .info(info -> info
                        .header("Example Mod")
                        .inlineText("These settings control shared gameplay behavior.")
                        .url("Documentation", "https://example.invalid/docs"));

        builder.header("Example Mod Settings");
        builder.inlineText("These entries are saved automatically.");
        builder.url("Documentation", "https://example.invalid/docs");

        builder.push("general");
        builder.categoryComment("General gameplay tuning");
        builder.categoryTooltip("General gameplay tuning");
        builder.categoryInfo(info -> info
                .header("General")
                .inlineText("Values in this section affect the whole mod."));

        ENABLED = builder.bool("enabled", true)
                .comment("Master toggle")
                .tooltip("Enable example mod features")
                .sync(true)
                .info(info -> info
                        .header("Master Toggle")
                        .inlineText("Turns the main feature set on or off."))
                .build();

        RANGE = builder.intRange("range", 8, 1, 64)
                .comment("Effect radius")
                .tooltip("Controls the effect radius in blocks")
                .sync(true)
                .restart(RestartRequirement.WORLD)
                .build();

        builder.pop();
        HANDLE = builder.build();
    }
}

Use ConfigValue#get() when reading a value and ConfigValue#set(value) when changing it programmatically.

Comments are written to TOML. Generated-screen hover text is explicit through tooltip(...) and richer info(...) content, so your config files and UI help can say different things when needed.

Dependencies

Add the Kaf Maven repository:

repositories {
    maven { url = "https://maven.kaf.sh" }
}

Use the loader artifact for the Minecraft line you target:

modImplementation "com.iamkaf.konfig:konfig-fabric:<version>"
modImplementation "com.iamkaf.konfig:konfig-forge:<version>"
modImplementation "com.iamkaf.konfig:konfig-neoforge:<version>"

Do not depend on Konfig common directly. Use the loader-specific artifact.

Help Translate Konfig

Want to help translate this mod into your language? Join the community translation project:

Contribute translations

🇺🇸 🇪🇸 🇧🇷 🇫🇷 🇩🇪 🇷🇺 🇹🇷 🇯🇵 🇰🇷 🇨🇳

Q&A

Q: Where can I ask something that is not listed here?

A: Make an issue here or join the Discord and shoot me a message.

Q: Can you port it to [MC version/Mod loader]?

A: If enough people request it I'll give it some time, but this really is a 1-man team so it might take a while.

Q: Can I include it in my modpack?

A: Yes, no need to give credit or ask.

Join our Discord

More mods by me

Bonded
Bonded
Kaf's Valentine Special
Kaf's Valentine Special
Liteminer
Liteminer
Mochila
Mochila
Torch Toss
Torch Toss

Konfig

Konfig is a multiloader configuration library for Minecraft mods.

It lets mods declare typed config values in common code, save them as commented TOML, sync selected values to clients, and generate config screens for Fabric, Forge, and NeoForge.

Konfig is built for shared common code. Loader-specific integration stays in the loader roots, while config declaration, validation, migration, sync metadata, and screen metadata can live beside the rest of your mod logic.

What You Get

  • Typed config values for booleans, numbers, enums, strings, string lists, RGB/ARGB colors, and custom codecs
  • Side-aware config scopes: CLIENT, COMMON, and SERVER
  • Commented TOML files at config/<modid>/<name>.toml
  • Built-in sync modes: NONE, LOGIN, and LOGIN_AND_RELOAD
  • Schema versioning and step-by-step migrations
  • Generated config screens for registered handles
  • Inline screen decorations: headers, images, descriptive text, and clickable URLs
  • Explicit tooltips for generated screen rows
  • Rich hover info panels for global, category, and value-specific help
  • Fabric Mod Menu integration
  • Forge and NeoForge config button helpers

Pics

Konfig overview with inline documentation and info panel

Konfig boolean, enum, and number controls

Konfig registry-backed string and color controls

Konfig string list controls with registry icons

Konfig registry-backed string list editor

Konfig ARGB color editor with channel sliders

Supported Versions

Konfig 0.4.0 supports every Minecraft line from 1.14.4 through 26.2.

  • Fabric starts at 1.14.4
  • Forge starts at 1.16.5
  • NeoForge starts at 1.21.1

Konfig uses one semantic release across supported Minecraft lines. The +<mc> suffix tells you which Minecraft version the artifact targets, for example 0.4.0+1.21.11 or 0.4.0+26.2.

Quick Example

import com.iamkaf.konfig.api.v1.ConfigBuilder;
import com.iamkaf.konfig.api.v1.ConfigHandle;
import com.iamkaf.konfig.api.v1.ConfigScope;
import com.iamkaf.konfig.api.v1.ConfigValue;
import com.iamkaf.konfig.api.v1.Konfig;
import com.iamkaf.konfig.api.v1.RestartRequirement;
import com.iamkaf.konfig.api.v1.SyncMode;

public final class ExampleConfig {
    public static final ConfigHandle HANDLE;
    public static final ConfigValue<Boolean> ENABLED;
    public static final ConfigValue<Integer> RANGE;

    static {
        ConfigBuilder builder = Konfig.builder("examplemod", "common")
                .scope(ConfigScope.COMMON)
                .syncMode(SyncMode.LOGIN)
                .comment("Example mod config")
                .info(info -> info
                        .header("Example Mod")
                        .inlineText("These settings control shared gameplay behavior.")
                        .url("Documentation", "https://example.invalid/docs"));

        builder.header("Example Mod Settings");
        builder.inlineText("These entries are saved automatically.");
        builder.url("Documentation", "https://example.invalid/docs");

        builder.push("general");
        builder.categoryComment("General gameplay tuning");
        builder.categoryTooltip("General gameplay tuning");
        builder.categoryInfo(info -> info
                .header("General")
                .inlineText("Values in this section affect the whole mod."));

        ENABLED = builder.bool("enabled", true)
                .comment("Master toggle")
                .tooltip("Enable example mod features")
                .sync(true)
                .info(info -> info
                        .header("Master Toggle")
                        .inlineText("Turns the main feature set on or off."))
                .build();

        RANGE = builder.intRange("range", 8, 1, 64)
                .comment("Effect radius")
                .tooltip("Controls the effect radius in blocks")
                .sync(true)
                .restart(RestartRequirement.WORLD)
                .build();

        builder.pop();
        HANDLE = builder.build();
    }
}

Use ConfigValue#get() when reading a value and ConfigValue#set(value) when changing it programmatically.

Comments are written to TOML. Generated-screen hover text is explicit through tooltip(...) and richer info(...) content, so your config files and UI help can say different things when needed.

Dependencies

Add the Kaf Maven repository:

repositories {
    maven { url = "https://maven.kaf.sh" }
}

Use the loader artifact for the Minecraft line you target:

modImplementation "com.iamkaf.konfig:konfig-fabric:<version>"
modImplementation "com.iamkaf.konfig:konfig-forge:<version>"
modImplementation "com.iamkaf.konfig:konfig-neoforge:<version>"

Do not depend on Konfig common directly. Use the loader-specific artifact.

Help Translate Konfig

Want to help translate this mod into your language? Join the community translation project:

Contribute translations

🇺🇸 🇪🇸 🇧🇷 🇫🇷 🇩🇪 🇷🇺 🇹🇷 🇯🇵 🇰🇷 🇨🇳

Q&A

Q: Where can I ask something that is not listed here?

A: Make an issue here or join the Discord and shoot me a message.

Q: Can you port it to [MC version/Mod loader]?

A: If enough people request it I'll give it some time, but this really is a 1-man team so it might take a while.

Q: Can I include it in my modpack?

A: Yes, no need to give credit or ask.

Join our Discord

More mods by me

Bonded
Bonded
Kaf's Valentine Special
Kaf's Valentine Special
Liteminer
Liteminer
Mochila
Mochila
Torch Toss
Torch Toss

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~85,000
Total Downloads
CurseForge
~35,000
Modrinth
~50,000
Last Updated
CurseForge
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works