nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
oωo (owo-lib)

oωo (owo-lib)

Mod

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

Client and server Library

37.35M downloads
2,060 followers
Filter loader...
Filter versions...
Filter channels...

Compatibility Warning

This release represents a build of the largely untested braid-ui-1.21 branch, hence it is marked as an alpha. It is not entirely equivalent in features to 0.13.0 for 1.21.11+ and the features which were backported have not been comprehensively tested for backwards compatibility with mods compiled against previous 1.21 versions of owo-lib.

This release is provided primarily for mods like Arcane Repository and Trickster, which want to make use of braid on 1.21. Besides fixes for major compatibility issues we will not be supporting or updating it.

This is a straightforward port to 26.1

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.

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.

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. 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

Additions

  • owo-ui components can use the new inspectorDescriptor getter to customize the text displayed below them when the inspector is active
  • ReadView and WriteView have new methods for getting/setting values in them using keyed Endecs

Fixes

  • ModDataLoader now works properly in a development environment using split sources
  • The surface setter on DropdownComponent now correctly returns the dropdown

Fixes

  • Labels with text that has an empty style no longer crash when clicked on
  • Scissoring on draw contexts which have complex transforms should no longer incorrectly cut off content

Changes

  • Ported to 1.21.9: Most features seem to work well from our limited testing, however full library coverage is not guaranteed. Please report any problems you find
  • The zIndex property of owo-ui components has been removed - it has been nonfunctional since 1.21.6

Add AT entry for simple map of DataComponentMap to resolve crashing

Attempt to resolve issues with client side loading of classes and methods leading to crashes

Fix issues with MergedComponentMapMixin At targets due to not being remapped

Changes

  • (Breaking) Renamed OwoItemGroup.getBackgroundTexture to getOwoBackgroundTexture to avoid a naming conflict when developing in an environment with Mojang Mappings

Fixes

  • DerivedComponentMap should play more nicely with other mods that manually check for component equality
  • owo-ui blur no longer flickers occasionally
  • owo-ui scissoring no longer incorrectly stops rendering elements that are partially off-screen. This is most noticeable in scroll containers, like the one used in owo config

This release is primarily a port to 1.21.6/7. Due to the massive vanilla refactors around GUI rendering in particular, this is a larger-than-usual update and we expect there will be some bugs and porting mistakes - please report anything you find!

Changes

  • OwoBlurRenderer has been replaced with BlurQuadElementRenderState in accordance with the vanilla GUI rendering changes

Removed

  • (Block|Entity|Item)RegistryContainer
  • OwoItemSettings, replaced by interface injection on Item.Settings
  • DraggableContainer.alwaysOnTop
  • CodecUtils.ofEndec, replaced by toCodec
  • ConfigScreen.(registerProvider|getProvider|forEachProvider), replaced by ConfigScreenProviders

Fixes:

  • Issues where flashing occurred with owo blur renderer
  • Incorrect scissoring behavior leading to non rendering gui elements particularly with scroll containers in owo configs.
  • Proper fix for DerivedComponentMap equality
  • Fix possible issues with Optional reading and writing within NBT losing references due to use of IdentityHolder

Neoforge

Changes to how classes persist due to the removal of @OnlyIn could lead to issues but mostly taken care of.

Attempt fix for issues with equality with DerivedComponentMap which resolves issues with other mods like Pastel

Update attempts to remove dependency on FFAPI to resolve issues, fix missing owo item groups, and pull from upstream 1.21.1, and fix issues with optional serialization issues

This release is primarily a port to 1.21.6/7. Due to the massive vanilla refactors around GUI rendering in particular, this is a larger-than-usual update and we expect there will be some bugs and porting mistakes - please report anything you find!

Changes

  • OwoBlurRenderer has been replaced with BlurQuadElementRenderState in accordance with the vanilla GUI rendering changes

Removed

  • (Block|Entity|Item)RegistryContainer
  • OwoItemSettings, replaced by interface injection on Item.Settings
  • DraggableContainer.alwaysOnTop
  • CodecUtils.ofEndec, replaced by toCodec
  • ConfigScreen.(registerProvider|getProvider|forEachProvider), replaced by ConfigScreenProviders

Initial port of owolib 0.12.21 for Neoforge

Fixes

  • The blur pipeline now uses a custom vertex shader to avoid a random fog code dependency
  • OwoBlurRenderer now uses the depth buffer in its render pass to fix blur rendering issues on some drivers
  • owo no longer accidentally overwrites the vanilla gui_textured render pipeline

External resources


Project members

Wisp Forest

Wisp Forest

Organization

glisco

✨professional✨ hair stylist

BasiqueEvangelist

Member

Blodhgarm

Member

chyzman

Member


Technical information

License
MIT
Client side
required
Server side
required
Project ID