Load emotes with the Saturn emote library #5

Merged
selimaj-dev merged 1 commits from emote-library into master 2026-09-26 19:17:21 +00:00
Owner

Part of switching Saturn from player-animation-lib to our own emote library (org.saturnclient:emotes-core / emotes-fabric). The saturnclient side (build files and the per-version playEmote) follows once this merges.

Changes

  • build.gradle: depends on org.saturnclient:emotes-core:${emotes_version}, a property set in saturnclient's root gradle.properties.
  • cosmetics/Emotes:
    • loads assets/saturnclient/player_animations/<id>.json into Saturn's own EmoteRegistry, separate from the library's shared one, so no other mod can replace them
    • exposes Emotes.get(id)
    • availableEmotes now lists only the emotes that loaded
  • Emote wheel: now also calls ServiceClient.emote(id). Without it, other players never saw your emote; it only played locally. The server leaves you out of the recipients, so the emote doesn't play twice.

Testing

Built with every saturnclient version and started on 1.21.11: all six emotes load without errors.

🤖 Generated with Claude Code

Part of switching Saturn from player-animation-lib to our own emote library (`org.saturnclient:emotes-core` / `emotes-fabric`). The `saturnclient` side (build files and the per-version `playEmote`) follows once this merges. ## Changes - **`build.gradle`**: depends on `org.saturnclient:emotes-core:${emotes_version}`, a property set in saturnclient's root `gradle.properties`. - **`cosmetics/Emotes`**: - loads `assets/saturnclient/player_animations/<id>.json` into Saturn's own `EmoteRegistry`, separate from the library's shared one, so no other mod can replace them - exposes `Emotes.get(id)` - `availableEmotes` now lists only the emotes that loaded - **Emote wheel**: now also calls `ServiceClient.emote(id)`. Without it, other players never saw your emote; it only played locally. The server leaves you out of the recipients, so the emote doesn't play twice. ## Testing Built with every saturnclient version and started on 1.21.11: all six emotes load without errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
selimaj-dev added 1 commit 2026-09-26 19:16:21 +00:00
- Emotes loads assets/saturnclient/player_animations/*.json with
  emotes-core into Saturn's own EmoteRegistry (not the library's shared
  one, so other mods can't replace them), and lists the ones that loaded
  for the wheel.
- The emote wheel now also sends the emote to the server, so other
  players see it. It only played locally before.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
selimaj-dev merged commit 15fa973553 into master 2026-09-26 19:17:21 +00:00
selimaj-dev deleted branch emote-library 2026-09-26 19:17:23 +00:00
Sign in to join this conversation.