128 Commits
Author SHA1 Message Date
selimaj-devandclaude af27907356 Build every version with Mojang mappings instead of Yarn
Minecraft ships unobfuscated from 26.1, and 1.21.11 has the last Yarn
release, so the shared src/ has to use Mojang's names before newer
versions can be added (#39).

Each version's sources were migrated with Loom's migrateMappings and
merged back into src/, so code that is only active on other versions
is migrated too. Where Mojang's names differ between 1.21.x versions,
src/ uses the newest ones: Stonecutter replacements swap in the older
Identifier/ResourceLocation and Avatar/Player renderer names, and
version comments cover the few package moves and renamed methods.

The fog mixin now targets setupFog on every version. Yarn's applyFog
named two methods from 1.21.6 on, so it also applied to updateBuffer.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 17:39:14 +02:00
selimaj-devandclaude 8dbb1d84c1 Use Fabric Loader 0.19.5 for every version
Check / compile (pull_request) Successful in 2m42s
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]>
2026-09-27 07:26:11 +02:00
selimaj-devandclaude 25a19d7951 Build 1.21.4 with Stonecutter; every version now shares src/
Check / compile (pull_request) Successful in 7m44s
Step 6 of #8. versions/1.21.4/src is gone, so all eight versions (1.21.4 to
1.21.11) build from src/.

1.21.4's differences from 1.21.5 are behind version comments:
- The end gateway render layer has no render pipeline before 1.21.5
  (ShaderUtils: the pipeline field only exists from 1.21.5, and the layer
  is a four-way chain).
- Hat head rotation, the NativeImageBackedTexture constructor, armor slots
  (inventory.armor vs getEquippedStack), MatrixStackMixin's Quaternionf,
  and inside the pre-1.21.6 implementations: prevHeadYaw, GUI lighting,
  ModelTransformationMode, item depth, setShaderTexture and the blur
  uniform call. Those are one-line version comments, since the pre-1.21.6
  blocks are already inside /* */ on newer versions.

1.21.5's drawItem wrapped its body in a second isEmpty check after already
returning early for empty stacks; the redundant check is gone, so 1.21.4
and 1.21.5 share the body.

Freelook's zoom-out (FreelookMod.shouldZoomOut in GameRendererMixin) only
existed on 1.21.4. It doesn't depend on the Minecraft version, so it's
back on every version.

