The Create processing recipes (crushing/milling/mixing) were broken in two
ways, plus leaked parse errors when Create was absent.
1. Format migration to Create 6.x (matched against native recipes in the
Create 6.0.9 jar):
- results entries: item -> id
- processingTime -> processing_time (snake_case)
- ingredients keep item (still correct in 6.x)
2. Phantom item references: 9 recipes targeted blocks that no longer exist
(renamed/removed ores). Reaffected 8 to their real block (e.g.
highlapisore -> lapisore, goldore -> puregoldenore, highcopperore ->
copperhighore) and deleted 9 with no real equivalent or that would
duplicate an existing recipe (deepslate variants of coal/copper/emerald
that don't exist as blocks).
Result: all 16 registered ore blocks now have at least one valid Create
recipe (15 direct + sharddiamond via the forge:ores/shard_diamond tag).
3. Standalone safety: wrapped all 20 Create recipes + the Mekanism enriching
recipe in neoforge:conditions (mod_loaded) so they only parse when the
target mod is present. Without this, the RecipeManager logged ERRORs
(Unknown registry key create:crushing) on every boot when the mod ran
alone. Conditions use the sibling format, verified empirically.
Validated both configurations via runGameTestServer:
- Standalone (Create + Mekanism absent): 0 recipe parse errors, latitude OK
- With all mods (BOP + Tectonic + Create + JEI): 0 parse errors, recipes
load, latitude OK (spawn=birch_forest | north=100% | south=100% |
swamp=1.26% | deepDark=1.30% | caveBiomes=6.5%)
The mod has no hard dependency on Create (no compile dep, no Java imports,
optional in mods.toml) and now boots cleanly with zero recipe errors whether
or not Create/Mekanism are installed.