Minecraft mod for Forge, Fabric, and NeoForge that makes ores drop from stone and stone-like blocks.
| Loader | Supported Minecraft versions |
|---|---|
| Forge | 1.20.1 |
| Fabric | 1.20.1, 1.21.1, 1.21.11, 26.1.2, 26.2 |
| NeoForge | 1.21.1, 1.21.11, 26.1.2, 26.2 |
Ore Yield replaces vanilla ore worldgen. Instead of finding ore blocks in walls, you mine normal stone-like blocks and receive ore drops based on probability.
How it works:
- Break a stone block (stone, deepslate, tuff, etc.)
- Each configured ore rolls independently against its chance
- Matching ores are added to the loot table (with Fortune applied)
- XP is awarded for each ore that hits
config/ore_yield.toml
The config screen is available from the Forge and NeoForge title screens ("Ore Yield Config" button). On Fabric, install Mod Menu to open the config screen from the mod list.
false— vanilla ores still generate naturally AND stone blocks yield extra dropstrue— vanilla ore generation is removed, only stone-drop system remains
- Adds
end_*variants of the built-in ores (coal, iron, copper, gold, redstone, lapis, diamond, emerald, nether quartz, nether gold) that drop from end stone in the End false— end stone yields nothing from the vanilla ore set
- Guarantees each ore eventually drops: after N eligible blocks without a hit, the next eligible block must drop that ore
- Guarantee window:
ceil(bad_luck_multiplier / chance)eligible blocks- 5% chance + multiplier 2.0 → guaranteed drop after at most 40 blocks
- 2% chance + multiplier 2.0 → guaranteed drop after at most 100 blocks
- Counters are tracked per player and reset on a successful drop or config reload
- Only eligible breaks count (correct dimension, Y range, pickaxe level, not creative, no silk touch)
false— disables pity, plain independent rolls (default behaviour of previous versions)
- Multiplier for the bad luck eliminator guarantee window (see above); higher = rarer forced drops, clamped to at least 1.0
- Auto-detects all modded ore blocks and stone blocks at startup
- Detected ores become configurable entries (disabled by default)
- Requires restart
- Enables a curated set of ores from specific mods:
- iceandfire, simpleores, better_tools, tconstruct, netherrocks
- aether, aether_redux, deep_aether (Aether dimension ores + End variants)
- Only listed ores are enabled (no auto-detection noise)
- Requires restart
- When true, compat2 ores configured for overworld/nether also drop from end stone in the End
- Ancient debris is always excluded from End drops
- On world load, detects available dimensions and adds modded ones (e.g. Twilight Forest, Blue Skies, Ad Astra planets, Moon, Venus) to the
enabled_dimensionslist - In those dimensions, the overworld ore set drops from stone-like blocks just like in the overworld (same Y ranges, chances, and bad luck eliminator)
- Skips vanilla dimensions and curated mod_compat_2 dimensions (Aether and friends) so their own ores are not affected
false— no dimension detection; ores only drop in the dimensions listed per entry- New dimensions are detected on the next world load after installing a dimension mod
- List of extra dimensions where the overworld ore set also drops, e.g.
enabled_dimensions = ["twilight_forest:twilight_forest", "ad_astra:moon"] - Populated automatically by
auto_detect_dimensions; you can also edit it manually to prune or pin entries - Ignored while
auto_detect_dimensionsis disabled
Each ore has these fields:
| Field | Description |
|---|---|
enabled |
Toggle this ore on/off |
host_blocks |
Which blocks can yield this ore (supports tags like #forge:overworld_ore_bearing_stones) |
result_item |
Item dropped |
min_count / max_count |
Drop count range |
chance |
Probability per block break (0.0 - 1.0) |
min_y / max_y |
Y-level range where this ore can drop |
peak_y |
Y-level with highest chance (-1 to disable peak weighting) |
fortune_type |
ORE (multiplicative), REDSTONE (additive), or NONE |
xp_min / xp_max |
XP range awarded per hit |
dimension |
Restrict to minecraft:overworld, minecraft:the_nether, minecraft:the_end, or empty for any |
min_pickaxe_level |
Minimum pickaxe tier: 0=wood, 1=stone, 2=iron, 3=diamond |
Add entries to the additional_ores list in the TOML config. Format is pipe-delimited:
id|enabled|result_item|min_count|max_count|chance|min_y|max_y|peak_y|fortune_type|xp_min|xp_max|dimension|host1,host2|min_pickaxe_level
Example — Add a modded copper ore:
mymod:copper|true|mymod:raw_copper|2|5|0.02|-16|112|43|ORE|0|0|minecraft:overworld|#forge:overworld_ore_bearing_stones|0
Field reference:
id— unique name for this entryenabled—trueorfalseresult_item— item registry namemin_count/max_count— drop amount rangechance—0.02= 2% chance per block breakmin_y/max_y— Y-level rangepeak_y— Y with peak chance,-1for no peakfortune_type—ORE,REDSTONE, orNONExp_min/xp_max— XP rangedimension— dimension ID or empty for anyhost_blocks— comma-separated block IDs or tag references (#forge:...)min_pickaxe_level—0to3
Press Alt+F12 in-game to scan all registered ore blocks and write debug info to ore_yield_debug.txt in your game directory. Shows which ores are configured vs missing, full config dump, and detected modded ores.
The mod provides these tags for use in host_blocks:
#forge:ore_bearing_stones— all stone types (overworld + nether + end)#forge:overworld_ore_bearing_stones— stone, deepslate, tuff, andesite, granite, diorite, calcite#forge:nether_ore_bearing_stones— netherrack, blackstone, basalt, smooth_basalt
The following mods are currently supported by mod_compat_2:
-
- Silver
-
- Ruby
- Sapphire
- Topaz
- End Titanium
-
- Adamantium
- Tin
- Mythril
- Onyx
-
- Argonite
- Ashstone
- Dragonstone
- Fyrite
- Illumenite
- Malachite
-
- Cobalt
-
The Aether / Aether Redux / Deep Aether
- Gravitite
- Zanite
- Ambrosium
- Sentrite
- Skyjade
- Veridium
- docs/BUILDING.md — how to generate and build every supported MC version (including the standalone 26.x workflow)
- docs/ADDING_A_VERSION.md — how to add a new Minecraft version to the matrix
- docs/VERSION_MATRIX.md — auto-generated version/flag matrix