1.21.4-1.21.6 declared loader 0.18.x and the others 0.19.0, but the
bundled emotes-fabric pulls in loader 0.19.5, and its nested mod already
requires loader >=0.19. So the declared version was never what ran: in
dev, Loom's loader libraries came from the declared version while the
loader itself was 0.19.5, and 1.21.4/1.21.6 sometimes started with
sponge-mixin 0.17.0 and crashed (NoClassDefFoundError:
IAdviceProvider). Declaring 0.19.5 makes dev match what runs, and makes
fabric.mod.json's fabricloader requirement (>=0.19.5) honest.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Step 3 of #8. 1.21.9's copy was identical to the old 1.21.10 one, so the
existing version comments already cover it and no code changes: 1.21.9 is
added to stonecutterVersions and versions/1.21.9/src is removed.
Like 1.21.10 in step 2, 1.21.9 now renders hats (1.21.11's render-queue
implementation) and gets the display-name null check. The jar has the same
entries, fabric.mod.json and mixin configs as before; only those classes
and ShaderUtils's entityAlpha helper differ in bytecode.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Every version depends on org.saturnclient:emotes-fabric
(${emotes_version}+<mc>, bundled). playEmote plays Saturn's emotes
through it, and sneaking stops your own emote and tells the server.
Emotes now work on 1.21.6+ too, where player-animation-lib was
commented out.
- Removed every player-animation-lib and bendy-lib reference: the KoSmX
repository, the dependencies, the player_anim properties, and the old
(partly commented out) code in SaturnProviderImpl and KeyInputHandler.
- Build: Loom 1.15 -> 1.17.21 (the emotes jar is built with 1.17 and
older Loom refuses it), Gradle 9.3 -> 9.8 (needed by Loom 1.17), and
sourceSets moved out of the dependencies block in the root build.gradle,
which Gradle 9.8 rejects.
- common: points at the emote-library branch (saturnclientmc/common#5).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Implement SaturnProvider.getModVersion() (Fabric mod metadata) and
showWarning() (15 s SystemToast) in every version
- Bump mod_version to 0.1.0-beta3, the first version on the new
Mojang session-server authentication
- Point common at its merge commit for the new auth flow and version check
Fixes#7
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Replace JitPack (which can no longer build session-java since its GitHub
repo is gone) with the Gitea package registry in every build file, move
to dev.selimaj:session-java:0.2.0, and bump common for server reconnect
and request timeouts.
Fixes#4, fixes#5.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
TabListMixin @Overwrote PlayerListEntry.getDisplayName() and always
returned the bare profile name, dropping server-set display names (rank
prefixes, colours) and, by never returning null, vanilla's team
decoration, for every player. Inject at RETURN instead: non-Saturn
players keep the original value, and Saturn players get the icon in
front of the original name, or the team-decorated profile name when the
server set none.
Also bump common for the player-lookup and thread-safety fixes.
Fixes#3. Refs #2, #6.
Co-Authored-By: Claude Opus 5.5 <[email protected]>