Skip to content

[1.18.2] Creation editor rejects namespaced geome IDs in valid templates #269

Description

@SkyBlade1978

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

  1. Launch a Forge 1.18.2 client with OreSpawn 4.0.12.118021 and CakeWorld installed.
  2. Choose Singleplayer and begin creating a new world.
  3. Open the OreSpawn... editor.
  4. Observe that Template: Cake World is already auto-selected.
  5. 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-compatible namespace:path value while retaining any intended support for legacy unnamespaced IDs.
  • Add a GeologyEditorSessionTest that loads a profile containing cakeworld:cocoa_basin, asserts validate() 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions