About YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL) is a configuration library for Minecraft modders seeking better UI tools. It addresses gaps in existing libraries like Cloth Config API and SpruceUI by offering a fresh approach with improved flexibility and features.
YACL enhances gameplay by providing intuitive, Minecraft-style config interfaces with rich text, images, and organized tabs. Its accessible design and keyboard compatibility make it ideal for mod developers needing robust config systems.
Best suited for mod developers creating complex configs, YACL's features like custom widgets and serialization simplify implementation. It fits seamlessly into modpacks by offering a reliable, unified config management solution.
With support for Fabric, Forge, NeoForge, and Quilt, YACL enables modders to create polished, user-friendly settings without reinventing config systems from scratch.
Features
- Custom control widgets for unique UI elements
- Rich descriptions with clickable/hoverable text and WebP image previews
- Multiple controllers for numbers, strings, booleans, and more
- Fully-featured color picker with keyboard accessibility
- Organized tabs and collapsible groups for structured settings
- Built-in serialization/deserialization to avoid config errors
- Alternative Kotlin DSL for streamlined configuration creation
Tips
- Start with the Kotlin DSL for faster config creation
- Use rich descriptions to explain complex settings
- Leverage multiple controllers for different data types
- Enable the color picker for visual customization options
- Test config compatibility across modpack versions
How to install
- Install Fabric / Forge / NeoForge / Quilt for your Minecraft version (use the official installer).
- Download the file that matches your Minecraft version and Fabric / Forge / NeoForge / Quilt.
- Also install: Fabric API.
- Open the .minecraft folder and put the file into the "mods" folder (create it if missing).
- Launch Minecraft with the Fabric / Forge / NeoForge / Quilt profile.
FAQ
Why choose YACL over existing config libraries?
Existing libraries like Cloth Config API and SpruceUI have limitations. YACL offers improved flexibility, better UI design, and modern features like rich descriptions and serialization.
How do I use YACL in my mod?
Follow the wiki documentation for setup and implementation. Use the builder API or Kotlin DSL to create custom config UIs.
