YetAnotherConfigLib 3.4.0
This build supports the following versions:
- Fabric 1.20.1
- Fabric 1.20.4
- Fabric 1.20.5
- Forge 1.20.1
- NeoForge 1.20.4
For developers...
This is the first build which uses a new build toolchain to support multiple minecraft versions in the same codebase. With this change, the artifact of the mod has changed.
modImplementation "dev.isxander:yet-another-config-lib:{modversion}+{mcversion}-{loader}"
// for example...
modImplementation "dev.isxander:yet-another-config-lib:3.4.0+1.20.1-fabric"
If you are using YACL in an architectury project (one with a common subproject), you will from now on depend on the fabric version of YACL. There is no longer any common artifact. I don't believe there to be any issues with doing it like this.
Additions
- New colour picker widget by Superkat32
- This works with existing colour options.
- Added a custom tab API so categories can provide their own GUI, instead of YACL options.
- Mod developers can make their category class implement
CustomTabProvider
. Javadoc is available.
- Mod developers can make their category class implement
- Add a new Kotlin DSL for creating your YACL UIs. This is a wrapper on top of the java builder interface providing extra functionality for Kotlin users.
- YACL does not provide any kotlin libraries, nor does it depend on them. If you would like to use this DSL, make sure your own mod depends on your loader's Kotlin mod.
- This is included in the main artifact. You don't need additional dependencies.
- An example usage can be found in the testmod
- Improved the backend of dropdown controllers by Crendgrim
Bug Fixes
- Fix GIFs not being preloaded in the resource reloader
YetAnotherConfigLib 3.2.1 for 1.20.1-0
Bug Fixes
- Backport a very important Forge fix to 1.20.1 (#143) Enjarai
YetAnotherConfigLib v3.3.2 for 1.20.4
- Hook into the resource reloader to preload any webp/gif files that are used. This should make loading images when opening GUIs appear instantaneous.
- Fix issue where buttons got stuck and appeared as though nothing had saved.
- Fix an issue on NeoForged where the access widener was not transformed to an access transformer.
YetAnotherConfigLib 3.3.0 (Beta 1) for Minecraft 1.20.2
As you can see, a lot of the contributions to this release are from other people! That's incredible, and I'm very thankful for the community commitment to this project!
This release is a beta release, which just means that I'm not 100% sure that everything works as intended. I encourage developers to at least try this build out, and if there are no problems, you're safe to release (I hope!).
New Features
- Added new methods to add options to groups and categories, including conditional adding and option suppliers.
This increases the chances you don't need to break the huge builder chain present of YACL, so you can just keep writing,
even if you need to conditionally add an option, or run some code around the option. Look for
optionIf
!
Changes
- Support for the
Home
andEnd
keys. (#108) - Add functionality for
Ctrl + Left/Right
(you can now jump over words, without selecting it). (#108) - Make the 'finding the next word' functionality more consistent with other programs. (#108)
- Caret now pauses flickering when moving it. (#108)
- Position the caret and the highlight area being the same height as the text. (#108)
- Render the caret above the selection, instead of below. (#108)
Fixes
- Fix
NumberFieldController
increasing their values by a power of 10 when clicking on the screen. Issue @ #103 PR @ #108 - Fix values not updating when unfocusing a string controller. (#108)
- Fix a bug where the caret is not rendered at the beginning of the text in string/number field controllers. (#108)
- Fix dropdowns not being sorted correctly with capital letters. (#114)
Misc
- Added debug JVM property
-Dyacl3.debug.imageFiltering=true/false
which applies experimental filtering to images to make them look better. I'd like your feedback on this! - You now no longer need to add additional repositories to your
build.gradle
. You can safely remove:https://maven.quiltmc.org/repository/release/
https://oss.sonatype.org/content/repositories/snapshots/
Translation Updates
YetAnotherConfigLib 3.2.1 for 1.20.1-0
Changes
Config API
- Added
ConfigClassHandler#save
andConfigClassHandler#load
and deprecatedConfigClassHandler#serializer
.- The serializer should now never be called directly.
- New load method tells serializer to load into a new instance of the config class. Only applied if the load was fully successful.
- Deprecated
ConfigSerializer#load
forConfigSerializer#loadSafely
.
- Added new parameter on
SerialEntry
, calledrequired
.- If set to true, and the entry is not found in the config, the config will be re-saved with the default value.
- If set to false, and the entry is not found in the config, the default value will be used, but the config will not be re-saved.
- Added new parameter on
SerialEntry
, callednullable
.- If set to false, and the entry is found in the config, but the value is null, the default value will be used, and the config will be re-saved.
Bug Fixes
- Fixed error when using the same image twice.
- Removed debug log from WEBP and GIF image loaders.