Repository navigation
[1.18.2] Dimension snow/ice material overrides do not convert loaded weather blocks #267
Description
Environment
- Minecraft: 1.18.2
- Forge: CakeWorld's configured 1.18.2 test runtime
- OreSpawn candidate:
4.0.12.118021 - OreSpawn commit:
7c82ecc844ae9d241a108f4417c6c3b5b0bc29a2 - OreSpawn JAR SHA-256:
0478D611A96020DAAE794B72E64EFD677B49A5B63BCB6179330D63317B16D6A6 - CakeWorld branch/commit:
master-1.18.2/0a3fb0dd6788d2fcad78f82d20154a772ff93d05 - CakeWorld provider revision: 57
Defect
Dimension snow_block and ice_block overrides are accepted and baked, but vanilla Snow and Ice placed in an exposed loaded chunk remain unchanged after OreSpawn's public Forge ChunkEvent.Load route runs.
The server log confirms that the CakeWorld provider is active and the dynamic Overworld bake contains 1 material overrides, so this is not a provider-discovery or configuration-validation failure.
Reproduction
CakeWorld contains a focused black-box GameTest:
It:
- Starts a server with CakeWorld's normal
cakeworld:edible_worldprovider. - Places exposed vanilla Stone supports with vanilla Snow and Ice above them in a loaded Overworld chunk.
- Posts the public Forge
ChunkEvent.Loadused by OreSpawn's weather-material converter. - Checks for CakeWorld Icing Layer and Frozen Lemonade respectively.
Run from the CakeWorld checkout:
.\gradlew.bat runGameTestServer --no-daemon `
"-PcakeworldLocalOreSpawnJar=D:\MinecraftMineralogy\OS118\OreSpawn\build\libs\OreSpawn-4.0.12.118021.jar" `
-PcakeworldFreshWorldgenRuntime=true `
-PcakeworldFreshWorldgenRunDirectory=run-os412-weather-materials-r1 `
"-PcakeworldGameTestNamespaces=cakeworld_weather_materials"Actual result
The required GameTest fails:
configuredsnowandicereplacevanillaweatherproducts failed!
OreSpawn weather conversion failed: snow=false, ice=false,
snowState=Block{minecraft:snow}[layers=1], iceState=Block{minecraft:ice}
Both blocks remain vanilla.
The same log records:
CakeWorld OreSpawn provider revision 57 is active
Baked Overworld ... 3 palettes, 18 surfaces, and 1 material overrides
Expected result
With CakeWorld's configured dimension material overrides:
minecraft:snowshould convert tocakeworld:icing_layerminecraft:iceshould convert tocakeworld:frozen_lemonade
Likely investigation area
WorldMaterialWeather.onChunkLoad / convertChunk receives the event, obtains the baked dimension manager, and scans the heightmap column. The configuration is present, so the remaining seam appears to be event/heightmap scanning or replacement eligibility rather than provider parsing.
Suggested acceptance coverage
- The linked focused black-box GameTest passes.
- Naturally generated weather products convert in a fresh world and still behave correctly after save/reload.
- Dimensions without a configured override retain vanilla Snow/Ice.
- Conversion remains limited to weather products and does not broadly rewrite player or structure blocks.
Activity
SkyBlade1978 commentedon Sep 9, 2026
Closing as completed. Fixed in the 4.0.14 portion of
4.0.16.118021via #270: OreSpawn now checks the first free cell (top + 1) independently for exposed one-layer Snow while retaining the existing surface and below-surface Snow/Ice scan.Fresh/reload coverage proves exposed Snow and surface Ice convert while buried/authored materials and unsafe controls remain unchanged. The repair is now merged across every applicable Forge and NeoForge campaign branch.