Repository navigation
[1.18.2] Creation editor rejects namespaced geome IDs in valid templates #269
Description
Environment
- Minecraft: 1.18.2
- Forge: 40.3.0
- OreSpawn: local candidate
4.0.12.118021 - Candidate commit:
7c82ecc844ae9d241a108f4417c6c3b5b0bc29a2 - Candidate JAR SHA-256:
0478D611A96020DAAE794B72E64EFD677B49A5B63BCB6179330D63317B16D6A6 - Integration mod: CakeWorld
master-1.18.2, provider revision 58 - Fixed acceptance seed reserved for the post-editor world:
5059928472718672684
Summary
The creation-time editor rejects a valid provider template when its geome keys are namespaced resource IDs. CakeWorld's template is auto-selected and the editor can display its installed biome/material configuration, but pressing Done fails with:
Invalid geome: cakeworld:cocoa_basin
The world therefore cannot be created from the editor selection, so the saved snapshot and generated-world phases of acceptance are unreachable.
Reproduction
- Launch a Forge 1.18.2 client with OreSpawn
4.0.12.118021and CakeWorld installed. - Choose Singleplayer and begin creating a new world.
- Open the OreSpawn... editor.
- Observe that
Template: Cake Worldis already auto-selected. - Press Done without editing the template.
Actual
The editor remains open and shows red validation text:
Invalid geome: cakeworld:cocoa_basin
Expected
The editor accepts namespaced geome IDs that are valid in the packaged provider/runtime contract, returns to world creation, and saves the selected profile into serverconfig/orespawn-worldgen.json when the world is created.
Technical diagnosis
GeologyEditorSession validates geome keys in both addGeome and final validate() with the unnamespaced-only expression:
[a-z0-9_.-]+See the current candidate around GeologyEditorSession.java:633 and :693. A key such as cakeworld:cocoa_basin is valid provider/runtime data but necessarily fails this editor-only expression because of :.
This is not a provider runtime failure. The same exact 4.0.12 candidate successfully bakes CakeWorld revision 58 with 14 geomes in all three dimensions, and the headless fresh/reload integrated generation tests consume those namespaced geomes.
Suggested correction and regression coverage
- Validate geome keys using the same namespaced-ID contract used by the provider parser, or explicitly accept a
ResourceLocation-compatiblenamespace:pathvalue while retaining any intended support for legacy unnamespaced IDs. - Add a
GeologyEditorSessionTestthat loads a profile containingcakeworld:cocoa_basin, assertsvalidate()succeeds, and confirms save/round-trip preserves the key and every reference to it. - Cover both final validation and adding a new namespaced geome so the two code paths cannot diverge.
CakeWorld OS-020 remains blocked until editor apply, saved world snapshot, and fixed-seed generation all pass against the same unmodified OreSpawn artifact.
Activity
SkyBlade1978 commentedon Sep 9, 2026
Closing as completed. Fixed in the 4.0.13 portion of
4.0.16.118021via #270. Both editor creation and final-validation paths accept canonical namespaced geome IDs while preserving legacy unnamespaced IDs and rejecting malformed or duplicate values.Namespaced/legacy editor and profile round-trip coverage is now present across every active Forge and NeoForge campaign branch, with the final 1.10.2 merge completed in #300.