Reloadable File Config and Utils: Minecraft Modding Tools

Reloadable File Config and Utils simplifies hot-reloadable configs and NarratorMode mixins for Minecraft. Download it to streamline your mod development today.

Reloadable File Config and Utils

Mod developers often find themselves rebuilding the same infrastructure over and over: a way to read configuration files, a way to detect when those files change, and a way to apply updates without restarting the game. Reloadable File Config and Utils is a lightweight library that tackles exactly these problems, giving Fabric modders a clean foundation for hot-reloadable configuration and a few extra utilities that save hours of boilerplate.

If you are tired of reinventing the config wheel, this library is worth a closer look. It is small, focused, and released under the MIT License, so you can drop it into personal projects or large modpacks without worrying about restrictive terms.

What Reloadable File Config and Utils Actually Does

The add-on bundles several distinct utilities into one package. The headline feature is a configuration handler that watches a file on disk and reloads your settings the moment that file changes. Alongside it, you get a watch service for detecting file modifications, and a parent class that makes it possible to implement a mixin on the NarratorMode enum.

Hot-Reloadable Configuration Handling

Plenty of configuration managers already exist, so why build another one? The answer lies in the reload behavior. This handler lets you define a plain Java-bean style class, extend AbstractConfig, and then populate it from either JSON or YAML. Because the library watches the underlying file, any edit you make is picked up live, which is a huge quality-of-life improvement during testing and tuning.

Setting it up follows a predictable pattern:

  • Create a public class with private instance variables for each configuration value.
  • Extend AbstractConfig and add standard getters and setters.
  • Implement getDefaultConfigPaths and equals.
  • Instantiate a ConfigHandler using your configuration class as the type parameter.
  • Call initialize, then optionally register subscribers that implement Reloadable.

One important habit: always read values through configHandler.get() rather than caching them locally. That way you are guaranteed to see the freshest data after a reload fires.

Watch Service and NarratorMode Mixin Support

The included watch service monitors a given file and reports changes, which is the engine behind the reload behavior. Separately, the library provides a parent class for mixins targeting the NarratorMode enum. This enum controls the narration options found in Minecraft's Accessibility Settings, and mixing into it lets a mod introduce entirely new narration modes.

Implementing it still requires some boilerplate, but the trickiest logic, including the array juggling needed to register new enum constants, is tucked away in the parent class. Be aware that Fabric does not allow the new modes to be exposed as public easily, and the numeric id does not always line up with the ordinal or the NarratorMode.byId method. If multiple NarratorMode mixins are present, access your custom entries carefully.

Supported Versions and Loader

Reloadable File Config and Utils targets the Fabric loader, which is the natural home for a library built around mixins and lightweight tooling. Because it is distributed as a development dependency rather than a gameplay mod, you will not find it on a typical mod list. Instead, you add it to your build script and reference it from your own code.

Adding it through Gradle is straightforward. Use a modImplementation line pointing at the com.casewalker:mod-utils coordinate with your chosen version, or wrap that same line in include if you want the library bundled inside your finished JAR. Bundling is the safer choice when you plan to publish, since players will not need to install anything extra.

When you download Reloadable File Config and Utils, double-check that the version you pick matches the Minecraft and Fabric API versions your project already uses. A mismatch here is the most common cause of confusing build errors.

For developers who prefer a smoother setup, the foxygame.net launcher offers a one-click install path for Reloadable File Config and Utils and keeps it current through automatic updates, so your development environment stays aligned with the latest compatible build.

How to Install Reloadable File Config and Utils

Installation is aimed at developers rather than players, so the steps differ from a standard mod drop-in:

  • Open your project's build.gradle file.
  • Add the modImplementation dependency using the com.casewalker:mod-utils coordinate.
  • Optionally wrap it with include to embed the library in your output JAR.
  • Refresh or re-sync your Gradle project so the dependency resolves.
  • Import the ConfigHandler and AbstractConfig classes in your mod code and start building.

If you are looking for a step-by-step walkthrough of how to install it in a fresh workspace, the project's documentation and the Gradle snippet above cover everything you need. Once the dependency resolves, you can create your configuration class, wire up the handler, and test live reloading by editing your JSON or YAML file while the game runs.

Final Thoughts

Reloadable File Config and Utils is a practical utility belt for Fabric developers who value fast iteration. The hot-reloadable config handler removes a repetitive chore, the watch service keeps everything in sync, and the NarratorMode mixin support opens the door to accessibility features that would otherwise be painful to implement. It will not appeal to players browsing for content, but for anyone writing mods, it is a sensible addition to the toolbox.