Skip to content

ZConfig

A mixin config plugin for zfastnoise

by omo50· ZenXArchLibrary
FabricQuilt
Loaders
FabricQuilt
Downloads on Modrinth
1.2M
Followers on Modrinth
60
versions
3
Updated
August 3, 2026Aug 3
Published
in 2026
This is a library — other mods need it, and it adds nothing to the game by itselfRequired by 3 mods. Download it if another mod needs it.
Example config file · swipe

At a glance

A library: other mods need it — required by 3 mods
Runs on Fabric and Quilt
For Minecraft 1.21–26.3
Works on either side — install it in the game, on the server, or both
Latest version — 1.0.0+1.21.x from August 3, 2026
License MPL-2.0 — free
Where it's needed
In gameoptionalOn serveroptional

Works both in the game and on the server — install where you need it

Game versions1.21–26.3

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());
  }
}

FAQ

How to install ZConfig?

Install Fabric for your Minecraft version, download ZConfig for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does ZConfig support?

ZConfig has builds for Minecraft 1.21–26.3.

Is ZConfig needed on the server?

Works on either side — install it in the game, on the server, or both

License and source
Mozilla Public License 2.0free to use and share; changes to the mod itself must be published under the same license
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More