User:Madminecrafter12/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, 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. 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 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 38 main biomes in the Overworld (with two being unused), one in The Nether, one in The End and 22 technical biomes, bringing the total number to 62 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.

In addition to their names as shown in the debug screen, each type of biome also has its own biome id. These biome ids are used when creating a customized superflat world. Main biomes have a numeric ID from 0 to 127, while biome variations normally have a numeric ID of 128 +. Mountain Edge (called Extreme Hills Edge until 1.13) no longer naturally generates. Up to 1.13 Frozen Ocean biomes did not generate anymore. The newly added 1.13 biome Deep Warm Ocean does not generate in 1.13.

Biomes are separated into 5 categories:


 * Snowy: In these biomes, it snows at any height. The foliage and grass is a dark aqua-green, and the water is mostly purple.
 * Cold: 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: 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: 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: 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.
 * Neutral and other biomes
 * Unused biomes: These biomes don't generate in default worlds.

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.

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 Cold 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.

Swampland color
Swampland 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 very light green tinge ( 0xE0FFAE ).

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 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 the Nether (Hell), the End and 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.