
oωo (owo-lib)
A general utility, GUI and config library for modding on Fabric and Quilt
About
A general utility, GUI and config library for modding on Fabric and Quilt
Features include:
-
owo-ui, a fully-featured declarative UI library for building dynamic, beautiful screens with blazingly fast development times
-
owo-config, a built-in, customizable configuration system built on top of owo-ui. It provides many of the same features as Cloth Config while many new conveniences, like server-client config synchronization, added on top
-
A fully automatic registration system that is designed to be as generic as possible. It is simple and non-verbose to use for basic registries, yet the underlying API tree is flexible and can also be used for many custom registration solutions
-
Item Group extensions which allow for sub-tabs inside your mod's group as well as a host of other features like custom buttons, textures and item variant handling
-
A fully-featured networking layer with fully automatic serialization, handshaking to ensure client compatibility and a built-in solution for triggering parametrized particle events in a side-agnostic manner
-
Client-sided particle helpers that allow for easily composing multi-particle effects
-
Rich text translations, allowing you to use Minecraft's text component format in your language files to provide styled text without any code
owo is documented in two main ways:
- There is rich, detailed JavaDoc throughout the entire codebase
- There is a wiki with in-depth explanations and tutorials for most of owo's features over at https://docs.wispforest.io/owo/features
Versions
## API Renamings In preparation for future unobfuscated versions of the game, owo-lib is now developed using the official Mojang Mappings and relevant API elements have been renamed accordingly. Besides a number of straight-forward adaptations (like `World` -> `Level`), this also meant that **the core class of owo-ui (previously `Component`) had to be renamed to `UIComponent`** to avoid a name collision with `net.minecraft.network.chat.Component`. Related classes follow suit, e.g. `ParentComponent` -> `ParentUIComponent`, `Containers` -> `UIContainers`. ## Language Extensions In addition to Rich Translations, owo-lib now supports nested language files which help to greatly reduce repetition in language keys. Additionally, to reduce conflict potential, **all of owo's language extensions are now opt-in**. Check out the relevant [section of the docs](https://docs.wispforest.io/owo/data-extensions/nested-lang). ## JSON5 Support The majority of JSON files in any data/resource pack can be converted to use JSON5 when owo-lib is configured to read and convert them to JSON on-the-fly. Once again, check out [the docs](https://docs.wispforest.io/owo/data-extensions/json5). ## braid UI framework Due to unforeseen technical circumstances (I did not want to remap the entire library twice), this build includes an early pre-alpha version of the upcoming braid UI framework. While reasonably well-tested and somewhat mature feature-wise, we do not consider it ready for release and we make *absolutely no guarantees about API stability*. If you want to try it out or toy around with it anyways, check out the [getting started guide](https://docs.wispforest.io/braid/getting-started). We'd love to get some early feedback!
Fix issues with concurrency leading to missing packets for mods using owo networking
Fixes: - missing AT entry for setTooltipForNextFrameInternal causing missing tooltips