Stonecutter step 3: build 1.21.9 from the shared src/ #26

Merged
selimaj-dev merged 1 commits from stonecutter-1.21.9 into stonecutter 2026-09-27 03:10:59 +00:00
Owner

Step 3 of #8, into the stonecutter integration branch. 1.21.9 now builds from src/ as :1.21.9, and versions/1.21.9/src is gone.

Why no code changes

1.21.9's copy (and its build.gradle) was byte-for-byte identical to the old 1.21.10 copy, so the version comments from step 2 (>=1.21.11 / <1.21.11) already cover it. This PR only:

  • adds 1.21.9 to stonecutterVersions
  • removes versions/1.21.9/src, build.gradle and settings.gradle, and the now-unused loom_version
  • updates VERSION_GUIDE.md and the README (the versions left are 1.21.4–1.21.8)

Like 1.21.10 in step 2, 1.21.9 now renders hats (it had the same empty render-queue override), and gets the display-name null check.

Checks

  • 1.21.9 jar vs the old :mc-1.21.9 jar: same entries, identical fabric.mod.json and mixin configs. Comparing bytecode (ignoring line numbers), only HatFeatureRenderer, ObjModel, ObjRenderer, PlayerEntityRendererMixin and ShaderUtils differ, the same set as 1.21.10 in step 2.
  • Switching versions: Set active project to 1.21.9 compiles, and Reset active project leaves src/ unchanged.
  • Builds: a cold buildAll --no-build-cache builds all 8 jars in 82 s, and compileJava passes.
  • In game: :1.21.9:runClient starts (offline in dev: there's no DevAuth in that run folder).

Needs an in-game check: hats on 1.21.9.

🤖 Generated with Claude Code

Step 3 of #8, into the `stonecutter` integration branch. 1.21.9 now builds from `src/` as `:1.21.9`, and `versions/1.21.9/src` is gone. ## Why no code changes 1.21.9's copy (and its `build.gradle`) was byte-for-byte identical to the old 1.21.10 copy, so the version comments from step 2 (`>=1.21.11` / `<1.21.11`) already cover it. This PR only: - adds `1.21.9` to `stonecutterVersions` - removes `versions/1.21.9/src`, `build.gradle` and `settings.gradle`, and the now-unused `loom_version` - updates `VERSION_GUIDE.md` and the README (the versions left are 1.21.4–1.21.8) Like 1.21.10 in step 2, 1.21.9 now renders hats (it had the same empty render-queue override), and gets the display-name null check. ## Checks - **1.21.9 jar vs the old `:mc-1.21.9` jar:** same entries, identical `fabric.mod.json` and mixin configs. Comparing bytecode (ignoring line numbers), only `HatFeatureRenderer`, `ObjModel`, `ObjRenderer`, `PlayerEntityRendererMixin` and `ShaderUtils` differ, the same set as 1.21.10 in step 2. - **Switching versions:** `Set active project to 1.21.9` compiles, and `Reset active project` leaves `src/` unchanged. - **Builds:** a cold `buildAll --no-build-cache` builds all 8 jars in 82 s, and `compileJava` passes. - **In game:** `:1.21.9:runClient` starts (offline in dev: there's no DevAuth in that run folder). **Needs an in-game check:** hats on 1.21.9. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
selimaj-dev added 1 commit 2026-09-27 03:10:17 +00:00
Build 1.21.9 with Stonecutter from the shared src/
Check / compile (pull_request) Successful in 7m8s
f2d30e6611
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]>
selimaj-dev added the area/buildarea/versions
type
refactor
labels 2026-09-27 03:10:18 +00:00
selimaj-dev merged commit a44b4f4e90 into stonecutter 2026-09-27 03:10:59 +00:00
selimaj-dev deleted branch stonecutter-1.21.9 2026-09-27 03:11:03 +00:00
Sign in to join this conversation.