nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)

YetAnotherConfigLib

Enviroment Java 17 Discord

Modrinth CurseForge

Ko-fi

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

image preview

License

This mod is under the GNU Lesser General Public License, v3.0.

External resources


Project members

isxander

Owner


Technical information

License
LGPL-3.0-or-later
Client side
optional
Server side
optional
Project ID