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

@@ -1,18 +1,17 @@
# Server plugin 0.1.2
# Server plugin 0.1.3
## Update and connect
1. Stop the Minecraft server, replace its old MineGeo JAR with `public/tools/plugin/minegeo-plugin-1.21.11.jar`, and restart. Run `version MineGeo` in the console to verify 0.1.2.
1. Stop the Minecraft server, replace its old MineGeo JAR with `public/tools/plugin/minegeo-plugin-0.1.3.jar`, and restart. Run `version MineGeo` in the console to verify 0.1.3.
2. Open your MineGeo website dashboard, sign in, and generate a plugin token.
3. In the Minecraft server console, configure the website and token. Console commands do not need the leading slash:
3. In the Minecraft server console, configure the Minecraft server address and contributor token. Console commands do not need the leading slash:
```text
minegeo website https://your-minegeo-domain.example
minegeo server play.your-minecraft-server.example
minegeo link <token copied from the dashboard>
```
For LAN testing the website may be `http://192.168.1.50:3000`; use your actual address. `localhost` means the computer running Minecraft, which may be different from the Mac running the website. HTTP is supported for testing; use HTTPS when transmitting contributor tokens over a public connection.
The website URL is built in: `https://minegeo.vercel.app`. Existing `website` settings are removed on startup; no URL configuration is needed. `minegeo website` displays the fixed endpoint. Account tokens remain private local configuration.
`minegeo server` sets the Minecraft connection hostname/IP, including a non-default port if needed. It is separate from the MineGeo website URL. Use the address players enter in Minecraft, or set `server-address` in `config.yml` and reload before exporting. The plugin records it in each export. Contributions to checked maps reject a missing or different capture address; old exports need to be recreated after configuring it. The map owner can override or clear the expected address in panorama settings. See [contribution server checks](panorama-contributions.md#contribution-server-check).
@@ -67,7 +66,7 @@ If the worker stops renewing its lease, the page warns that it has stopped repor
- An interrupted transfer resumes with `minegeo upload`. Progress is saved in `.upload-state.json` beside the export. Already received exports are not submitted twice.
- `minegeo cancel` cancels capture or stops upload at the next transfer boundary. Completed exports are kept. HTTP requests already in flight can take up to their timeout to stop.
- `minegeo reload` reloads `config.yml` after you edit `website`, `server-name`, `chunks-per-tick`, or other settings.
- `minegeo reload` reloads `config.yml` after you edit `server-name`, `chunks-per-tick`, or other settings.
- `minegeo status` reports the active stage and the last completed export folder.
- `minegeo help` lists commands.
@@ -96,4 +95,4 @@ To regenerate an existing unpublished draft after pulling this fix:
The maintenance command prepares plugin rendering assets, keeps the original raw export, clears the previous preview metadata and queues a fresh render. It refuses published revisions and active jobs. Inspect the regenerated private draft and submit it for review again. If the export itself is invalid, create and upload a corrected export instead.
Expected limits: Minecraft 1.21.11 / Java 21, Overworld only, five or more safe viewpoints, at most 2048 blocks per selected side and the worker's terrain/file-size limits. A large selection may need to be split into smaller maps.
Expected limits: Minecraft 1.21.11 / Java 21, or Minecraft 26.1 and 26.2 / Java 25, Overworld only, five or more safe viewpoints, at most 2048 blocks per selected side and the worker's terrain/file-size limits. A large selection may need to be split into smaller maps.

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.