Build 1.21.10 with Stonecutter from the shared src/
Check / compile (pull_request) Successful in 7m13s

Step 2 of #8. versions/1.21.10/src is gone; 1.21.10 builds from src/ as
:1.21.10, with versions/1.21.10 keeping only gradle.properties and run/.

API differences go behind version comments: render layers (ShaderUtils),
Camera.update's World vs BlockView (CameraMixin), the text and textured-quad
render states (RenderScopeImpl), Screen.init (SplashOverlayMixin) and
jspecify's @NonNull (SaturnRenderState).

Features 1.21.11 leaves out stay on 1.21.10, with a TODO for 1.21.11:
WorldFeatureImpl.getWorldAge, SaturnScreenFabric.resize and
EntityDrawerImpl clearing the hitbox.

Hats now render on 1.21.10: its HatFeatureRenderer overrode the
render-queue method with an empty body, and the working code sat in an old
VertexConsumerProvider method nothing called. 1.21.10 now uses 1.21.11's
render-queue implementation (HatFeatureRenderer, ObjModel, ObjRenderer),
and also gets 1.21.11's null check on the player's display name.

The 1.21.10 jar has the same entries, fabric.mod.json and mixin configs as
before; only those four classes and ShaderUtils (a helper method for
entityAlpha) have different bytecode. The 1.21.11 jar only differs in
ShaderUtils.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-09-27 05:05:03 +02:00
co-authored by claude
parent a30cf4d3ab
commit 95e4dff448
66 changed files with 80 additions and 3598 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ git clone --recurse-submodules https://git.selimaj.dev/saturnclientmc/saturnclie
cd saturnclient
./gradlew buildAll # every version → build/allJars/
./gradlew :1.21.11:build # a single version (versions not on Stonecutter yet: :mc-1.21.10)
./gradlew :1.21.11:build # a single version (versions not on Stonecutter yet: :mc-1.21.9)
./gradlew :1.21.11:runClient # launch a development client
```