All Mods Resource Packs Data Packs Shaders Modpacks Plugins
ZConfig

ZConfig

by ZenXArch • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Why does this project exist?

This is a general purpose config mod slightly based on c2me's internal config system. This also lets me reduce zfastnoise's size to a few dozen kilobytes and users only have to download the config mod once.

Features

  • Toml based config files
  • boolean and int based config entries
  • allow other mods to override config entries using mod metadata
  • mark mods as incompatible with certain config entries

For example, fabric.mod.json

{
  ...
  "custom": {
    "zfastnoise:overrides" : "mixin.perf.surface"
  }
}

The above disables mixin.perf.surface config option

Future plans

  • add support for modmenu/forge config api
  • add neoforge builds
  • add more sugar to easily generate config

Example config

package org.codeberg.zenxarch.zconfig.test;

import org.codeberg.zenxarch.zconfig.entry.BooleanConfigEntry;
import org.codeberg.zenxarch.zconfig.entry.ConfigEntries;
import org.codeberg.zenxarch.zconfig.entry.IntConfigEntry;
import org.codeberg.zenxarch.zconfig.loader.Config;
import org.codeberg.zenxarch.zconfig.loader.ConfigLoader;
import org.codeberg.zenxarch.zconfig.loader.OverrideCollector;
import org.junit.jupiter.api.Test;

public class ExampleConfig extends ConfigEntries {
  public static final ExampleConfig INSTANCE = new ExampleConfig();

  public static final BooleanConfigEntry MAIN =
      INSTANCE.createEntry(
          "main",
          builder -> builder.addComment("Main entry").defaultValue(false).addIncompat("sodium"));

  public static final IntConfigEntry OTHER =
      INSTANCE.createIntEntry(
          "other", builder -> builder.addComment("Other entry").defaultValue(0).constraints(-1, 1));

  public static final Config CONFIG =
      new Config(
          new ConfigLoader("example_mod_id", INSTANCE), new OverrideCollector("example_mod_id"));

  @Test
  public void loadConfig() {
    IO.println(CONFIG.get(MAIN));
    IO.println(CONFIG.get(OTHER));
    IO.println(CONFIG.loadMixinEntries());
  }
}

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
25w46a 25w45a 25w44a +42
Fabric Quilt
20h ago 1
26.4-snapshot-1 26.3.x 26.2.x +2
Fabric Quilt
20h ago 1
26.3.x 26.2 26.1.x
Fabric Quilt
20h ago 1
  • port to 1.21.x

  • fix version number

[1.0.0] 1.0.0 by ZenXArch on Oct 14, 2026
Download
  • initial version

ZConfig Icon
Download ZConfig
Select game version
Select platform