Biome rules & neighbors

Which biome can sit next to which biome - answered by the game's own Bedrock generation code, not copied from a wiki. The rules below are read straight out of the engine's climate tables, and every neighbor list was counted from the same biome fill this site paints on its maps. Pick the experimental 26.60 in the header to add the Ice Caves card.

27,000,000 surface cells sampled3,796 leaf boxes · 53 surface biomes12,000,000 Monte-Carlo trials3 dimensions

How the game picks a biome

Three dimensions, three completely different mechanisms - that is why a Nether border map looks nothing like an overworld one.

Overworld · nearest climate box

Every column of the world starts as six climate readings - temperature, humidity, continentalness, erosion, depth and weirdness - each quantized to an integer between -10000 and 10000. The biome is whichever leaf box in the generation tree lies nearest to that point (plain squared distance, point-to-box). The map on this site queries the same tree at depth 0, the surface band: 3,796 leaf boxes spanning 53 surface biomes. Two biomes can neighbor each other exactly when a small climate step can cross from one box's winning region into the other's.

measured channel ranges (12-seed sample):
T-1.18 … 1.31
H-0.91 … 0.97
C-1.65 … 1.46
E-1.17 … 1.20
W-1.46 … 1.52
biggest one-step swing: W ±0.27

Nether · a 5-prototype Voronoi

The Nether ignores depth and continents entirely: two perlin channels - temperature and humidity - place every quart on a plane, and the biome is the nearest of five prototypes, two of which carry a constant distance penalty that shrinks their territory. The engine evaluates this argmin for every sample; the plane itself was re-analyzed at 0.001 steps across the channels' whole reachable span.

Nether Wastes(0.00, 0.00)0
Crimson Forest(0.40, 0.00)0
Soul Sand Valley(0.00, -0.50)0
Basalt Deltas(-0.50, 0.00)+1750²
Warped Forest(0.00, 0.50)+3750²

Soul Sand Valley and Warped Forest never share a border: basalt deltas' penalty keeps a strip between the two halves of the plane - 0 crossings in the plane analysis and in 13,500,000 sampled cells.

The End · island geometry

No climate at all. Inside the main island's circle - radius 64 sixteen-block cells, 1,024 blocks, on every seed - the biome is The End. Outside it, each 8-block cell reads an island height f from the island-noise lattice, and the biome is a pure threshold on it:

f > 40End Highlands
0 ≤ f ≤ 40End Midlands
-20 ≤ f < 0End Barrens
f < -20Small End Islands

The main island's rim, as observed: Small End Islands 66%, End Midlands 15%, End Highlands 11%, End Barrens 8.2% of The End's border cells.

The climate playground

Drag the five channels and watch the nearest-box search run live on the engine's own leaf table - the same pure depth-0 query the POSSIBLE tier above was computed with. The winner is whichever of the 3,799 boxes below lies closest to your point.

Your climate point (depth pinned to 0)

jump to a verified point

Slider bounds are the channels' measured spans over the 12-seed sample. The Sulfur leak preset sits so far from every surface box that a cave leaf wins the depth-0 query - the same leak the real map paints at extreme weirdness.

River

id 7 · inside the winning box

the winning leaf box (mark = your point)
temp
-0.45 … 1.00
humi
-1.00 … 1.00
cont
-0.19 … 1.00
eros
-0.38 … 0.55
dept
0.00 … 0.00
weir
-0.05 … 0.05
one small step away
Forest0.0195
Beach0.0245
Old Growth Birch Forest0.0693
Ocean0.0949

Ties resolve in the tree's own visit order; the channels real seeds produce are correlated, so corners of this cube are unreachable in practice. The search is the engine's pure cold-cache query - no caches, no warm starts - proven equal to it on thousands of points, ties included.

The neighbor explorer

Pick a biome to see who it can border. Solid chips are pairs real seeds painted, with the neighbor's share of that biome's border cells; dashed chips are crossings the code admits that the seed sample never showed.

Plains
Woodlands
Mountains & Hills
Swamps
Sandy & Arid
Water
Cave biomes (the underground band, y −64…60 · Ice Caves at 26.60)

Plains

id 1 · 247 surface leaves · 10.1% of sampled cells

