Build for Minecraft 26.3 #52

Merged
selimaj-dev merged 1 commits from mc-26.3 into master 2026-09-30 20:31:33 +00:00
Owner

Adds 26.3, the last released version in #39. 26.4 isn't out yet, so #39 stays open for it.

Input

26.3 replaces GLFW with SDL, which numbers keys (scancodes), modifiers and mouse buttons differently. Saturn keeps GLFW's numbers, which common uses and the config's keybinds store, so saved keybinds keep working and the config needs no migration.

  • A new impl.provider.Keys converts at the boundary on 26.3: key events, modifiers and mouse buttons coming into Saturn's screens, and key codes going to InputConstants. On older versions it passes everything through.
  • Its table pairs GLFW's codes with 26.3's InputConstants of the same name. The only exception is Super, which 26.3 calls GUI.
  • On 26.3, key names come from the game, so the keybind selector shows "Right Shift" instead of "Key 344".

Rendering

  • Blaze3D's API moved to com.mojang.renderpearl, which Stonecutter replacements cover. PoseStack's quaternion mulPose is now rotate. TextureTarget takes a depth format instead of a flag.
  • 26.3 compiles shaders through SPIR-V and reorders DynamicTransforms. glass.fsh takes explicit locations and the new order behind two defines that GlassRenderer sets on 26.3.
  • The unlit cosmetics pipeline declares its colour target, which 26.3 requires. Without it, rendering the player (F5) crashed.

Checked

  • All versions compile. A Stonecutter round trip through 26.3 leaves src/ unchanged, and src/ compiles with 26.3 active.
  • A script found no missing mixin target names in the 26.3 game jar.
  • Tested in game on 26.3: cosmetics in third person, keybinds, typing, mouse input, the glass UI and the rest of the mods.

The version guide covers the key conversion, the SPIR-V shader rule, and the fact that replacements work both ways.

🤖 Generated with Claude Code

Adds 26.3, the last released version in #39. 26.4 isn't out yet, so #39 stays open for it. ## Input 26.3 replaces GLFW with SDL, which numbers keys (scancodes), modifiers and mouse buttons differently. Saturn keeps GLFW's numbers, which `common` uses and the config's keybinds store, so **saved keybinds keep working** and the config needs no migration. - A new `impl.provider.Keys` converts at the boundary on 26.3: key events, modifiers and mouse buttons coming into Saturn's screens, and key codes going to `InputConstants`. On older versions it passes everything through. - Its table pairs GLFW's codes with 26.3's `InputConstants` of the same name. The only exception is Super, which 26.3 calls GUI. - On 26.3, key names come from the game, so the keybind selector shows "Right Shift" instead of "Key 344". ## Rendering - Blaze3D's API moved to `com.mojang.renderpearl`, which Stonecutter replacements cover. `PoseStack`'s quaternion `mulPose` is now `rotate`. `TextureTarget` takes a depth format instead of a flag. - 26.3 compiles shaders through SPIR-V and reorders `DynamicTransforms`. `glass.fsh` takes explicit locations and the new order behind two defines that `GlassRenderer` sets on 26.3. - The unlit cosmetics pipeline declares its colour target, which 26.3 requires. Without it, rendering the player (F5) crashed. ## Checked - All versions compile. A Stonecutter round trip through 26.3 leaves `src/` unchanged, and `src/` compiles with 26.3 active. - A script found no missing mixin target names in the 26.3 game jar. - Tested in game on 26.3: cosmetics in third person, keybinds, typing, mouse input, the glass UI and the rest of the mods. The version guide covers the key conversion, the SPIR-V shader rule, and the fact that replacements work both ways. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
selimaj-dev added 1 commit 2026-09-30 20:13:03 +00:00
Build for Minecraft 26.3
Check / compile (pull_request) Successful in 16m19s
46c7bacd04
Adds 26.3 as a Stonecutter version, the last step of #39.

Input: 26.3 replaces GLFW with SDL, which numbers keys (scancodes),
modifiers and mouse buttons differently. Saturn keeps GLFW's numbers,
which common uses and the config's keybinds store, so saved keybinds
stay valid. The new Keys class converts at the boundary: key events,
modifiers and mouse buttons coming into Saturn's screens, and key codes
going to InputConstants. Its table pairs GLFW's codes with 26.3's
InputConstants of the same name. Key names come from the game on 26.3,
and version-specific code uses InputConstants' key constants rather
than GLFW's.

Rendering: Blaze3D's API moved to renderpearl, which Stonecutter
replacements cover. PoseStack's quaternion mulPose became rotate, and
TextureTarget takes a depth format instead of a flag. 26.3 compiles
shaders through SPIR-V and reorders the transforms block, so glass.fsh
takes explicit locations and the new order behind defines that
GlassRenderer sets, and the unlit cosmetics pipeline declares its
color target, which 26.3 requires.

OptionsScreen no longer takes whether a world is open.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
selimaj-dev merged commit 068c15d781 into master 2026-09-30 20:31:33 +00:00
selimaj-dev deleted branch mc-26.3 2026-09-30 20:31:35 +00:00
Sign in to join this conversation.