Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
YetAnotherConfigLib (YACL)

YetAnotherConfigLib (YACL)

A builder-based configuration library for Minecraft.

35.93M
6,053
Library
Management
Utility

Compatibility

Minecraft: Java Edition

1.21.x
1.20.x
1.19.x

Platforms

Fabric
Forge
NeoForge
Quilt

Supported environments

Client-side
Server-side
Client and server (optional)

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server
Donate on Patreon

Creators

isxander
isxander Owner

Details

Licensed LGPL-3.0-or-later
Published 2 years ago
Updated last week
DescriptionGalleryChangelogVersions
All versions2.1.0

2.1.0

Download
Report

Changelog

Lists

Implements mutable list options where you can create, remove and shift entries in a list.

API

Lists hack option groups with their own implementation for this, so each individual list takes form as a whole option group.

ListOption.createBuilder(String.class)
    .name(Text.of("List Option"))
    .binding(/* gets and sets a List, requires list field to be not final, does not manipulate the list */)
    .controller(StringController::new) // usual controllers, passed to every entry
    .initial("") // when adding a new entry to the list, this is the initial value it has
    .build()

Implementation details

When implementing this, it was vital to me that all controllers work with lists, not ones specifically designed for list entries. This was achieved quite easily by having each entry being its own option with an empty name and tooltip with its own controller, that pairs with its list "parent" to actually modify the option.

Option groups were taken advantage of and hacked into its own option, only minor changes had to be made to get this to work with value application.

Applicable controllers have been modified to expand their inputs to near full width when no name is present.

Screenshots

screenshot

String improvements

  • Allow StringControllerElement to have unlimited text length
  • When pressing Delete in a text field whilst text is highlighted, it will act like Backspace like it should.

Other changes

  • Slightly compacted elements

Dependencies

dependency-iconFabric API Version 0.76.1+1.19.3 is required

Files

YetAnotherConfigLib-2.1.0.jar(194.71 KiB) Primary
Download

Metadata

Release channel

Release

Version number

2.1.0

Loaders

Fabric Quilt

Game versions

1.19.3

Downloads

1329

Publication date

December 11, 2022 at 7:49 PM

Publisher

isxander

isxander

Owner

Version ID

Modrinth is open source.

main@bf16d36

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.