owo-ui Components

Introduction

Quick overview and explanation of this section.

Why is this even a thing?

Well, I had originally used owo-lib's owo-ui to make one of my mods, Control-UI-Refactored. During the time of development, I had slowly discovered that the original documentation, Wisp Forest Docs, doesn't have a full and thorough documentation of their owo-ui's capabilities and features. Especially of their lack-of-descriptions-and-examples for the Code-Driven method and Data-Driven method of making a UI using owo-ui.

So, what exactly is this?

Seeing the issues I've described at the front, I've decided to write an even thorough documentation for owo-ui and its components, with descriptions of their features in full, both Code-Driven and Data-Driven, and examples that would be helpful in an actual use case. These docs aren't perfect, of course, but I deem it would help a lot of new developers who is planning on using the owo-lib mod to make a Minecraft UI using owo-ui by letting them avoid common or uncommon mistakes. These "mistakes" are concluded via my own experiences as well as asking other and probing through multiple GitHub repositories that has high-quality owo-ui code which achieved astonishing effects.

Reminders

Also, huge reminder: sample code with .java are usually code-driven samples, while .xml are usually data-driven samples. For more on using Code-Driven or Data-Driven UI programming in your mod, please check out Wisp Forest Docs.


The owo-ui documentation is still WIP and not quite complete yet. In places where an article here is still missing, you can always refer to the JavaDoc present throughout the library - it explains most things in detail.

Introduction

owo-ui provides a rich set of components that can be used to build interactive and customizable user interfaces. By leveraging these components and their various properties, you can create dynamic and visually appealing UIs using either the code-driven or data-driven approach.

For more detailed information on each component and their usage, please refer to the individual component documentation.

Copyright © 2026