Biome



Biomes are regions in a Minecraft world with varying geographical features, flora, heights, temperatures, humidity ratings, and sky and foliage colors. Biomes separate every generated world into different environments, such as forests, jungles, deserts, and taigas.

Temperature
Biomes have a temperature value that determines if it snows, rains, or does not have either. The required values are less than 0.15 for snow, 0.15 - 0.95 for rain, or greater than 1.0 for neither. These values can be used to determine the heights that snow generates in different biomes. The temperature also drops 0.00166667($1/600$) per meter above the default sea level (Y=64), but does not change below sea level.

For example, mountains generate snow at Y=95, due to their highland climate, as their temperature value is 0.2. Savannas do not experience rain or snow due to their heat. The "sea level" setting of a customized world does not affect this.

Biomes are split into 5 categories based on their temperature: snow-covered, cold, medium, dry/warm, and neutral. They were separated 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 swamps)

Generation
While biomes are split into 5 categories, generation of biomes between 1.7 and 1.13 is somewhat different. In general, land biomes generate in 3 different clusters. Cold, Dry, and "Green" biomes. Green biomes are often large, expansive, and continuous, and Cold and Dry biomes are of slightly smaller clusters but can still extend a thousand or more blocks. The Cold biomes cluster consists of only Ice Plains and Cold Taiga. The Dry biomes consists of Plains, Savanna, and Desert. The Green biomes cluster consists of Swamp, Dark Forest, Birch Forest, as well as Plains, Forest, Taiga, and Mountains.

4 Land biomes are of similar rarity, Mushroom Fields generate in Ocean biomes, Badlands in drier biomes, as well as Jungle and Giant Tree Taiga with green biomes. However, Giant Tree Taiga, Jungles, and Badlands biomes tend to be very expansive due to the rarity, and as such their variants are even rarer. These three land biomes may occasionally generate standalone separate form their biome clusters, in addition, an "edge" biome surrounds these three biomes. Jungle Edges separate Jungles from most other land biomes aside form regular Forest or Taiga (if bordering a Swamp the Jungle edge extends up to 3 chunks), and Desert separates Badlands from the rest of the land biomes except with Modified Badlands. Taiga surrounds Giant Tree Taiga in all cases except for Cold Taiga.

The generation of Mushroom Fields uses Mushroom Fields Shore as its "technical" river biome and beach biome, but if a Deep Ocean touches a Mushroom Field biome than the Mushroom Field Shore biome is omitted.

The generation of Hill biomes and Mutated biomes is done together when pasted onto the main biome types. Roofed Forest uses Plains as its "Hill biome". Plains generates small forest biomes within it slightly differently. Regular Ocean biomes may have spots of Deep Ocean biomes within it. Deep Ocean biomes can generate Islands of Plains or Forest but not regular Ocean biomes. In the case of Mutated Hills, if a biome type doesn't have a "Mutated Hill" biome, such as Cold Taiga, than it is omitted entirely and only the regular biome type generates. Mutated biomes since 1.13 conform to an entire biome or can border a river.

In badlands biomes, the badlands plateau biomes is the actual main biome generated with the regular badlands as the "hill biome", however the regular badlands biome will generate on the edges of all badlands biome.

Rivers and beaches simply overwrite the land biome entirely.

The temperature of Ocean biomes is done completely separately from the land biome generation, meaning it's possible for a frozen ocean to generate next to a badlands biome. This was done in order to not change land biome generation completely.

For Java and Legacy Console editions, the possible shapes of biomes can only use the first 24 bits of the 64 bit world seed, and biome shapes within a world seed can repeat beginning around 2^29 blocks from 0,0. The algorithms used to determine biome placements fail around 2^33 blocks and as such biomes can technically repeat every 2^34 blocks.

A technical quirk with the generation of Legacy Console biomes means that the generation of Hills, mutated biomes, rivers, and size of edge biomes (beaches, jungle edges, etc) is the same location/size even with changing the biome size on legacy console. The biome size option on Legacy console only adjusts the position of biome clusters/Oceans/Jungles/Badlands etc, but not the technical quirks with it. The Java option for large biomes/biome sizes does adjust the mutated, hill, and edge biomes but not rivers.

With Bedrock edition using 32 bit seeds and a different world generation algorithm, there are very few similarities between it and the 64 bit world generation. The positions of Mutated biomes, oceans (and islands), rare biomes (Jungles, Badlands, Mushroom Fields, Giant Tree Taiga), as well as specific biomes in cold or dry biome clusters, bear some geographical relationship with the 64 bit generation. The biome shapes deviate significantly. However the specific generation of green biomes (swamps, roofed forests, etc) will be completely different on Bedrock

