Skip to content

Releases: isXander/YetAnotherConfigLib

v3.0.3+1.20

Choose a tag to compare

@isXander isXander released this 04 Jul 19:37
  • Allow transparency for WEBP and GIF images.
  • Fix crash when reading single-frame WEBPs.

v3.0.3+1.19.4

Choose a tag to compare

@isXander isXander released this 25 Jun 12:25
  • Fix crashing in some circumstances

v3.0.2+1.20

Choose a tag to compare

@isXander isXander released this 17 Jun 08:33
  • Fix IntegerFieldController and LongFieldController not allowing negative values.
  • Reimplement ButtonOption changing the 'EXECUTE' text with ButtonOption.Builder#text()

v3.0.2+1.19.4

Choose a tag to compare

@isXander isXander released this 17 Jun 08:28
  • Fix IntegerFieldController and LongFieldController not allowing negative values.
  • Reimplement ButtonOption changing the 'EXECUTE' text with ButtonOption.Builder#text()
  • Fix a crash on some loads when viewing list widgets.

v3.0.1+1.20

Choose a tag to compare

@isXander isXander released this 08 Jun 16:52
  • Fix crash when loading YACL images

v3.0.1+1.19.4

Choose a tag to compare

@isXander isXander released this 08 Jun 16:48
  • Fix an unavoidable crash when opening any list
  • Fix a crash when loading YACL images

v3.0.0+1.20

Choose a tag to compare

@isXander isXander released this 07 Jun 19:56

YetAnotherConfigLib v3

3.0 of YACL introduces a new UI layout, taking advantage of 1.19.4's new tab system!

Description Panel

The description panel takes the place of the old category buttons, you can now interact with the text by clicking or hovering and the description can contain an animated WebP file or a static image. This can help you as a developer to portray what your option does with an actual example.
Like the old tooltip system, these descriptions can dynamically change based on the value of the option, including the image.
After a few seconds of hovering, the description will start to auto-scroll if necessary so inputs such as controller can still use the UI.

.description(OptionDescription.createBuilder()
        .text(Text.literal("Line 1"))
        .text(Text.literal("Line 2"))
        .webpImage(new Identifier("mymod", "config/screenshots/config_example.webp"))
        .build())

the above is applicable to both groups and options

Tab System

YACL now uses a slightly modified version of 1.19.4's new create world screen, this adds tab overflow, so you can scroll through the tabs in case there are too many to fit on the screen.

Controller Builders

Controllers now use a builder system, rather than using constructors. This allows for more flexibility in the future.
You can still use your own controller implementations without creating a builder, using .customController().

For mod developers...

This update is for both 1.19.4 and 1.20, there is complete API parity. 1.20 is now the active branch,
and 1.19.4 is now considered LTS and may receive features from 1.20 at a later date.

For users/modpack developers...

YACL 3.0 includes the old 2.x inside the new JAR. So you can safely upgrade to 3.0 without breaking
mods that have not yet updated. However, the old UI will still be present for this outdated mods.

v3.0.0+1.19.4

Choose a tag to compare

@isXander isXander released this 07 Jun 19:50

YetAnotherConfigLib v3

3.0 of YACL introduces a new UI layout, taking advantage of 1.19.4's new tab system!

Description Panel

The description panel takes the place of the old category buttons, you can now interact with the text by clicking or hovering and the description can contain an animated WebP file or a static image. This can help you as a developer to portray what your option does with an actual example.
Like the old tooltip system, these descriptions can dynamically change based on the value of the option, including the image.
After a few seconds of hovering, the description will start to auto-scroll if necessary so inputs such as controller can still use the UI.

.description(OptionDescription.createBuilder()
        .text(Text.literal("Line 1"))
        .text(Text.literal("Line 2"))
        .webpImage(new Identifier("mymod", "config/screenshots/config_example.webp"))
        .build())

the above is applicable to both groups and options

Tab System

YACL now uses a slightly modified version of 1.19.4's new create world screen, this adds tab overflow, so you can scroll through the tabs in case there are too many to fit on the screen.

Controller Builders

Controllers now use a builder system, rather than using constructors. This allows for more flexibility in the future.
You can still use your own controller implementations without creating a builder, using .customController().

For mod developers...

This update is for both 1.19.4 and 1.20, there is complete API parity. 1.20 is now the active branch,
and 1.19.4 is now considered LTS and may receive features from 1.20 at a later date.

For users/modpack developers...

YACL 3.0 includes the old 2.x inside the new JAR. So you can safely upgrade to 3.0 without breaking
mods that have not yet updated. However, the old UI will still be present for this outdated mods.

v3.0.0-beta.7+1.20

v3.0.0-beta.7+1.20 Pre-release
Pre-release

Choose a tag to compare

@isXander isXander released this 04 Jun 18:52

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.

v3.0.0-beta.2+1.19.4

v3.0.0-beta.2+1.19.4 Pre-release
Pre-release

Choose a tag to compare

@isXander isXander released this 04 Jun 18:56

YetAnotherConfigLib 3.0.0-beta.2+1.19.4

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.