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.
- 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.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
|
R
2.4.2
|
21h ago | 1 | |||
|
R
2.4.1
|
21h ago | 1 | |||
|
R
2.4.0
|
21h ago | 1 | |||
|
R
2.3.1
|
21h ago | 1 | |||
|
R
2.3.0
|
21h ago | 1 | |||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
|
R
2.2.0
|
21h ago | 1 | |||
|
R
2.1.1
|
21h ago | 1 | |||
|
R
2.1.0
|
21h ago | 1 | |||
|
R
2.0.0
|
21h ago | 1 | |||
|
R
1.7.1
|
21h ago | 1 | |||
|
R
1.7.0
|
21h ago | 1 | |||
|
R
1.6.0
|
21h ago | 1 | |||
|
R
1.5.0
|
21h ago | 1 | |||
|
R
1.4.5
|
21h ago | 1 | |||
|
R
1.4.4
|
21h ago | 1 | |||
|
R
1.4.3
|
21h ago | 1 | |||
|
R
1.4.2
|
21h ago | 1 | |||
|
R
1.4.1
|
21h ago | 1 | |||
|
R
1.4.0
|
21h ago | 1 | |||
|
R
1.3.0
|
21h ago | 1 | |||
|
R
1.2.1
|
21h ago | 1 | |||
|
R
1.2.0
|
21h ago | 1 | |||
|
R
1.1.1
|
21h ago | 1 | |||
|
R
1.1.0
|
21h ago | 1 | |||
|
R
1.0.0
|
21h ago | 1 | |||
|
B
0.1.2
|
21h ago | 1 | |||
|
B
0.1.1
|
21h ago | 1 | |||
|
B
0.1.0
|
21h ago | 1 |
### 3.9.9 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ❌ | ❌ | ❌ |
| 26.2 | ❌ | ❌ | ❌ |
| 26.3 | ❌ | ❌ | ❌ |
| 26.4 | ✅ | ❌ | ❌ |
### Changes
- Port to 26.4-snapshot-3
### 3.9.8 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ❌ | ❌ | ❌ |
| 26.2 | ❌ | ❌ | ❌ |
| 26.3 | ❌ | ❌ | ❌ |
| 26.4 | ✅ | ❌ | ❌ |
### Changes
- Port to 26.4-snapshot-2
### 3.9.7 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.3
- Fix reset button being small
### 3.9.7 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.3
- Fix reset button being small
### 3.9.7 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.3
- Fix reset button being small
### 3.9.7 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.3
- Fix reset button being small
### 3.9.7 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.3
- Fix reset button being small
### 3.9.7 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.3
- Fix reset button being small
### 3.9.7 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.3
- Fix reset button being small
### 3.9.6 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 4
### 3.9.6 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 4
### 3.9.6 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 4
### 3.9.6 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 4
### 3.9.6 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 4
### 3.9.5 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 1
- Migrate to Fabric Resource Loader v1 (from deprecated v0)
### 3.9.5 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 1
- Migrate to Fabric Resource Loader v1 (from deprecated v0)
### 3.9.5 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 1
- Migrate to Fabric Resource Loader v1 (from deprecated v0)
### 3.9.5 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 1
- Migrate to Fabric Resource Loader v1 (from deprecated v0)
### 3.9.5 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
| 26.3-snapshot | ✅ | ❌ | ❌ |
### Changes
- Port to 26.3 snapshot 1
- Migrate to Fabric Resource Loader v1 (from deprecated v0)
### 3.9.4 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.2 prereleases
### 3.9.4 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.2 prereleases
### 3.9.4 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.2 prereleases
### 3.9.4 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2 | ✅ | ✅ | ❌ |
### Changes
- Port to 26.2 prereleases
### 3.9.3 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2-snapshot | ✅ | ❌ | ❌ |
### Changes
- Add support for 26.2-snapshot
### 3.9.3 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2-snapshot | ✅ | ❌ | ❌ |
### Changes
- Add support for 26.2-snapshot
### 3.9.3 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2-snapshot | ✅ | ❌ | ❌ |
### Changes
- Add support for 26.2-snapshot
### 3.9.3 targets
| | Fabric | NeoForge | Forge |
|---------------|--------|----------|-------|
| 26.1 | ✅ | ✅ | ❌ |
| 26.2-snapshot | ✅ | ❌ | ❌ |
### Changes
- Add support for 26.2-snapshot
### 3.9.2 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ✅ | ❌ | ❌ |
### Changes
- Fix class loading errors when other mods use access wideners.
- Make the version constraint for Fabric match that of NeoForge (~26.1)
### 3.9.2 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ✅ | ❌ | ❌ |
### Changes
- Fix class loading errors when other mods use access wideners.
- Make the version constraint for Fabric match that of NeoForge (~26.1)
### 3.9.1 targets
| | Fabric | NeoForge | Forge |
|------|--------|----------|-------|
| 26.1 | ✅ | ❌ | ❌ |
### Changes
- Update to 26.1 (release)
