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

2.97M downloads
854 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

[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

Project members

Wisp Forest

Wisp Forest

Organization

glisco

Owner

BasiqueEvangelist

Member

Blodhgarm

Member

Details

Licensed MIT
Published 3 years ago
Updated 5 days ago