Playing an emote from the emote wheel doesn't close it in released jars #48

Closed
opened 2026-09-30 16:02:28 +00:00 by selimaj-dev · 0 comments
Owner

EmoteWheel.play closes the screen through ScreenProvider.close(). SaturnScreenFabric implements that interface method with a close() that also overrides Yarn's Screen.close(). In released jars Loom renames the override to its intermediary name (method_25419), so ScreenProvider.close() has no implementation and throws AbstractMethodError.

The published saturn-client-0.1.4-beta+1.21.11.jar has SaturnScreenFabric.method_25419() and no close(). I haven't reproduced it in a production install.

Fix: SaturnScreenFabric keeps vanilla's onClose() override and implements ScreenProvider.close() separately, calling onClose(). This is on the mojang-mappings branch (#39).

🤖 Generated with Claude Code

`EmoteWheel.play` closes the screen through `ScreenProvider.close()`. `SaturnScreenFabric` implements that interface method with a `close()` that also overrides Yarn's `Screen.close()`. In released jars Loom renames the override to its intermediary name (`method_25419`), so `ScreenProvider.close()` has no implementation and throws `AbstractMethodError`. The published `saturn-client-0.1.4-beta+1.21.11.jar` has `SaturnScreenFabric.method_25419()` and no `close()`. I haven't reproduced it in a production install. Fix: `SaturnScreenFabric` keeps vanilla's `onClose()` override and implements `ScreenProvider.close()` separately, calling `onClose()`. This is on the `mojang-mappings` branch (#39). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
selimaj-dev added the area/emotesarea/ui
type
bug
labels 2026-09-30 16:02:33 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: saturnclientmc/saturnclient#48