Показати зміни
- Update to 1.21
- Added search bar to the config screen
- This also has support for `color` vs `colour` and `gray` vs `grey`.
# Technical Changes
- Removed methods buttons, these caused issues as methods did not retain order so they needed targets.
- Instead you can not use the annotation on a runnable field and it will be a button and you wont need a target.
- Multiple new options have been added:
- `@Color` this is a simple color selector with a live preview, it allows setting defaults colors and if alpha is allowed.
- `@Select` this is for enum arrays, it allows for multi-select lists.
- `@Draggable` this is also for enum arrays, it allows for draggable lists, it also allows for a provided list of values that are duplicate.
- Additionally, with this you can provide a `@Range` annotation to determine the upper and lower bounds of the draggable list size.
- `@Keybind` this is for keybinds, it allows for a keybind to be set.
- This is useful for when a keybind is too specific for the Minecraft keybinds screen.
- `@SearchTerm` this goes along with the newly added search bar, it allows for additional search terms to be added to an option.
- With the new search bar, when you get a config screen you can provide a function to get terms from a string, this is useful if you want to auto translate the search terms.
- This version also adds a new parameter to the registration of configs which allows "fixing", this is a datafixer of sorts.
- Additionally, the config annotation now has a `version` parameter.
- Added `Observable` which is a type that can wrap any non object type and will allow for listening to changes.
- This is useful if you dont want to check right away, or you need to do post-processing.
- Enums are now allowed in arrays
- Certain values that are displayed like enums can now implement `Translatable`, this will also check for `StringRepresentable` if it has it else it will use `toString`.
- Additional config class parsers have been added, this is for other languages like Kotlin can be supported, with Kotlin already in the works.