Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wisp-forest/owo-lib
Open ωorthωhile Operations, yes the acronym was "totally accidental"
https://github.com/wisp-forest/owo-lib
abstraction library minecraft-mod utility
Last synced: 4 days ago
JSON representation
Open ωorthωhile Operations, yes the acronym was "totally accidental"
- Host: GitHub
- URL: https://github.com/wisp-forest/owo-lib
- Owner: wisp-forest
- License: mit
- Created: 2021-05-24T20:49:20.000Z (over 3 years ago)
- Default Branch: 1.20.5
- Last Pushed: 2024-05-06T00:12:00.000Z (8 months ago)
- Last Synced: 2024-05-21T13:04:09.288Z (7 months ago)
- Topics: abstraction, library, minecraft-mod, utility
- Language: Java
- Homepage: https://modrinth.com/mod/owo-lib
- Size: 2.45 MB
- Stars: 166
- Watchers: 5
- Forks: 30
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-fabric - oωo (owo-lib) - A general utility library for content-focused modding on Fabric. ([Wiki](https://github.com/wisp-forest/owo-lib/blob/1.18.2/README.md)) `MIT` (Uncategorized / Uncategorized)
README
oωo (owo-lib)
## OverviewA general utility, GUI and config library for modding on Fabric. oωo is generally aimed at reducing code verbosity and making development more ergonomic. It covers a wide range of features from networking and serialization over GUI applications and configuration to data handling and registration.
**Build Setup:**
```properties
# https://maven.wispforest.io/io/wispforest/owo-lib/
owo_version=...
``````groovy
repositories {
maven { url 'https://maven.wispforest.io' }
}<...>
dependencies {
modImplementation "io.wispforest:owo-lib:${project.owo_version}"
// only if you plan to use owo-config
annotationProcessor "io.wispforest:owo-lib:${project.owo_version}"
// include this if you don't want force your users to install owo
// sentinel will warn them and give the option to download it automatically
include "io.wispforest:owo-sentinel:${project.owo_version}"
}
```Kotlin DSL
```kotlin
repositories {
maven("https://maven.wispforest.io")
}
dependencies {
modImplementation("io.wispforest:owo-lib:${properties["owo_version"]}")
// only if you plan to use owo-config
annotationProcessor("io.wispforest:owo-lib:${properties["owo_version"]}")
// include this if you don't want force your users to install owo
// sentinel will warn them and give the option to download it automatically
include("io.wispforest:owo-sentinel:${properties["owo_version"]}")
}
```
You can check the latest version on the [Releases](https://github.com/wisp-forest/owo-lib/releases) page
owo is documented in two main ways:
- There is rich, detailed JavaDoc throughout the entire codebase
- There is a wiki with in-depth explanations and tutorials for most of owo's features over at https://docs.wispforest.io/owo/features/## Features
This is by no means an exhaustive list, for a more complete overview head to https://docs.wispforest.io/owo/features/
- [owo-ui](https://docs.wispforest.io/owo/ui/), a fully-featured declarative UI library for building dynamic, beautiful screens with blazingly fast development times
- [owo-config](https://docs.wispforest.io/owo/config/), a built-in, customizable configuration system built on top of owo-ui. It provides many of the same features as [Cloth Config](https://modrinth.com/mod/cloth-config) while many new conveniences, like server-client config synchronization, added on top
- A fully automatic [registration system](https://docs.wispforest.io/owo/registration/) that is designed to be as generic as possible. It is simple and non-verbose to use for basic registries, yet the underlying API tree is flexible and can also be used for many custom registration solutions
- [Item Group extensions](https://docs.wispforest.io/owo/item-groups/) which allow for sub-tabs inside your mod's group as well as a host of other features like custom buttons, textures and item variant handling
- A fully-featured [networking layer](https://docs.wispforest.io/owo/networking/) with fully automatic serialization, handshaking to ensure client compatibility and a built-in solution for triggering parametrized particle events in a side-agnostic manner
- Client-sided particle helpers that allow for easily composing multi-particle effects
- Rich text translations, allowing you to use Minecraft's text component format in your language files to provide styled text without any code