Описание
This is my penultimate library mod, meant for easing data-driven development and feature registration. It is non-intrusive (meaning no-mixins and such for broad compatibilty) and is purely a collection of helpful Java classes.
Currently includes:
- `OptionalObject`: A way for parsing optional data from JSON
- `LatchedKeyBinding`: Keybindings that only run once per click
- `SortedList`: Sorting a list by weight
- `UltraConfig`: Extremely light-weight config
- `SimpleDataLoader`, `RunnableDataLoader`, `DetachedRunableDataLoader`: Different methods of loading json data
- `Creator`: A `Function` with registry that allows for turning one object into another by a specified id. Mainly used for data-driven features.
- `Lists`: Repackaging of the Apache Commons class because its not included on the client by default
### UltraDRY!
- UltraLib now offers some utilities to help keep things [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself).
- Opt-in by adding this to your client init: `UltraLib.registerPackage(this.getClass(), MOD_ID);`
- Now you can grab multiple things with ease!:
- Mod-specific identifiers with `UltraLib.id(String id);`
- Mod translations with `UltraLib.getText(String title, String... paths);`
- You can even get your logger wtih `UltraLib.log();`!
- More examples [here](https://github.com/Sygikal/UltraLib/blob/master/src/main/java/dev/sygii/ultralib/UltraLib.java)