Ore Configuration
Add world-generation placement rules (vein size, abundance, altitude, biomes) to an existing block.
Ore configuration doesn’t register a new block — it takes a block name that’s already registered (via block-config.yaml) and gives it world-generation placement rules: which biomes it can appear in, what altitude range, and how dense its veins are. This is how ore veins, gemstones, and any other biome-restricted, altitude-restricted block get placed during world generation.
File Location
Register the file in your mod’s manifest (mods/<YourMod>/<YourMod>.yaml):
ore-config: ore-config.yaml
Then create the file it points to, relative to your mod’s folder:
mods/<YourMod>/ore-config.yaml
The file is a single list of ore entries:
ores:
- name: my_ore_block
biomes:
- YourMod:my_biome
name must match an already-registered block name, prefixed with your mod name unless it already contains a colon — same convention as every other catalog file.
Minimal Example
ores:
- name: my_ore_block
min-altitude: -50
max-altitude: 0
abundance: 0.15
biomes:
- YourMod:my_biome
Fields
| Field | Default | Description |
|---|---|---|
name | (required) | The block name to place — must already be registered in block-config.yaml. |
min-altitude | 0 | Lowest world-Y this ore can spawn at. |
max-altitude | 50 | Highest world-Y this ore can spawn at. |
noise-scale | 1.0 | Noise sampling scale — higher values produce smaller, more frequent veins; lower values produce larger, sparser ones. Give a single number to scale both axes equally (the usual case), or a { x, y } map to scale each axis separately, which stretches veins along one axis. |
abundance | 0.1 | The fraction of eligible positions (inside the altitude/biome restrictions) that become this ore, from 0.0 (never) to 1.0 (every eligible block). This is a true, calibrated fraction: 0.1 really does fill ~10% of eligible positions, independent of the noise-scale values. |
biomes | (none) | Which biome names this ore can spawn in. An ore with no biomes never spawns. |
Complete Example
Based on the real shipped ore config:
ores:
- name: coal_ore
min-altitude: -50
max-altitude: 0
noise-scale: 0.1
abundance: 0.1
biomes:
- plains
- desert
- forest
- name: iron_ore
min-altitude: -50
max-altitude: 0
noise-scale: 0.05
abundance: 0.05
biomes:
- plains
- desert
- forest
Stretched Veins
Pass noise-scale as a { x, y } map to scale each axis independently. A low x and higher y
sample the noise slowly across and quickly down, producing wide, flat, horizontally-banded veins:
ores:
- name: marble
min-altitude: -80
max-altitude: -20
noise-scale: { x: 0.02, y: 0.08 }
abundance: 0.08
biomes:
- plains