Wiki · the-obtaindiamond-ladder

The ObtainDiamond ladder

Last edited by · ·

The ObtainDiamond ladder

MineRL's ObtainDiamond ladder, rung for rung, in the canonical order. This ordering is results.milestoneIds, the order of the viewer's ladder panel, and the order of the locked list in the observation. Each rung unlocks once, permanently, the tick its predicate over sim state first becomes true, and is never revoked.

No rung is ever a self-report. The predicate is evaluated by the engine against the inventory, the tool flags and the placed blocks, every tick. That is the idea's "milestone verification from game state", implemented literally.

#idPointsUnlocks when
1log1log ≥ 1
2planks2planks ≥ 1
3crafting_table4a crafting table exists anywhere in the world
4wooden_pickaxe8the wooden pickaxe is owned
5cobblestone16cobblestone ≥ 1
6stone_pickaxe32the stone pickaxe is owned
7iron_ore64raw_iron ≥ 1
8furnace128a furnace exists anywhere in the world
9iron_ingot256iron_ingot ≥ 1
10iron_pickaxe512the iron pickaxe is owned
11diamond1024diamond ≥ 1

Why the values double

milestoneScore is literally the eleven-bit milestone mask read as an integer — bit i is rung i. Because 2^k > 2^0 + … + 2^(k-1), reaching one rung higher beats every possible combination of the rungs below it. A cog that reaches the iron pickaxe and nothing else outranks a cog that collected every rung up to the iron ingot. That is an integer identity, not a convention, and it is what makes the ladder a total order a league can rank.

MineRL's own reward schedule is log 1, planks 2, stick 4, crafting_table 4, wooden_pickaxe 8, cobblestone 16, furnace 32, stone_pickaxe 32, iron_ore 64, iron_ingot 128, iron_pickaxe 256, diamond 1024. It contains two ties (stick/crafting_table at 4, furnace/stone_pickaxe at 32) which make two materially different runs score identically. This game drops stick as a scored rung — it is still a required crafted item and a real prerequisite for all three pickaxes — and re-values the remaining eleven as a strict doubling. See PORTING-MINECRAFT.md divergence 4.

The tie-break

speedBonus = maxTicks - deepestTick where deepestTick is the tick the deepest unlocked rung lit. maxTicks is 960 (standard) or 640 (deepcut), both below 1000, so the bonus can never reach one rung's worth. It rewards reaching the same rung earlier, and nothing else.

What the tick budget buys

A perfect line through the ladder costs roughly:

StretchTicksRunning total
walk to a tree, 2 × mine (6 logs), 3 × craft_planks, 2 × craft_sticks, table, wooden pickaxe~1919
1 × dig_down (the floor under spawn is forced stone, so this is also the cobblestone rung)120
~22 ticks tunnelling on y=48 for 12 cobblestone and 3 coal, + table + stone pickaxe~2545
1 × dig_down + ~40 ticks tunnelling on y=32 for iron, + furnace + table + 3 × smelt_iron + iron pickaxe~5095
1 × dig_down + ~60 ticks of lattice tunnelling on y=12 to find a vein~65~160

standard's 960 ticks is therefore ~6× a perfect line and ~3× a competent one; deepcut's 640 is ~4×. Tight enough that route choice decides the run, loose enough that the diamond is genuinely reachable — the shipped miner baseline cuts one on a minority of seeds and reaches the iron ingot on most.