90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
YetAnotherConfigLib
Yet Another Config Lib, like, what were you expecting?
Why does this mod even exist?
This mod was made to fill a hole in this area of Fabric modding. The existing main config libraries don't achieve what I want from them:
- Cloth Config API: It's stale. The developer of cloth has clarified that they are likely not going to add any more features. They don't want to touch it. (citation)
- SpruceUI: It isn't designed for configuration. In this essence the design feels cluttered. Further details available in this issue.
- MidnightLib: It has cosmetics among other utilities. It may not be large but some players (including me) wouldn't want cosmetics out of nowhere.
- OwoLib: It's content focused. It does a lot of other things as well as config, adding to the size.
As you can see, there's sadly a drawback with all of them and this is where YetAnotherConfigLib comes in.
How is YACL better?
YACL has the favour of hindsight. Whilst developing this fresh library, I can make sure that it does everything right:
- Easy API. YACL takes inspiration from Sodium's internal configuration library.
- It's styled to fit in Minecraft. YACL's GUI is designed to fit right in.
Features
YACL has a ton of configuration features:
- Custom control widgets
- Create your own unique "controller" if the default set does not suit your needs
- Rich descriptions
- Clickable & hoverable text, powered by vanilla's Text component system
- WebP (including animated) image previews
- Custom rich-renderable section to replace image
- Multiple controllers for the same type:
- Sliders or fields for numbers
- Dropdowns, cyclers, or raw text fields for strings
- Tickboxes or ON/OFF text display for booleans
- ...and more!
- Fully-featured color picker
- Accessible with full compatibility for keyboard control (optimised for Controlify usage)
- High organisation with tabs (categories) and collapsable groups
- Built-in serialization/deserialization techniques so you can skip the error-prone config code
- Full alternative Kotlin DSL
Usage
The wiki contains a full documentation on how to use YACL.
Screenshots
License
This mod is under the GNU Lesser General Public License, v3.0.
Details
Licensed LGPL-3.0-or-later
Published 2 years ago
Updated 21 days ago