Add Minecraft 26.x support and version Java artifacts

This commit is contained in:
2026-10-07 13:18:31 +05:00
parent 48b34db6f1
commit dac8650ac1
50 changed files with 813 additions and 162 deletions

View File

@@ -3,16 +3,22 @@
Commit these website assets together with the source code:
- `public/images/example-map.webp` — homepage illustration and map-card fallback.
- `public/tools/mod/minegeo-fabric-1.21.11.jar` — Fabric mod download.
- `public/tools/plugin/minegeo-plugin-1.21.11.jar` — server plugin download.
- `public/tools/mod/minegeo-fabric-1.21.11-0.1.3.jar` — Java 21 Fabric mod.
- `public/tools/mod/minegeo-fabric-26.1-0.1.3.jar` — Java 25 Fabric mod for 26.1.
- `public/tools/mod/minegeo-fabric-26.2-0.1.3.jar` — Java 25 Fabric mod for 26.2.
- `public/tools/plugin/minegeo-plugin-0.1.3.jar` — Bukkit/Paper plugin for all three.
Next.js serves these directly at `/images/example-map.webp`,
`/tools/mod/minegeo-fabric-1.21.11.jar`, and
`/tools/plugin/minegeo-plugin-1.21.11.jar`. They are deliberately tracked, so a
fresh checkout on macOS has the homepage image and both download buttons without
Next.js serves these directly under `/images/` and `/tools/`. The download page
uses versioned filenames to avoid stale downloads. Unversioned 1.21.11 URLs
remain updated compatibility copies. These assets are deliberately tracked, so a
fresh checkout on macOS has the homepage image and all download buttons without
building Minecraft tools or running the renderer proof.
After changing the Java source, run `npm run java:build` with Java 21 installed.
After changing the Java source, run `npm run java:build` with Java 25 selected
as `JAVA_HOME`, and Java 21 available for the older mod and plugin toolchains.
Gradle builds the older Yarn-based mod and both separate Mojang-named 26.x mods.
On Windows/OneDrive, set `MINEGEO_JAVA_BUILD_ROOT` to a local temporary directory
to keep generated Gradle output outside synced folders.
The build copies the new JARs into `public/tools/`; commit those updated files too.
Gradle caches, intermediate build output, and generated test panoramas remain
ignored. The JARs contain Java bytecode and work across Windows, macOS, and Linux.
@@ -20,3 +26,21 @@ ignored. The JARs contain Java bytecode and work across Windows, macOS, and Linu
On the Mac, pull the commit, run `npm install`, and restart the development
server. For a production server, run `npm run build` and then `npm start`.
Keep that machine's Supabase credentials in its own `.env.local`.
Both tools connect to `https://minegeo.vercel.app` without URL setup. The mod
still stores its contributor token and selected map locally; the plugin retains
its contributor token, Minecraft connection address, and export settings.
The website accepts 1.21.11 and 26.1/26.2 capture manifests. The updated worker
selects and verifies vanilla models/textures for each export's version. Restart
the rendering worker on its existing host after updating these source files;
Vercel deploys only the website and JAR downloads, not that separate worker.
Verification commands:
Select Java 25 in `JAVA_HOME` for the Paper matrix. It checks 1.21.11, the
maintained 26.1.2 release of the 26.1 family, and 26.2 without launching a game
client. Fabric builds are compile-checked; client capture was not runtime-tested.
- `node scripts/test-minecraft-versions.mjs`: local Paper command/export matrix.
- `node scripts/test-renderer.mjs --fixture 26.1` (or `26.2`): versioned rendering.