Biome types
There are 64 biomes in the Overworld, 1 in The Nether, 5 in The End and 3 unused biomes, bringing the total number to 73 different biomes. Biomes can be distinguished by the grass and leaf colors in the biome, along with the types of blocks present (e.g. types of trees or other plants like cacti, sand coverage in deserts). Biomes are pseudo-randomly generated using the map seed.

Biomes are separated into 5 categories. The snow-covered biomes are marked in blue, cold in green , medium/lush in orange and dry/warm in red. The biomes which are not labeled are either neutral or unknown. Temperatures are given at sea level.

Snowy biomes
In these biomes, it snows at any height. The foliage and grass is a dark aqua-green, and the water is mostly purple.

Cold biomes
In these biomes, it begins to snow above y=90 (although this varies by the temperature value of the biome). Otherwise, it rains. The foliage and grass is a dark aqua-green, and the water is mostly purple and indigo.

Medium/Lush biomes
In these biomes, it begins snowing over the 256 blocks height limit. Otherwise, it rains. The foliage and grass is a vibrant light green, except swamps and dark forests, which have a dark green grass. Rivers are also exempt from this, as they have a dull green-blue hue. The water is blue in this biome.

Dry/Warm biomes
In these biomes, it neither rains nor snows at all, but the sky will still turn overcast during inclement weather. The foliage and grass is an olive color, except badlands biomes, which have brown grass. The water is constantly light green. As in jungle biomes, the sky will become slightly lighter.

Aquatic biomes
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. Oceans typically extend under 3,000 blocks in any direction; around 60% of the Overworld's surface is covered in ocean. Small islands with infrequent vegetation can be found in oceans. Passive mobs are unable to spawn on these islands, but hostiles can. Squid spawn frequently in the water, and in Bedrock Edition, ocean biomes are one of the few biomes where squid can be found. Underwater cave entrances can be found frequently at the bottom of the ocean. In the console versions, they surround the edges of the map.

Unused biomes
These biomes don't generate in default worlds.

Biome colors


The temperature and rainfall values of a biome are used when determining the colors of a small selection of blocks: grass, grass blocks, some leaves, vines, and other features such as water and the sky. Blocks such as moss stone, mossy stone bricks and the stems of flowers are not affected by biome coloration.

A biome's rainfall value is typically a value from 0.0 to 1.0, and - as stated above - a biome's temperature starts at a given value at sea level (e.g. 2.0 for Desert or -0.5 for Snowy Taiga) and decreases by 0.00166667 for each meter above sea level.

Biome grass and foliage colors are selected from two 256x256 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 tall grass, ferns, double tall grass, etc.). Meanwhile, the foliage.png colormap sets the colors for tree leaves (with the exception of 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, only 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 rainfall values (recognized as AdjTemp and AdjRainfall in the code, respectively) are used when determining which 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 rainfall increases to 1.0 along the Y-axis. The values used to retrieve the colors are computed as follows:

AdjTemp = clamp( Temperature, 0.0, 1.0 ) AdjRainfall = clamp( Rainfall, 0.0, 1.0 ) * AdjTemp

"clamp" limits the range of the temperature and rainfall to 0.0-1.0. The clamped rainfall value is then multiplied by the 0.0-1.0 adjusted temperature value, which brings 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 towards 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.

Exact temperature and rainfall values for biomes can be found in various projects, e.g. this biome code.

Hard-coded colors
Certain biome colors are hard-coded, which means they are locked into the Minecraft code and are not retrievable from any texture file. Thus, they cannot be modified without the use of external tools, such as MCPatcher/OptiFine, that support the use of custom colormaps.

Swamp color
Swamp temperature, which starts at 0.8, is not affected by altitude. Rather, a Perlin noise function is used to gradually vary the temperature of the swamp. When this temperature goes below -0.1, a lush green color is used ( 0x4C763C ) otherwise it is set to a sickly brown ( 0x6A7039 ). In addition, the color of the water in swamps is always multiplied by a very light green tinge ( 0xE0FFAE ).

Dark forest color
The dark forest biomes' grass color is retrieved normally, then averaged with a dark green color ( 0x28340A ) to produce the final color.

Badlands color


All badlands biomes' grass and foliage have hard-coded colors, which are two tan colors ( 0x90814D and 0x9E814D respectively). These are not modifiable by grass.png and foliage.png, and are unaffected by temperature.

Other colors
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.

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.
 * The only fictional biomes are those found in the Nether and The End, or those with huge mushrooms. All the others are entirely or almost entirely based on real-life counterparts.
 * It is possible for biomes to be a single block in size.
 * If using a biome finder program, one may note how a wall biome changes at 2^33 blocks away and the biomes repeat every 2^34 blocks, regardless of the (pre 1.13 customized) biome size. This is not possible to see in game as even modding the game to generate terrain up to 2^32 blocks away, the game cannot have world generation after 2^32. Structures in a biome finder program fail to load properly past 2^32 blocks away. The shapes/outlines of biomes can repeat after 2^29 blocks.