the code's own climate box (D=0 band)
temp
-0.45 … 0.55
humi
-1.00 … 0.10
cont
-0.19 … 1.00
eros
-1.00 … 1.00
weir
-1.00 … 1.00
neighbors (39 observed · 2 code-only)

The distance table

Some biome pairs never share a border - their climates sit too far apart for the noise to cross in one step. The engine's own fill was re-run at full quart resolution (one sample per 4×4 blocks) and the closest approach of every pair was measured. A Dark Forest, for instance, never came closer than 80 blocks to a Cherry Grove.

113,246,208 cells at quart resolution12 real seeds, ±6,144 blockstouching = 4-block cells, corners included1,378 pairs measured

Check any pair

Dark Forestid 29+Cherry Groveid 185
They never touch.
80 blocks apart at the closest

Closest approach ever measured: 21 quart cells (Chebyshev, corners included) - at least 80 blocks of other biomes in between. Not one of the 113M cells, and not once in the 12M-trial Monte-Carlo over the code's own parameter space.

why: their closest leaf boxes
H · humidity0.40

Closest leaf boxes: 0.40 apart, dominated by humidity 0.40. For scale, the largest single 4-block step the noise ever produced moves temperature by 0.02.

The notable never-touching pairs

Closest approach measured at quart resolution, from the closest near-miss to the pair that practically never meets. Click a row to load it into the checker.

pairclosestseparated by
Forest+Dark Forest4 blocksoverlapping boxes
Dark Forest+Cherry Grove80 blockshumidity 0.40
Pale Garden+Cherry Grove96 blockshumidity 0.40
Mushroom Fields+Desert208 blockscontinentalness 0.86
Dark Forest+Desert280 blockstemperature 0.35
Cherry Grove+Desert364 blockstemperature 0.35
Mangrove Swamp+Snowy Plains592 blockstemperature 0.65
Ice Spikes+Desert888 blockstemperature 1.00
Snowy Plains+Desert896 blockstemperature 1.00
Snowy Taiga+Desert924 blockstemperature 1.00
Badlands+Snowy Taiga992 blockstemperature 1.00
Mushroom Fields+Sulfur Caves5,080 blockscontinentalness 0.86

Every number is engine output: the distances are counted from the engine's own biome fill on 12 real seeds, the climate gaps from its own leaf tables. The widest gaps involve the rarest biomes (Sulfur Caves wins about 5 cells per million): a measured distance is the closest approach ever sampled, not a hard limit.

How honest is this page

  • observed tier · the engine's own biome fill (the same code path the map paints with) was sampled over 12 real seeds, ±6,000 blocks, one sample every 8 blocks - 27,000,000 cells. Every pair of adjacent samples with different biomes was counted; the chip percentages are each neighbor's share of that biome's border cells.
  • code-only tier · a 12,000,000-trial Monte-Carlo walked the climate cube inside the channel ranges the real noises measured, with step sizes from the noise's own quart-to-quart deltas, sending both endpoints through the engine's pure nearest-box search. A dashed chip is a crossing that code admits but the seed sample never painted - rare, not impossible. (Two observed pair directions never turned up in the Monte-Carlo either; observed always wins.)
  • the 53rd biome · the overworld's depth-0 leaf band covers 53 surface biomes; Sulfur Caves (187) is the 53rd neighbor-list entry because its cave-band leaf occasionally wins at depth 0 (see its card). Dripstone, Lush Caves and the Deep Dark never won a single depth-0 cell anywhere measured - their boxes need humidity above 0.7, continentalness above 0.8 or depth 1.1, and no surface climate gets that close. They stay cave answers: pick them in the finder with a sampling Y.
  • the distance table · the distance table's lattice is finer than the explorer's sample: one cell per 4×4 blocks (the explorer samples every 8) with touching counted corner-to-corner, so the rarest contacts appear only there and the closest approaches are measured in honest 4-block units. The scan asserts its own consistency (every counted contact must equal a measured distance of exactly one cell).
  • scope · these are the surface rules the map, the finder and the seed comparison all query (depth 0, height type 5, version 265000). Structure placement gates read the same climate differently and are out of scope here. The End's table comes from its geometric rule observed over 3 seeds at 8-block steps; the Nether's from 6 seeds plus the prototype plane.