User:Delvin4519/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 tundras.

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 per meter above sea level (Y=64). For example, extreme hills generate snow at Y=95, due to highland climate, as the base value is 0.2, and savannas do not experience rain or snow due to their heat.

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 cold taiga next to a desert), and to allow biomes with similar temperatures to be placed next to each other more often. (Such as forest and swampland)

Biome types
There are 63 distinct 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 an blue-green.

Cold biomes
In these biomes, it begins to snow over a certain height, but before the 256 block height limit. Otherwise, it rains. The foliage and grass is an aqua-green.

Hot/Dry 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 mesa biomes, which have brown grass.

Unused biomes
These biomes no longer generate naturally, but still exist in Minecraft's code, and can be accessed by using the Custom world type.

Technical details
The temperature and rainfall values of the biome are used to change the colors of grass, foliage, and (for swamplands) water.

A biome's rainfall value is typically a value from 0.0 to 1.0. A biome's temperature starts at a given value at sea level, Y=64, and goes down by 0.00166667 per meter increase. Starting values range from 2.0 (e.g., Desert) to -0.5 (e.g., Cold Taiga). The temperature does not increase below sea level.

The temperature and rainfall values are used to access two texture images in Minecraft, grass.png and foliage.png, in \assets\minecraft\textures\colormap. These textures are triangular, only the lower left is used, despite the upper right of the foliage file having colors. The adjusted temperature and adjusted rainfall values are used to access these two triangles. Treating the lower left corner as temperature = 1.0 and rainfall = 0.0, with adjusted temperature decreasing to 0.0 at the right edge and adjusted rainfall increasing to 1.0 at the top edge, 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 on the right; the multiplication makes all the line segments point towards the lower right corner.

The color for grass block top and sides, along with various forms of grass – specifically tall grass, ferns, double tall grass, and large ferns – is modified by the color retrieved from the grass.png image. The color for various tree foliage - all tree types except spruce and birch, which have fixed colors in the code – is modified by the color retrieved from foliage.png.

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.

Swampland color
Swamplands are special. 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 swampland. 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 swamplands is always multiplied by a greenish tinge, 0xE0FFAE. These colors are locked in the code and not retrievable from any texture.

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

Mesa color
All mesa biomes' grass and foliage have hardwired colors, two tan colors, 0x90814D and 0x9E814D respectively. These are not modifiable by grass.png and foliage.png and unaffected by temperature.

Trivia

 * Interestingly, the hilly version of "Mega Spruce Taiga" is called "Redwood Taiga Hills M," rather than "Mega Spruce Taiga Hills".
 * 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.