aboutsummaryrefslogtreecommitdiff
path: root/changelogs
diff options
context:
space:
mode:
authorisXander <xandersmith2008@gmail.com>2023-06-07 20:56:06 +0100
committerisXander <xandersmith2008@gmail.com>2023-06-07 20:56:06 +0100
commitabb442faaebba2d2fcb86d26e473aeff312b310c (patch)
treeb1f10a00213bad3477e5ca9679d00c504b141909 /changelogs
parent7879784cea6f78c3746cd34252ebba9f24c8f43f (diff)
downloadYetAnotherConfigLib-abb442faaebba2d2fcb86d26e473aeff312b310c.tar.gz
YetAnotherConfigLib-abb442faaebba2d2fcb86d26e473aeff312b310c.tar.bz2
YetAnotherConfigLib-abb442faaebba2d2fcb86d26e473aeff312b310c.zip
changelog + no longer beta
Diffstat (limited to 'changelogs')
-rw-r--r--changelogs/3.0.0+1.20.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/changelogs/3.0.0+1.20.md b/changelogs/3.0.0+1.20.md
new file mode 100644
index 0000000..9e1c1ae
--- /dev/null
+++ b/changelogs/3.0.0+1.20.md
@@ -0,0 +1,37 @@
+# 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.
+
+```java
+.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.