Biome data reference

Biome data in this project is descriptive. Where biomes actually generate is answered by the generation engine, never by this registry.

How biome sampling works

The engine exposes two calls: a single-position lookup and a rectangular region sample at a given scale. Biome identifiers are resolved back to names by the engine itself (mg_biome_name), so numeric biome IDs are never hard-coded in JavaScript — the engine is the source of truth for numbering.

The worker converts a sampled region to RGBA pixels using the palette below, turns it into an ImageBitmap, and transfers it to the main thread for blitting. When the engine is absent, the worker replies with REGION_UNAVAILABLE and the map renders the grid without biome shading.

Palette

Colours are chosen for contrast on a dark background and to keep neighbouring biome families distinguishable. They are not taken from Minecraft assets.

Biome palette
IdentifierDimensionColour
minecraft:plainsoverworld#8db360
minecraft:sunflower_plainsoverworld#a4c05f
minecraft:forestoverworld#4f7a3a
minecraft:flower_forestoverworld#69954a
minecraft:birch_forestoverworld#5f8a4b
minecraft:old_growth_birch_forestoverworld#6d9855
minecraft:dark_forestoverworld#31502a
minecraft:taigaoverworld#3f6b52
minecraft:snowy_taigaoverworld#4e7a68
minecraft:old_growth_pine_taigaoverworld#3c6249
minecraft:old_growth_spruce_taigaoverworld#446b50
minecraft:snowy_plainsoverworld#dfe7ea
minecraft:ice_spikesoverworld#c3e4f2
minecraft:desertoverworld#dbc98a
minecraft:savannaoverworld#b3ae5a
minecraft:windswept_savannaoverworld#9aa055
minecraft:badlandsoverworld#a5563a
minecraft:eroded_badlandsoverworld#b45f3d
minecraft:wooded_badlandsoverworld#8f6a3c
minecraft:jungleoverworld#3f7a2e
minecraft:bamboo_jungleoverworld#4c8c33
minecraft:sparse_jungleoverworld#57853a
minecraft:swampoverworld#4c6b45
minecraft:mangrove_swampoverworld#3c6b52
minecraft:meadowoverworld#78a35c
minecraft:cherry_groveoverworld#dda0bd
minecraft:groveoverworld#7f9a89
minecraft:snowy_slopesoverworld#c8d8e0
minecraft:jagged_peaksoverworld#e8eef2
minecraft:frozen_peaksoverworld#d5eaf5
minecraft:stony_peaksoverworld#a8a89c
minecraft:windswept_hillsoverworld#7f8f7a
minecraft:windswept_gravelly_hillsoverworld#8b9088
minecraft:windswept_forestoverworld#5c7a52
minecraft:beachoverworld#e6dca8
minecraft:snowy_beachoverworld#e4eef1
minecraft:stony_shoreoverworld#8f948f
minecraft:riveroverworld#3b6ea5
minecraft:frozen_riveroverworld#8fc4de
minecraft:oceanoverworld#2f5c8f
minecraft:deep_oceanoverworld#204272
minecraft:warm_oceanoverworld#2f86a8
minecraft:lukewarm_oceanoverworld#2e7397
minecraft:cold_oceanoverworld#2b4f7d
minecraft:frozen_oceanoverworld#9dc6dd
minecraft:deep_cold_oceanoverworld#1e3d63
minecraft:deep_frozen_oceanoverworld#7fa8c9
minecraft:deep_lukewarm_oceanoverworld#245f80
minecraft:mushroom_fieldsoverworld#a86e9e
minecraft:lush_cavesoverworld#5f9e4a
minecraft:dripstone_cavesoverworld#9c7a5e
minecraft:deep_darkoverworld#173b47
minecraft:nether_wastesnether#7a3030
minecraft:soul_sand_valleynether#5e5340
minecraft:crimson_forestnether#8c2a2a
minecraft:warped_forestnether#1f7a72
minecraft:basalt_deltasnether#4a464f
minecraft:the_endend#c9c2a0
minecraft:end_highlandsend#d6cfae
minecraft:end_midlandsend#cbc49f
minecraft:end_barrensend#bdb693
minecraft:small_end_islandsend#a9a389

Coverage

The registry covers the biomes the map renders and the pages describe. Biomes added by future Minecraft releases, or by datapacks, are not included; unknown identifiers returned by the engine fall back to a neutral colour rather than being guessed.