Biome

A biome is a region in a world with distinct geographical features, flora, temperatures, humidity ratings, and sky, water, grass and foliage colors. Biomes separate every generated world into different environments, such as forests, deserts and taigas.

Temperature
Biomes have a temperature value that determines if the water freezes, and if it precipitates as snowfall or rain. The required temperature values for snow and rain are less than 0.15 for snow and above 0.15 for rain. The temperature drops 0.00166666... units ($1/600$) per meter of altitude above y=94, but does not change below that level. The temperature and downfall values of a biome are used when determining the colors of a small selection of blocks: grass, grass blocks, some leaves, vines, sugar cane. Blocks such as mossy cobblestone, mossy stone bricks, moss, dripleaves, glow berries and the stems of flowers are not affected by biome coloration. The water color is affected by biome coloration but it's not based on temperature and instead is set by a color code, and the water color of each biomes varies between versions. $$ most biomes have a default water color with the exception of swamps and oceans while in Bedrock Edition most biomes have unique water colors.



These values can be used to determine the heights that snow generates at in different biomes. For example, windswept hills begin to generate snow at around y=120, due to their highland climate, as their temperature value is 0.2, the temperature affects only the transition from rain to snowfall. All the biomes in vanilla with a temperature above 0.95 (and by extent, all the dry biomes) are hardcoded to never have precipitation at any height or temperature. For example, savannas do not experience rain or snow due to their dryness. If a biome with a temperature above 0.95 is edited to allow precipitation through a data pack or mod, it simply behaves like a normal rainy biome.



Biomes are split into 5 categories based on their temperature: snowy, cold, temperate/lush, dry/warm and neutral.



They are almost always separated during terrain generation to prevent biomes with huge temperature differences being placed side-by-side (such as a snowy taiga next to a desert), and to allow biomes with similar temperatures to be placed next to each other more often (such as forests and plains).

Tint
Biome grass and foliage colors are selected from two 256×256 colormap images: grass.png and foliage.png. Both colormaps, shown to the right, can be found in. The grass.png colormap sets the colors for the grass block top and sides (along with other types of grass, such as grass, ferns, double tall grass, etc.). Meanwhile, the foliage.png colormap sets the colors for tree leaves (with the exception of azalea, spruce and birch).

Biome colormaps use a triangular gradient by default. However, only the colors in the lower-left half of the image are used, even though the upper-right side of foliage.png is colored. Furthermore, as shown in the template image to the left, a select few pixels are considered when the colormap is read by the game, and are determined by the code below.

The adjusted temperature and adjusted downfall values (recognized as AdjTemp and AdjDownfall in the code, respectively) are used when determining the biome color to select from the colormap. Treating the bottom-right corner of the colormap as  and , the adjusted temperature increases to 1.0 along the X-axis, and the adjusted downfall increases to 1.0 along the Y-axis. The values used to retrieve the colors are computed as follows: "clamp" limits the range of the temperature and downfall to 0.0-1.0. The clamped downfall value is then multiplied by the 0.0-1.0 adjusted temperature value, bringing its value to be inside the lower left triangle. Some biomes' ranges are shown in the template above; the multiplication makes all the line segments point toward the lower right corner.

At borders between or among biomes, the colors of the block and its eight neighbors are computed and the average is used for the final block color.

The exact temperature and downfall values for biomes can be found in various projects, e.g. this biome code.

Several other biome colors are set into the game and currently require external tools in order to be changed. This includes blocks such as birch and spruce leaves and water (which have a hard-coded overlay set onto them), and other features such as the sky and fog.

Sky and fog
The sky colors are not directly determined by the temperature and downfall values but instead are determined by a color code. However, the sky color that is set for each biome is mostly based on the temperature values, which means that warmer biomes have brighter skies and colder biomes have slightly purplish skies.

Generation
Minecraft biomes are generated using several conditions for perlin noise. These conditions are depth, peaks and valleys, temperature, humidity, erosion, and continentalness. These conditions dictate the final biome result for each location in a given Minecraft seed:

