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

FieldDefaultDescription
name(required)The block name to place — must already be registered in block-config.yaml.
min-altitude0Lowest world-Y this ore can spawn at.
max-altitude50Highest world-Y this ore can spawn at.
noise-scale1.0Noise 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.
abundance0.1The 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