oωo (owo-lib)

oωo (owo-lib)

Mod

A general utility, GUI and config library for modding on Fabric and Quilt

Client or server Library

1.18M downloads
612 followers
Created3 years ago
Updated25 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

[1.20.3+] oωo - 0.12.0

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

  • NbtKey and all associated API has been removed entirely in favor of the new, Endec-based and functionally extremely similar KeyedEndec used in conjunction with MapCarrier (which is interface-injected onto the same classes as NbtCarrier used to be)
  • PacketBufSerializer has 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 the ReflectiveEndecBuilder) together with the interface-injected PacketByteBuf#write(Endec, Object) and PacketByteBuf#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, CustomTextContent along with CustomTextContentSerializer no longer exist - instead, simply implement the vanilla TextContent interface, create a TextContent.Type with the appropriate codec and register said type in the CustomTextRegistry as before

Fixes

  • ScissorStack now clamps the width/height passed to glScissor to 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 inflations
  • ParentComponent#collectChildren, replaced by the more appropriately named but functionally identical ParentComponent#collectDescendants
  • OwoItemGroup#setSelectedTab, OwoItemGroup#getSelectedTab and OwoItemGroup#getSelectedTabIndex - use the new equivalents which are aware that multiple tabs can be selected
  • NinePatchRenderer and OwoNinePatchRenderers, long-replaced by NinePatchTexture and OwoNinePatchTextures

Files

owo-lib-0.12.0+1.20.3.jar(1.02 MiB) Primary Download
owo-lib-0.12.0+1.20.3-sources.jar(436.01 KiB) Download

External resources



Project members

Wisp Forest

Wisp Forest

Organization

BasiqueEvangelist

Member

Blodhgarm

Member

glisco

Owner


Technical information

License
MIT
Client side
optional
Server side
optional
Project ID