With no old copies left, the mc-<v> fallback in settings.gradle.kts and
scripts/port.sh are removed, and README and VERSION_GUIDE describe the
single layout.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 06:34:32 +02:00
selimaj-devandclaude 9126faa11c Replace player-animation-lib with the Saturn emote library
- 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]>
2026-09-26 21:16:29 +02:00
selimaj-devandclaude 39f140dae1 Mojang session auth and version check; release 0.1.0-beta3
- 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]>
2026-09-25 15:27:27 +02:00
selimaj-devandclaude 1d56094388 Use session-java 0.2.0 from the Gitea registry; reconnect and timeouts
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]>
2026-09-25 14:46:45 +02:00
selimaj-devandclaude 68734f6ac5 Keep server tab names and team formatting in the tab list
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]>
2026-09-25 14:00:39 +02:00
selimaj-dev 89cb467016 Improved cloak max x speed 2026-04-10 04:10:57 +02:00
selimaj-dev 9488a8647e Improved cloak physics 1.21.4 2026-04-10 04:07:26 +02:00
selimaj-dev 65c9454370 Re-added old nametag to unsupported versions 2026-04-08 20:39:03 +02:00
selimaj-dev f288f9148c Removed nametag mixins 2026-04-08 20:27:59 +02:00
selimaj-dev e165f6b65c Removed nametag from all mixin files 2026-04-08 20:25:44 +02:00
Kr4ight 2cd7db9ade Fix auth timeout 2026-04-07 20:17:15 +02:00
selimaj-dev 2d16da9dd5 Shared versioning 2026-03-28 21:11:08 +01:00
selimaj-dev d58b0c90fd Small improvements with build 2026-03-28 20:56:40 +01:00
selimaj-dev bf4cec4ea5 Build all 2026-03-28 20:54:05 +01:00
selimaj-dev f44647ba52 Working freelook 2026-03-26 16:56:44 +01:00
selimaj-dev b457f070b9 Improved rounded rectangles #59 2026-03-25 22:18:26 +01:00
selimaj-dev bf280d945e Improved #59 2026-03-25 19:00:21 +01:00
selimaj-dev 0b469e6a5a Improved RenderScope for 1.21.4 #59 2026-03-25 18:23:31 +01:00
selimaj-dev 13a5347412 Fix mixins #57 2026-03-24 14:36:24 +01:00
selimaj-dev 89f29d5d0e Refactor feature / module system for 1.21.5 #55 2026-03-24 13:09:32 +01:00
selimaj-dev 8836cc851b Refactor feature / module system for 1.21.4 #55 2026-03-24 13:01:38 +01:00
selimaj-dev 7849e2e04c Refactored feature / module system #55 2026-03-24 12:05:02 +01:00
selimaj-dev 9fbeac628c Refactoed 1.21.5 to work with new gif api 2026-03-23 21:05:22 +01:00
selimaj-dev d3cd883782 Gif loading 2026-03-23 20:33:10 +01:00
selimaj-dev 7ce54c8561 Fixed 1.21.5 end cosmetics shader 2026-03-23 19:31:11 +01:00
selimaj-dev 16b3936649 Improved expressiveness in cloak physics 2026-03-21 22:08:08 +01:00
selimaj-dev 39dc0963ce Fixed saturn player tracking 2026-03-21 20:40:29 +01:00
RudideC fe629b8bf5 finally works
svg lib wasnt included
2026-03-21 17:59:22 +01:00
RudideC a8e15b98dd now it runs at least 2026-03-21 17:46:17 +01:00
RudideC fa68fcad50 1.21.4 build changes
not quite working, close though
2026-03-21 17:36:41 +01:00
selimaj-dev 5e53a2e188 End shader 2026-03-21 10:38:14 +01:00
selimaj-dev 0471a007ce Improved cloak physics 2026-03-21 00:38:41 +01:00
selimaj-dev b60f218e29 Cloak loading 2026-03-20 23:06:07 +01:00
selimaj-dev a6f3fd79b3 Nofog 2026-03-20 21:55:38 +01:00
selimaj-dev ab60119266 Refactored effect 2026-03-20 21:36:18 +01:00
selimaj-dev 6a40d6b6f1 Fixed Dummy for status effects 2026-03-20 21:17:34 +01:00
selimaj-dev 10a4868d8f Fixed config stuff 2026-03-20 21:07:50 +01:00
selimaj-dev 01da8b8198 Improved module implementation structure 2026-03-20 19:42:41 +01:00
selimaj-dev 787ffd7bcb Fixed freelook 2026-03-20 19:22:59 +01:00
selimaj-dev e0d0571078 Fix 2026-03-09 01:33:29 +01:00
selimaj-dev 2df38b2962 Moved implementations into impl 2026-03-08 16:16:06 +01:00
selimaj-dev f947fa5f17 Fixed a few things 2026-03-08 16:11:00 +01:00
selimaj-dev 9a8c9670c6 Fixed a few things 2026-03-08 16:05:53 +01:00
selimaj-dev 301b75c003 Mixins 2026-03-08 16:00:36 +01:00
selimaj-dev ceeb64282f Modules implementation 2026-03-08 15:55:44 +01:00
selimaj-dev d68e47d1cc Removed old module logic 2026-03-08 13:48:06 +01:00
selimaj-dev b04014a87f Refactor mixins 2026-03-08 13:34:52 +01:00
selimaj-dev 8854726916 Refactor mixins 2026-03-08 13:34:45 +01:00