Peaks and valleys: determines height of the terrain and the placement of biomes that depend on the terrain height such as the mountain peak and slope biomes and rivers, it can be one of Valley, Low, Mid, High, or Peak, it is also used for the generation of biome variants that are usually separated by rivers like bamboo jungles
 * Depth: used for the generation of underground biomes
 * Temperature: this value only affects the placement of biomes, it ranges from 0 to 4. Some of the biomes that generate in each value include:
 * 0: frozen ocean, snowy plains, ice spikes, snowy taiga
 * 1: cold ocean, plains, forest, taiga, old growth taigas
 * 2: ocean, sunflower plains, flower forest, plains, forest, birch forest and dark forest
 * 3: lukewarm ocean, savanna, plains, forest, jungle and its variantes
 * 4: warm ocean, desert and badlands
 * Humidity: just like temperature this value only affects the placement of biomes and it also it ranges from 0 to 4. Some of the biomes that generate in each value include:
 * 0: snowy plains, ice spikes, sunflower plains, flower forest, savanna, desert, badlands
 * 1: snowy plains, plains, savanna, desert, badlands
 * 2: snowy plains, snowy taiga, forest, plains, desert, badlands
 * 3: snowy taiga, taiga, birch forest, sparse jungle, jungle, desert, wooded badlands, lush caves
 * 4: taiga, old growth taigas, dark forest, jungle, bamboo jungle, desert, wooded badlands, lush caves
 * Erosion: this value is used to determine how flat the terrain is, it ranges from 0 to 6 with lower values being more mountainous and higher values being flatter. This value affects the placement of certain biomes, such as mountain biomes which only generate when erosion is lower than 2, badlands generate when erosion is 3 or lower and swamps only generate when erosion is 6.
 * Continentalness: noise used to generate land, beaches, oceans and mushroom fields, it can be one of Mushroom fields, Deep ocean, Ocean, Coast, Near inland, Mid inland, or Far inland.

Biome types
The content of any particular biome is pseudo-randomly generated from the map seed under control of rules specific to its biome type. These rules govern the distinguishing features of the biome, such as the large-scale shape of its surface; the types of structural blocks it's built of (particularly its ground cover blocks such as podzol or sand); the color shading of its grass, foliage, and water; and the kinds of plants and species of trees that grow in it.

$$ there are 63 different biome types: 52 for the Overworld, 5 for the Nether, and 5 for the End, plus one used only for a superflat preset. $$ there are 84 biome types: 48 for the Overworld, 5 for the Nether, 1 for the End, and 30 unused.

The following chart divides biome types into 7 temperature classes. The snowy biomes have their temperature listed in purple, cold in blue , temperate in green , arid in orange , the nether in red and the end in tan. The biomes of either neutral or unknown temperature have no temperature class. Temperatures are given at sea level.

Snowy biomes
In these biomes, it always snows instead of rains and no matter the height; all sources of water exposed to the sky quickly freeze. The foliage and grass have a dull aqua green color.

Cold biomes
In these biomes, it begins to snow above y=120 in windswept hills and stony shore, above y=160 in taiga and old growth spruce taiga, and above y=200 in old growth pine taiga. Otherwise, it rains. Foliage and grass are turquoise green in these biomes.

Temperate biomes
The foliage and grass colors vary a lot in these biomes, with rivers and birch forests having a more dull shade of green, forests have a more vibrant shade of green, plains have a lighter shade of green, jungles and mushroom fields have a lush shade of green and swamps and dark forests have unique dark shades of green.

Warm biomes
In these biomes, it neither rains nor snows at all, but the sky still turns overcast during inclement weather. The foliage and grass is an olive tone, except badlands biomes, which have brown grass and the sky color is much brighter specially in deserts and badlands. Additionally, a snow golem spawned or brought into one of these biomes melts (takes heat damage) unless it has the Fire Resistance effect.

Aquatic biomes
These biomes are used for the generation of bodies of water such as rivers and oceans. Oceans are large, open biomes made entirely of water going up to y=63, with underwater relief on the sea floor, such as small mountains and plains, usually including gravel. Squid and fish spawn frequently in the water. Underwater cave entrances can be found frequently at the bottom of oceans and rivers. These are the only biomes where underwater music plays.

Cave biomes
These biomes generates inside caves. Their placement are 3D, compared to other Overworld biomes, which use 2D. They're mostly found underground but can sometimes leak out of cave entrances at any height.

The Nether
The Nether is considered a different dimension. It is a hellish place; all biomes in this dimension are dry and it is not possible to place water in these biomes, though ice can still be placed. Additionally, packed ice and blue ice never melt in the nether, as with the other non-freezing biomes.

The End
The End is considered a different dimension.

Unused biomes
These biomes don't generate in default worlds. They have been completely removed from the game $$.

These biomes no longer exist in current versions of the game.

Trivia

 * The term biome is analogous to its scientific usage: in real life, a biome is climatically and geographically defined by distinctive communities of plants, animals and soil organisms supported by similar climatic conditions. They are often referred to as ecosystems.
 * Most biomes in the Overworld are based on real world counterparts. Dark forests or swamps parallel real world biomes except for the addition of giant mushrooms, which don't exist in reality. Biomes in the nether and the end don't exist either.
 * It is possible for biomes to be a single block in size.