Skip to content

Releases: wisp-forest/owo-lib

[1.21] oωo - 0.12.11

28 Jul 22:46
447f780
Compare
Choose a tag to compare

Additions

  • Minecraft's ComponentTypes can now have both their codec and packet codec populated by calling .endec(...)
  • A new overload for CodecUtils.toEndec along with CodecUtils.toEndecWithRegistries allow creating endecs from both a codec and packetcodec (where the latter one uses a packetcodec of RegistryByteBuf)
  • The new Surface.panorama(...) allows using Minecraft's main menu panorama as an owo-ui surface
  • Sizing.Random

Changes

  • The OwoItemSettings-specific methods are now interface-injected onto all item settings and the previous class deprecated
  • EndecRecipeSerializer is no longer abstract, making subclassing unnecessary in most cases

Fixes

  • A number of changes were made to the endec library and owo's EdmOps to alleviate most (hopefully all) problems related to codec <-> endec interop when NBT is involved (Blodhgarm)
  • Wrapper item groups (which broke during the port 1.21) now work again
  • MinecraftEndecs.PACKET_BYTE_BUF no longer moves the reader index when encoding a buffer
  • A rare crash that could occur when causing input on a screen which failed loading its UI model has been fixed (#263, Zailer43)
  • Pressing ctrl+delete in a text field in owo-ui debug mode no longer crashes (#264, Zailer43)
  • Color.ofDye, which was improperly ported, now produces correct colors again (#273, Blodhgarm)
  • OverlayContainer no longer mounts its children incorrectly if it has a non-zero position (#278, kikugie)

[1.21] oωo - 0.12.10

15 Jun 21:22
0a75cb5
Compare
Choose a tag to compare

This build is primary a port of 0.12.9 to 1.21. This mandated a few other changes:

Endec changes

The Endec API is no longer built into owo-lib. Instead, owo now uses and ships the standalone endec library. This entails four major changes:

  • Endecs for Minecraft's types are no longer found on BuiltInEndecs but instead on MinecraftEndecs
  • DFU interop (namely, converting between codecs and endecs) is now handled through CodecUtils.toCodec/toEndec and related functions
  • A number of package changes, primarly io.wispforest.owo.serialization -> io.wispforest.endec
  • All JSON-related implementations are now named after the JSON library they use. In consequence, the previous JsonSerializer is now GsonSerializer and so on

Further Fixes

  • EdmOps no longer uses null as its empty value, fixing a number of edge cases with particular types of DFU codecs when doing interop
  • owo's ScreenHandler extensions don't require a HandledScreen anymore and now also support other screens which implement ScreenHandlerProvider

[1.20.5+] oωo - 0.12.9

11 Jun 20:10
e550b31
Compare
Choose a tag to compare

This build is primarily a port of 0.12.9 to 1.21. This mandated a few other changes:

Endec changes

The Endec API is no longer built into owo-lib. Instead, owo now uses and ships the standalone endec library. This entails four major changes:

  • Endecs for Minecraft's types are no longer found on BuiltInEndecs but instead on MinecraftEndecs
  • DFU interop (namely, converting between codecs and endecs) is now handled through CodecUtils.toCodec/toEndec and related functions
  • A number of package changes, primarily io.wispforest.owo.serialization -> io.wispforest.endec
  • All JSON-related implementations are now named after the JSON library they use. In consequence, the previous JsonSerializer is now GsonSerializer and so on

Further Fixes

  • EdmOps no longer uses null as its empty value, fixing a number of edge cases with particular types of DFU codecs when doing interop
  • owo's ScreenHandler extensions don't require a HandledScreen anymore and now also support other screens which implement `ScreenHandlerProvider

[1.20.5+] oωo - 0.12.8

01 May 20:01
0fdd4bf
Compare
Choose a tag to compare

Fixes

  • Joining a singleplayer world in an instance where no owo networking features are used no longer fails on the first attempt (#230)

[1.20.5+] oωo - 0.12.7

29 Apr 21:11
7f18db9
Compare
Choose a tag to compare

This build fixes a crash (#229) that would occur either on boot or when joining a server (depending on other context) with 0.12.6 for 1.20.5

[1.20.5] oωo - 0.12.6

28 Apr 22:23
9985648
Compare
Choose a tag to compare

This release is primarily a (preliminary, hence beta) port of 0.12.6. However, prompted by the game's networking changes and further reliance on attaching registry references to serialization infrastructure, there have been major internal reworks to both the Networking API and Endec. The majority of these changes are transparent to users, with the exception of the occasional requirement to pass a SerializationContext into Endec methods (the documentation will be updated accordingly).

[1.20.3+] oωo - 0.12.6

03 Apr 22:39
a06c477
Compare
Choose a tag to compare

Additions

  • The new Endec#flatFieldOf function creates special struct fields which enable merging the fields of a StructEndec into another one through StructEndecBuilder.of

Fixes

  • Optionals now get serialized properly by the EdmSerializer
  • The EXPAND sizing method now works correctly in presence of a non-zero gap when used inside a FlowLayout (#219)

[1.20.3+] oωo - 0.12.5

17 Feb 13:41
623e125
Compare
Choose a tag to compare

Additions

  • EdmElement instances which hold a MAP type can now be represented as an EdmMap (which, importantly, implements MapCarrier and can thus be used with KeyedEndec) using EdmElement#asMap (#209, Blodhgarm)
  • The components of a record used for owo networking (or, more specifically, for which an instance of RecordEndec is made) can now be annotated @NullableComponent to support null serialization (#216, Blodhgarm)

Fixes

  • When text with a click event of type OPEN_URL is clicked in an owo-ui label component, the resulting link confirmation screen now properly returns to the screen with label on it after the link has been confirmed/rejected by the user (#214)
  • The error message logged when an owo UI model hot reload fails no longer has mismatched format specifiers
  • Hud addition/removal requests are now processed in invocation order at the beginning of every frame rendered while in a world (this solves weird ordering problems with addition/removal and fixes requests not being processed while the Hud is hidden) (#213)

[1.20.3+] oωo - 0.12.4

13 Feb 21:52
e3b8e70
Compare
Choose a tag to compare

Additions

  • The line spacing applied to text rendered by owo-ui's label component is now configurable

Fixes

  • The previously broken BlockHitResult endec now encodes correctly and has been made publicly available as BuiltInEndecs.BLOCK_HIT_RESULT

[1.20.3+] oωo - 0.12.3

18 Jan 15:37
d47a040
Compare
Choose a tag to compare

Fixes

  • Tooltips of stacked sibling components now render properly again
  • A label which does not have an owo-ui tooltip but contains text with a hover event now renders that hover event again