Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
Platforms
Supported environments
Creators
Details
Licensed MIT
Published 4 years ago
Updated last week
Changelog
Additions
The major addition this time around is the Endec serialization framework, an interoperable alternative to Mojang's own Codec. As outlined in the changes section, this supersedes a bunch of older owo APIs as well - notably networking. To get started with endec, check out the newly written documentation: https://docs.wispforest.io/owo/endec/
Changes
NbtKeyand all associated API has been removed entirely in favor of the new, Endec-based and functionally extremely similarKeyedEndecused in conjunction withMapCarrier(which is interface-injected onto the same classes asNbtCarrierused to be)PacketBufSerializerhas been removed in its entirety and all dependent API updated to use Endecs instead. For writing data directly to a network buffer like the old API used to allow, use the equivalent Endec (potentially obtained from theReflectiveEndecBuilder) together with the interface-injectedPacketByteBuf#write(Endec, Object)andPacketByteBuf#read(Endec)- As a consequence of the update to 1.20.3+, the custom text API has been simplified. Because the vanilla changes make them redundant,
CustomTextContentalong withCustomTextContentSerializerno longer exist - instead, simply implement the vanillaTextContentinterface, create aTextContent.Typewith the appropriate codec and register said type in theCustomTextRegistryas before
Fixes
ScissorStacknow clamps the width/height passed toglScissorto prevent causing OpenGL errors in contexts with funky transformations- All buffers in the draw context used for layers are now forcefully flushed before the layer is rendered to stop tooltips going missing due to scissoring in the layer
- Forcefully flush all buffers after drawing an owo-ui tooltip (similar issues as above)
Finally, the following previously deprecated API elements have been removed:
BaseParentComponent#mountChild, use the new two-argument version instead to prevent unnecessary inflationsParentComponent#collectChildren, replaced by the more appropriately named but functionally identicalParentComponent#collectDescendantsOwoItemGroup#setSelectedTab,OwoItemGroup#getSelectedTabandOwoItemGroup#getSelectedTabIndex- use the new equivalents which are aware that multiple tabs can be selectedNinePatchRendererandOwoNinePatchRenderers, long-replaced byNinePatchTextureandOwoNinePatchTextures
Files
Metadata
Release channel
BetaVersion number
0.12.0+1.20.3Loaders
Game versions
1.20.3–1.20.4Environment
Client and server, required on both
Downloads
19144Publication date
January 1, 2024 at 6:11 PMPublisher
glisco
Owner



