Skip to content

Phase 13: every loader on every supported version (1.1.0-beta.9) - #16

Merged
jaymar921 merged 1461 commits into
mainfrom
feat/phase-13-loaders
Nov 7, 2026
Merged

jaymar921 merged 1461 commits into
mainfrom
feat/phase-13-loaders

Conversation

@jaymar921

Copy link
Copy Markdown
Member

Phase 13 of the road to 1.1.0: every loader on every supported version. platforms now holds 21 modules, Forge, NeoForge and Fabric on 26.3, 26.2, 26.1, 1.21.11, 1.21.5, 1.21.1 and 1.20.6, each with phases 8 to 12. 1.20.2 and 1.19.4 are on hold and not part of 1.1.0.

Ready to tag as v1.1.0-beta.9: version bumped, changelog dated, roadmap marked released.

Bugs fixed along the way

  • Pack sounds were silent on Forge 1.21.11 and later, including the released Forge 26.3 betas. Forge's SoundEngine calls the buffer library directly and never SoundInstance.getStream. Reproduced by asking OpenAL whether the channel plays, with NeoForge as the control. PackSoundBuffers replaces the library on SoundEngineLoadEvent, through a new access transformer entry.
  • Camera roll on 1.20.6 was wrong on all three loaders. NeoForge and Fabric had the sign reversed. Forge turned the roll around the world's Z axis, so a bank looked like a change of pitch going east. AircraftRotation.rollInXyzOrder works out the angles, with unit tests against the view every other version builds.
  • 1.21.11 logged a pack metadata error on every start, because no single pack.mcmeta with min_format 75 satisfies both the resource and data validators. The range now starts at 82. Resources and data still load on all three loaders.
  • Jars lacked files they need, and Fabric clients crashed at startup. Both are in the changelog.

How it was checked

A throwaway driver ran real dev clients on all 21 modules. On each it loaded the world, got 128 recipes, opened the drafting table, workshop and vehicle screens, sat in the seat, loaded the example pack, spawned its vehicle and played a pack sound through the server's packet (OpenAL reports it playing).

  • Screenshots checked by eye: the pack vehicle draws on the versions sampled (26.3, 26.1, 1.21.11, 1.20.6). Banked views on 1.20.6 at three headings match 1.21.1, on all three loaders.
  • The built Forge 26.3 jar started from a real launcher profile with a clean folder: access transformer applied, the zip imported, pack sound played.
  • Forge 26.3 dedicated server boots with the new transformer entry. ./gradlew build passes, and all 21 jars were listed for leftovers.

Not checked

  • Nobody has played these jars: no real flight, combat or sound by ear.
  • 20 of the 21 jars have not been started from a launcher profile. Dev runs apply access transformers differently, so the Forge 26.2, 26.1 and 1.21.11 entries are unproven in production.
  • Dedicated servers were not re-booted this session except Forge 26.3, and pack download from a server was not run on each version.
  • Iris on anything but 26.3.

These moved to the 1.1.0 section of docs/ROADMAP.md, or are listed per version in docs/TESTING.md.

@jaymar921 jaymar921 self-assigned this Nov 7, 2026
@jaymar921 jaymar921 added the enhancement New feature or request label Nov 7, 2026
@jaymar921
jaymar921 merged commit c31d8f7 into main Nov 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant