Tags
Creators
Details
0.12.0+1.20.3
Compatibility
Changes
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
NbtKeyand all associated API has been removed entirely in favor of the new, Endec-based and functionally extremely similarKeyedEndecused in conjunction withMapCarrier(which is interface-injected onto the same classes asNbtCarrierused to be)PacketBufSerializerhas 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 theReflectiveEndecBuilder) together with the interface-injectedPacketByteBuf#write(Endec, Object)andPacketByteBuf#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,
CustomTextContentalong withCustomTextContentSerializerno longer exist - instead, simply implement the vanillaTextContentinterface, create aTextContent.Typewith the appropriate codec and register said type in theCustomTextRegistryas before
Fixes
ScissorStacknow clamps the width/height passed toglScissorto 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 inflationsParentComponent#collectChildren, replaced by the more appropriately named but functionally identicalParentComponent#collectDescendantsOwoItemGroup#setSelectedTab,OwoItemGroup#getSelectedTabandOwoItemGroup#getSelectedTabIndex- use the new equivalents which are aware that multiple tabs can be selectedNinePatchRendererandOwoNinePatchRenderers, long-replaced byNinePatchTextureandOwoNinePatchTextures
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| owo-lib-0.12.0+1.20.3-sources.jar | Unknown | 436.01 KiB |
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ccKDOlHs:rGwQL6vN"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ccKDOlHs:rGwQL6vN"
}

