YetAnotherConfigLib 3.0.0-beta.7+1.20
This version adds no features, nor bug fixes, instead it implements a breaking change:
The YACL package has changed to dev.isxander.yacl3
and the YACL mod-id has changed to yet_another_config_lib_v3
.
This is to prevent conflicts with 2.0, so you can load both versions at the same time so older mods don't break.
YetAnotherConfigLib 3.0 Beta 1 (for 1.19.4)
This release is parity with 3.0.0-beta.6 for 1.20.
Unfortunately, 3.0 will only be available for 1.19.4 and up, not 1.19.2. This is because YACL now highly depends on .4's new tab system (found in the create new world screen).
If there is a high enough demand for a backport to 1.19.2, I will consider it, but no promises!
YetAnotherConfigLib 3.0 Beta 6
Bug Fixes
- Fix reading of some lossy animated WebP images.
YetAnotherConfigLib 3.0 Beta 5
API Changes
OptionDescription.Builder#description
has been renamed totext
, to make it more clear as it used to look like:.description(OptionDescription.createBuilder() .description(Component.literal("This is some text")) .build())
ListOption.createBuilder
now no longer takes a class parameter, to match withOption
. This means you can no longer doListOption.createBuilder(String.class)
, instead you should doListOption.<String>createBuilder()
.
Bug Fixes
- Fixed option list entries sometimes appearing on top of the navbar.
YetAnotherConfigLib 3.0 Beta 4
Additions
- Added
OptionDescription.Builder.customImage()
to add your own renderer for the option description.
API Changes
This release brings a few API breakages, getting them out the way, as it is a major update.
- All controllers now have an API builder for creating them. This is to make it easier to add
more options to them in the future. This also creates a new API layer to remove simple implementations of YACL
from using the GUI package. The old constructors are still available and you can pass your own controller
with
.customController()
. An example would be.controller(TickBoxControllerBuilder::create)
or:.controller(opt -> IntegerSliderControllerBuilder.create(opt) .range(0, 10) .step(1))
- Completely removed
.tooltip()
from groups and options. You should use.description()
instead. To make this a little easier,OptionDescription.of(Component...)
has been added so you don't need to create a builder. - Removed
OptionDescription.Builder.name(Component)
as it now just uses the option name.
Bug Fixes
- Fixed option descriptions being stuck on the last clicked option when not hovering.
- Fixed category tooltips not being displayed with the new tabs.
YetAnotherConfigLib v3 Beta 2
Changes
- List options now use the new option descriptions
- All options now print a warning if using the old tooltip system
Bug Fixes
- Fix animated images sometimes rendering incorrectly
- Fix animated images flickering when reaching end of loop
No changelog provided.
- Improve button compatibility with Controlify
- Add Forge support
Migrating to 2.5.0 for Developers
The gradle dependency has changed:
modImplementation("dev.isxander.yacl:yet-another-config-lib-fabric:2.5.0+1.19.4")
Features
OptionGroup.Builder
andConfigCategory.Builder
now extendOptionAddable
so you can abstractly add options to either of them.
API Changes
- Deprecated the varargs tooltip builder method in
Option.Builder
due to unsafe varargs. There is now an equivalent that is not varargs but a single function.