modsmith Log in Log in Рус / Eng

YetAnotherConfigLib (YACL)

yacl · 133692910 downloads · LGPL-3.0-or-later

librarymanagementutility

client: optional · server: optional (declared by the mod author)

A builder-based configuration library for Minecraft!

Description

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.
  • 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.

Versions (60)

VersionMinecraftLoadersFile
3.9.7+26.1-fabric 26.1, 26.1.1, 26.1.2 fabric download
3.9.7+26.2-fabric 26.2 fabric download
3.9.7+26.1-neoforge 26.1, 26.1.1, 26.1.2 neoforge download
3.9.7+26.2-neoforge 26.2 neoforge download
3.9.7+26.3-neoforge 26.3 neoforge download
3.9.7+26.3-fabric 26.3 fabric download
3.9.6+26.1-fabric 26.1, 26.1.1, 26.1.2 fabric download
3.9.6+26.2-fabric 26.2 fabric download
3.9.6+26.2-neoforge 26.2 neoforge download
3.9.6+26.3-fabric 26.3 fabric download
3.9.6+26.1-neoforge 26.1, 26.1.1, 26.1.2 neoforge download
3.9.5+26.1-fabric 26.1, 26.1.1, 26.1.2 fabric download
3.9.5+26.1-neoforge 26.1, 26.1.1, 26.1.2 neoforge download
3.9.5+26.2-neoforge 26.2 neoforge download
3.9.5+26.2-fabric 26.2 fabric download
3.9.4+26.2-neoforge 26.2 neoforge download
3.9.4+26.1-fabric 26.1, 26.1.1, 26.1.2 fabric download
3.9.4+26.1-neoforge 26.1, 26.1.1, 26.1.2 neoforge download
3.9.4+26.2-fabric 26.2 fabric download
3.9.3+26.1-neoforge 26.1, 26.1.1, 26.1.2 neoforge download
3.9.3+26.1-fabric 26.1, 26.1.1, 26.1.2 fabric download
3.9.2+26.1-neoforge 26.1, 26.1.1, 26.1.2 neoforge download
3.9.2+26.1-fabric 26.1, 26.1.1, 26.1.2 fabric download
3.9.1+26.1-fabric 26.1 fabric download
3.9.1+26.1-neoforge 26.1 neoforge download
3.9.0+26.1-fabric 26.1 fabric download
3.8.2+1.21.6-fabric 1.21.6, 1.21.7, 1.21.8 fabric download
3.8.2+1.21.5-fabric 1.21.5 fabric download
3.8.2+1.21.6-neoforge 1.21.6, 1.21.7, 1.21.8 neoforge download
3.8.2+1.21.4-neoforge 1.21.4 neoforge download
3.8.2+1.21.5-neoforge 1.21.5 neoforge download
3.8.2+1.21.4-fabric 1.21.4 fabric download
3.8.2+1.21.3-fabric 1.21.2, 1.21.3 fabric download
3.8.2+1.21.3-neoforge 1.21.2, 1.21.3 neoforge download
3.8.2+1.21.11-fabric 1.21.11 fabric download
3.8.2+1.21.11-neoforge 1.21.11 neoforge download
3.8.2+1.21.10-neoforge 1.21.10, 1.21.9 neoforge download
3.8.2+1.21.10-fabric 1.21.10, 1.21.9 fabric download
3.8.2+1.21.1-neoforge 1.21, 1.21.1 neoforge download
3.8.2+1.21.1-fabric 1.21, 1.21.1 fabric download
3.8.1+1.21.11-neoforge 1.21.11 neoforge download
3.8.1+1.21.5-fabric 1.21.5 fabric download
3.8.1+1.21.3-fabric 1.21.2, 1.21.3 fabric download
3.8.1+1.21.10-fabric 1.21.10, 1.21.9 fabric download
3.8.1+1.21.6-fabric 1.21.6, 1.21.7, 1.21.8 fabric download
3.8.1+1.21.5-neoforge 1.21.5 neoforge download
3.8.1+1.21.6-neoforge 1.21.6, 1.21.7, 1.21.8 neoforge download
3.8.1+1.21.11-fabric 1.21.11 fabric download
3.8.1+1.21.1-fabric 1.21, 1.21.1 fabric download
3.8.1+1.21.1-neoforge 1.21, 1.21.1 neoforge download
3.8.1+1.21.10-neoforge 1.21.10, 1.21.9 neoforge download
3.8.1+1.21.3-neoforge 1.21.2, 1.21.3 neoforge download
3.8.1+1.21.4-neoforge 1.21.4 neoforge download
3.8.1+1.21.4-fabric 1.21.4 fabric download
3.8.0+1.21.9-neoforge 1.21.10, 1.21.9 neoforge download
3.8.0+1.21.9-fabric 1.21.10, 1.21.9 fabric download
3.8.0+1.21.1-fabric 1.21, 1.21.1 fabric download
3.8.0+1.21.4-fabric 1.21.4 fabric download
3.8.0+1.21.3-fabric 1.21.2, 1.21.3 fabric download
3.8.0+1.21.6-neoforge 1.21.6, 1.21.7, 1.21.8 neoforge download

Modrinth page →