Description

Ore Generator Framework
Data-driven ore generation framework with per-zone and per-biome overrides.
How it works
- The framework loads every
Server/OreGeneration/*.jsonit finds in mods/packs. - Each config maps replaceable rock blocks to ore variants.
- Zone/biome keys must match engine names (use
/player zoneto check).
Add ores via a pack (JSON only)
- Create a pack with
Server/OreGeneration/your_ore.json. - Drop the pack into
mods/and restart. - The framework auto-loads all configs from packs at startup.
Add ores via a plugin (Java + JSON)
- Add the framework as a dependency in your plugin manifest:
"LYIVX:OreGenerator": "*" - Bundle your configs in
src/main/resources/Server/OreGeneration/. - Optional: use
config/OreGenerator/*.jsonto override configs at runtime.
Runtime overrides (framework)
- Overrides are created on first run:
config/OreGenerator/*.json - Extra configs can be added to:
config/OreGenerator/ores/
Example config (new format: surface + cave)
{
"defaults": {
"surface": {
"height": { "min": 60, "max": 120 },
"veinsPerChunk": 2,
"veinSize": { "min": 5, "max": 10 },
"heightExponent": 1.0,
"spawnChance": 0.8
},
"cave": {
"height": { "min": 10, "max": 60 },
"repeat": { "min": 15, "max": 20 },
"veinSize": { "min": 5, "max": 10 },
"heightExponent": 1.0,
"spawnChance": 1.0
}
},
"oreByBlock": {
"Rock_Stone": "Ore_Coal_Stone",
"Rock_Sandstone": "Ore_Coal_Sandstone",
"Rock_Slate": "Ore_Coal_Slate",
"Rock_Shale": "Ore_Coal_Shale",
"Rock_Basalt": "Ore_Coal_Basalt",
"Rock_Volcanic": "Ore_Coal_Volcanic"
}
}
Example config (legacy format)
{
"defaults": {
"minY": 10,
"maxY": 60,
"veinsPerChunk": 2,
"minVeinSize": 3,
"maxVeinSize": 7,
"spawnChance": 0.6,
"replaceableBlocks": [
"Rock_Stone",
"Rock_Stone_Cobble",
"Rock_Stone_Mossy",
"Rock_Sandstone",
"Rock_Sandstone_Cobble",
"Rock_Slate",
"Rock_Slate_Cobble",
"Rock_Shale",
"Rock_Basalt",
"Rock_Basalt_Cobble",
"Rock_Volcanic"
]
},
"oreByBlock": {
"Rock_Stone": "Ore_Coal_Stone",
"Rock_Sandstone": "Ore_Coal_Sandstone",
"Rock_Slate": "Ore_Coal_Slate",
"Rock_Shale": "Ore_Coal_Shale",
"Rock_Basalt": "Ore_Coal_Basalt",
"Rock_Volcanic": "Ore_Coal_Volcanic"
},
"zones": {
"Zone1": {
"Plains1_Oak": {},
"Plains1_Gorges": {},
"Plains1_Deeproot": {
"spawnChance": 0.4
}
}
}
}
Height distribution
heightcontrols the min/max Y range.heightExponentcontrols vertical bias:1.0is uniform,> 1.0skews lower,< 1.0skews higher.
Surface vs cave blocks
surfaceis the biome/overground pass (lower density, biome-tuned).caveis the cave pass (repeat-style attempts, denser underground).
