DACL
If you have ever opened a mod's settings menu and found a clean, organized screen full of toggles, sliders, and sub-pages, there is a good chance a library like DACL was doing the heavy lifting behind the scenes. DACL, short for DumbassConfigLib, is a configuration library built for Minecraft mods. It gives developers a straightforward Java API for defining options, validating input, and generating a fully functional config screen without writing a single line of UI code. For players, that translates into smoother, more consistent settings menus across the mods they install.
This article breaks down what DACL actually does, who it is for, and how to get it running. Whether you are a mod author looking to streamline your project or a player curious about the library sitting in your mods folder, there is something here for you.
What Is DACL and Who Needs It?
DACL is not a gameplay mod. You will not find new blocks, mobs, or biomes inside it. Instead, it is a developer-focused library that other mods depend on. When a mod uses DACL, the library handles the boring parts of configuration: rendering the screen, saving values to a JSON file, and keeping everything in sync when a player changes a setting.
The library is designed around a simple builder pattern. A developer declares options as static fields, attaches them to a config object, and DACL takes care of the rest. Options come in several flavors, including boolean toggles, integer fields, and float sliders. Each one takes a display label, a unique identifier, and a default value, which keeps the code readable and easy to maintain.
Key Features at a Glance
- Boolean, integer, and float option types with sensible defaults
- Built-in validators, including a range validator for clamping numeric input
- Nested sub-options that create their own screens, nestable as deep as needed
- Automatic JSON serialization so settings persist between sessions
- Mod Menu integration for a familiar config button on the mods list
Supported Versions and Loaders
DACL is built for the Fabric loader and targets modern Minecraft releases, with the recommended build currently sitting at 26.1.2. That said, the library is flexible enough that other versions generally work too, which is good news if you are running an older pack or testing a snapshot. Because it hooks into Fabric's entrypoint system, setup is handled through the standard fabric.mod.json file rather than any external patching.
For developers, adding the dependency is a matter of dropping a Maven repository and a single dependency line into your build.gradle, then declaring a version property in gradle.properties. From there, you create your mod entrypoint, implement ModInitializer, and start declaring options as public static fields. The first parameter is the text shown in the config UI, the second is the unique option identifier, and the third is the default value.
Validators and Sub Options
Validators are where DACL starts to feel genuinely useful. Any option with an input field can accept a fourth parameter containing an AbstractValidator. A RangeValidator, for example, can clamp an integer between 1 and 100, and you can pass null to either bound to remove that restriction entirely. Sub options go a step further by creating an entirely separate screen with its own set of controls, and you can nest them as deeply as your mod requires.
Once your options are declared, you build the config with DumbassConfig.builder, chaining withOption calls for each entry and finishing with build. After that, reading a value is as simple as calling getValue on the option itself, and the returned data always reflects whatever the player last saved. If you want your screen to appear in Mod Menu, you implement ModMenuApi in a small integration class and override getModConfigScreenFactory to return your config UI.
How to Install DACL for Minecraft
Installing DACL is no different from installing any other Fabric library. If you are a player, you rarely need to install it manually, because the mods that depend on it will list it as a required dependency. Still, knowing the process helps when a mod refuses to launch without it.
- Confirm you are running the Fabric loader for your chosen Minecraft version
- Place the DACL jar file into your mods folder alongside your other Fabric mods
- Launch the game once so the library registers properly
- Check the Mod Menu list to verify DACL appears and is enabled
If you are hunting for the file, a quick search to download DACL will point you to the project's versions page, where builds are listed by game version. Grab the one that matches your setup, and remember that mismatched versions are the most common cause of a library failing to load. When a config screen refuses to open, nine times out of ten the culprit is a version gap rather than a broken mod.
For players who would rather skip the manual file shuffling, the foxygame.net launcher offers a one-click install path that pulls DACL and its dependencies into the correct folder automatically, so you never have to worry about matching jar files to game versions by hand.
Why DACL Matters for the Modding Ecosystem
Libraries like DACL rarely get the spotlight, but they quietly improve the experience for everyone. A consistent config screen means players spend less time guessing what a setting does and more time actually playing. For developers, the time saved on UI work can go straight back into features that make a mod worth downloading in the first place.
If you are building a Fabric mod and want a config system that is quick to set up, easy to extend, and pleasant for players to use, DACL is worth a serious look. If you are simply a player, the next time a settings menu feels polished and intuitive, you will know exactly which library to thank.