Ore Distribution: the Game's Own Numbers
Verified: Java 26.3 · 2026-10-07 · Java model; Bedrock not covered
Reviewed by C. B. Zakarian on
This guide reads ore generation straight out of the files Java 26.3 ships with, explains the rule that turns those settings into the ore distribution calculator's layer-by-layer figures, and names the cells where the Minecraft Wiki's ore table and the files part ways.
Where the numbers come from
The Java server download from Mojang, offered on minecraft.net's server page, is a zip file, and inside it sits the game's own data pack. Its worldgen folder holds a placed_feature file and a feature file for each kind of ore: how many attempts the game makes per chunk, the height rule each attempt draws from, the vein's size setting, and the chance of skipping a block that would touch air. Every figure in this guide was computed from the 26.3 copy of those files, downloaded and read on 2026-10-07, and checked against the Minecraft Wiki's Ore (feature) table, revision 3818717. All 25 ore features agree on attempts, size, the kind of height rule and the air-exposure chance. Five height cells differ, in three ways, explained further down.
The world's vertical limits
Three files set how tall each dimension is. The Overworld's lowest block is at Y -64 and the dimension is 384 blocks tall, so its highest block is at 319: 24 sections of 16. The Nether and the End start at 0 and are 256 tall, so both top out at 255. That is the arithmetic the wiki's Dimension type page gives: the lowest Y plus the height, minus one.
The Nether's terrain is shorter than the dimension. Its generator fills only 128 blocks, Y 0 to 127, under a bedrock roof that is certain at 127 and possible from 123 up; the floor is the mirror image, certain at 0 and possible up to 4. The 128 blocks above the roof can be built in but are generated empty. The Overworld's bedrock floor works the same way, certain at -64 and possible up to -60, which matches the wiki's Bedrock page, so -59 is the lowest layer that never has any. Stone gives way to deepslate gradually between Y 8 and Y 0, as the Deepslate page says, and from 0 down the rock is all deepslate. Sea level is set at 63, meaning water fills everything below it, so the ocean's top layer is Y 62; the Nether's lava sea is set at 32 and reaches Y 31. The End has no bedrock floor at all.
How an attempt picks its height
Each ore feature makes a fixed number of attempts in every chunk: 7 for small diamond veins, 90 for iron's upper band. A few are rarer. A large diamond vein is tried in 1 chunk out of 9, and gold's deep band makes 0 or 1 attempts, half a chunk's worth on average. Each attempt then picks a random spot in the chunk and a height. The wiki's Placed feature page documents those steps, and the files say which ones each ore uses.
The height comes from one of two rules. An even rule gives every layer in its range the same chance. The other is what the files call a trapezoid and the wiki's height provider page describes as an isosceles trapezoid; no ore gives it the flat top it can have, so every ore trapezoid is a triangle. The game's code builds it by adding two random whole numbers, each from 0 to half the range, to the bottom of the range. That makes the middle layer the most likely and the chance fall in a straight line to either end: on a triangle running h layers either side of its middle, a layer d steps from the middle gets (h + 1 - d) / (h + 1)² of the attempts.
Heights in the files are often written relative to the world instead of as plain numbers: so many layers above the bottom, or below the top. That is where the surprises are. Diamond's three triangles are written as 80 layers below the bottom to 80 above it, which in the Overworld resolves to Y -144 to 16, so they peak at -64, the floor itself, and 40 of every 81 of their attempts land below the world. In the Nether "the top" means the top of the 128-block terrain, Y 127, which is why quartz and gold run from 10 to 117 and the smaller ancient debris feature from 8 to 119.
Every ore, from the files
| Ore | Feature | Attempts per chunk | Height rule | Peak | Size setting | Skips air |
|---|---|---|---|---|---|---|
| Diamond | small veins | 7 | triangle, -144 to 16 | -64 | 4 | 50% |
| Diamond | buried veins | 4 | triangle, -144 to 16 | -64 | 8 | 100% |
| Diamond | large veins | 1/9 | triangle, -144 to 16 | -64 | 12 | 70% |
| Diamond | medium veins | 2 | even, -64 to -4 | — | 8 | 50% |
| Iron | upper band | 90 | triangle, 80 to 384 | 232 | 9 | 0% |
| Iron | middle band | 10 | triangle, -24 to 56 | 16 | 9 | 0% |
| Iron | small veins | 10 | even, -64 to 72 | — | 4 | 0% |
| Gold | main band | 4 | triangle, -64 to 32 | -16 | 9 | 50% |
| Gold | deep band | 0.5 | even, -64 to -48 | — | 9 | 50% |
| Gold | badlands band | 50 | even, 32 to 256 | — | 9 | 0% |
| Redstone | even band | 4 | even, -64 to 15 | — | 8 | 0% |
| Redstone | lower band | 8 | triangle, -96 to -32 | -64 | 8 | 0% |
| Lapis lazuli | main band | 2 | triangle, -32 to 32 | 0 | 7 | 0% |
| Lapis lazuli | buried veins | 4 | even, -64 to 64 | — | 7 | 100% |
| Copper | veins (large in dripstone caves) | 16 | triangle, -16 to 112 | 48 | 10 (20) | 0% |
| Coal | upper band | 30 | even, 136 to 319 | — | 17 | 0% |
| Coal | lower band | 20 | triangle, 0 to 192 | 96 | 17 | 50% |
| Emerald | mountain biomes only | 100 | triangle, -16 to 480 | 232 | 3 | 0% |
| Nether quartz | veins (basalt deltas: 32) | 16 | even, 10 to 117 | — | 14 | 0% |
| Nether gold | veins (basalt deltas: 20) | 10 | even, 10 to 117 | — | 10 | 0% |
| Ancient debris | large clusters | 1 | triangle, 8 to 24 | 16 | 3 | 100% |
| Ancient debris | small clusters | 1 | even, 8 to 119 | — | 2 | 100% |
Stacked features move the densest layer. Coal's lower band peaks at 96, but its even upper band starts at 136 on top of what is left of the triangle, so 136 gets more coal attempts than 96 does: 0.284 a chunk against 0.206. Iron's densest layer is its upper band's peak, 232, wherever there is land that high; underground it is the middle band's 16.
Diamonds, worked through
Put the four diamond features together and the floor wins. Layer -64 gets 0.17 attempts per chunk. Layer -59, the lowest clear of bedrock, gets 0.161, which is 95% of that, and each layer above it loses another 0.0017, about 1% of the floor's figure, all the way up to Y -4. There the medium veins stop, and the figure halves in a single layer: 0.068 attempts at -4, 0.034 at -3. Of the 13.111 attempts the game makes per chunk, 7.624 land inside the world, so 41.8% are aimed below it; 50.7% of the ones that land are at or below Y -39, and 96.6% are below Y 0. A two-high tunnel at -59 and -58 passes through 0.321 attempts per chunk, 4.2% of the in-world total.
Redstone has the same shape for the same reason: its lower band runs from -96 to -32, so it peaks at -64 too, and 32.3% of its 12 attempts per chunk are aimed below the world.
Where the files and the wiki's table differ
The wiki's Ore (feature) table lists the three triangular diamond features from -64 to 16 and redstone's lower band from -64 to -32; the files have them starting at -144 and -96. The table prints the part of each range inside the world, and that hides the peak: read as a triangle from -64 to 16, diamonds would peak at -24 instead of at the floor. It is not a rule the table follows, because it prints iron's upper band to 384 and emerald's to 480, well past the top of the world. The wiki's diamond and redstone pages do say both ores get more common the deeper you go, which agrees with the files. The third difference is one layer: the table ends coal's upper band at 320, where the files and the world end at 319. A smaller one: the copper page gives copper's peak as layers 47 and 48, but the rule has a single peak at 48, with 47 getting 64/65 as many attempts.
The wiki's Ore page also lists the layers where generated worlds were found to hold the most of each ore, with a note that terrain and other features keep ores from where the files aim them. Most sit a few layers below the attempt peak: lapis by 2 (-2 against 0), iron by 2 (14 against its underground peak of 16), gold by 2 (-18 against -16) and copper by 5 (43 against 48), with coal and emerald far lower (45 against 136, 85 against 232). Diamond and redstone go the other way: their surveyed peak, -59, is 5 layers above the attempt peak at -64, and -59 is the lowest layer free of bedrock. Those counts are ore blocks, not attempts, so the two were never going to match.
What attempts do not tell you
An attempt is not an ore block. Attempts only replace stone and its granite, diorite and andesite patches, tuff and deepslate in the Overworld, and netherrack in the Nether, where ancient debris also takes basalt and blackstone, so those landing in air, water, lava or a cave place less or nothing. Some features also skip any ore block that would touch air: half the time for small and medium diamond veins, gold's main and deep bands and coal's lower band, 70% of the time for large diamond veins, and always for buried diamonds, buried lapis and ancient debris. Iron, copper, redstone, emerald and the Nether's quartz and gold never skip.
The large ore veins are a different system and are not counted: copper with granite from Y 0 up to 50, and iron with tuff from -60 up to -8, ranges on which the files and the wiki's Ore vein page agree. Bedrock Edition is not covered either. Its settings are not in these files, and the wiki's table marks several Bedrock rows as different, with no second source here to check them against.
Sources, read 2026-10-07: the vanilla data pack in the Java 26.3 server download from Mojang (the placed_feature, feature, dimension_type, noise_settings and material_rule files and the ore vein density functions) and the height-rule code in the same download; the Minecraft Wiki's Ore (feature) table (revision 3818717), its Ore page's survey row, and its Dimension type, Bedrock, Deepslate, Altitude, Ore vein, Placed feature and height provider pages. The game version was checked the same day against Mojang's launcher manifest and the wiki: Java 26.3 is the current release.