Biome/Before 1.18

In Java Edition 1.18 and Bedrock Edition 1.18.0, Overworld terrain generation was rewritten to become more varied and independent of biome generation. This made many biome variants that were in the game redundant, as the only difference between their regular counterparts was the way terrain generated in them. As a result, most variant biomes were removed from the generator. $$, these biomes were removed from the game completely, while $$, these biomes still exist, but remain unused.

Generation
Minecraft biomes were generated in layer stacks. These layers generated specific aspects of Minecraft biomes, such as scale, rivers, varieties, and biome categories.

Earlier stages
Biome generation was initialized as a 1 to 4096 scale of ocean, with a few spots of landmasses scattered throughout. This map was then scaled and additional landmasses shuffled around to decrease the amount of ocean, twice, to reach a scale of 1 to 1024. Additional layers that decrease the amount of ocean were repeatedly applied until the ratio of land to ocean was about 50-50. Snowy biome categories were then assigned to a few spots of land, which was then shuffled around a final time to obtain a ratio of 33% ocean and 67% landmass.

At this stage of biome generation, the final climate zones were applied as follows. Areas of dry landmasses were assigned to be a normal biome if it bordered a cold or frozen landmass. Areas of snowy landmasses were assigned to the cold temperature category if it bordered a normal or dry temperature zone. 1 out of every 13 landmasses was then marked as "Special", which would be used to place some of the rarer biomes in later stages of biome generation. This map was then scaled twice, until a scale of 1 to 256. An additional layer was applied to create a more jagged coastline, creating areas of large islands and lakes around the coastline. 1 out of 100 areas of oceans were assigned as mushroom biomes and areas of ocean far from the coast converted into deep ocean.

The final areas of climate areas were as follows: 31% oceanic, which consisted of 22% deep ocean and 9% ocean, 0.07% mushroom, 13% dry, 22% medium, 23% cold, and 6% frozen. Areas of rare biomes made up 4% of the total area.

The biome generation was then split into 3 separate stacks.

Generation of biomes and biome variants
One stack of biome generation generated the actual biomes in-game. The biome categories generated the following biomes as follows. Some biomes were weighed more and as such generated more commonly than other biomes. Snowy biomes had an unused rare biome variant and as such generated as normal snowy biomes.


 * Dry biome clusters: desert (3 times), savanna (2 times), plains
 * Rare dry biome clusters: 2/3 badlands (0.9% of the final map)
 * Medium biome clusters: forest, dark forest, birch forest, mountains, swamp, plains
 * Rare medium biome clusters: jungle (1.5% of the final map)
 * Cold biome clusters: forest, mountains, taiga, plains
 * Rare cold biome clusters: giant tree taiga (1.6% of the final map)
 * Frozen biome clusters: snowy tundra (3 times), snowy taiga

Forest and mountain biomes could generate in both cold biome clusters in addition to normal temperature clusters. Plains biomes could generate in all temperature clusters except in frozen biomes.

Bamboo jungles overwrote certain areas of jungle biomes since Village and Pillage.

Additional areas of sunflower plains were generated separately to the modified biome stage of biome generation, covering 1/57 of normal plains biome.

The map was then scaled and the coastline made more jagged, then scaled again and beaches are generated. The generation of shorelines and beaches were as follows, this also added a few additional biome edge biomes for jungles and badlands, without biome variants:


 * Beaches generated on all coastlines except the regular swamp and regular badlands biomes.
 * Stone shores generated on the coastline of the standard mountains and wooded mountain biomes.
 * Snowy beaches generated on the coastline of all frozen biomes.

This biome map was scaled two more times (scaled 4x) until a scale of 1 to 4. River generation was merged with the regular biomes, then ocean climate zones merged.

Generation of rivers
A layer stack for river noise generation was used as a random number generator to generate areas of hills and mutated biomes, which was scaled twice before applied to the biome stage of biome generation at scale 1 to 64. Since Update Aquatic, modified biomes could conform to an entire biome or border a river. A separate layer stack to generate rivers throughout was scaled 4 times, before it was merged with the rest of the generation at scale 1 to 4.

Rivers generated across all land biomes excluding areas of oceans. Frozen rivers replaced rivers in regular snowy tundras.

Once the ocean temperature stack and river generation stack was merged with the biome generation stack, a final layer was applied to make the biome scale 1:1, which was the final biome generation used in Minecraft.

Java Edition oceanic temperature generation
Ocean biomes generated their climate zones separately from land biome generation, to avoid changing existing Minecraft seeds/biome generation in its entirely. Ocean climate zones were initialized at a scale of 1 to 256, then scaled 6 times, before it was merged with the rest of the biome generation.

$$, ocean climate areas were done so warm oceans could not border frozen oceans. One must go incrementally from warm oceans, to lukewarm oceans, regular oceans, and cold oceans, before reaching frozen oceans.

If a frozen ocean or frozen deep ocean bordered a land biome, a regular cold ocean generated. If a warm ocean generated next to a land biome, a regular lukewarm ocean generated. Warm oceans overwrote deep oceans as warm deep oceans did not generate.

Ocean climate zones were based off the 48 bit seed, unlike the rest of the land biome generation, as such, shadow seeds $$ contained entirely different ocean climate areas, even though common land biomes generated identically in Java Edition shadow seeds.

Other information
$$, the possible shapes of biomes could use only the first 24 bits of the 64-bit world seed, and biome shapes within a world seed could repeat beginning around blocks from 0,0. Biome generation overflowed at blocks from 0,0. However, as biomes were generated in a zoomed out stage, before it was scaled upward, it technically means that biome generation could extend further out during earlier stages of biome generation as the integer overflow point is further out.

Even though there are 64-bit seeds on Java, there were only unique noise maps for continental/ocean biome generation, because a quadratic equation was used, and quadratic equations always can be mirrored so that for every input except one to the quadratic equation, there is another that results in the same output (halving the number of truly distinct possibilities). For any seed, the other seed resulting in the same output to this equation was colloquially known as a shadow seed. In this case, land biome and general ocean biomes were exactly the same in a pair of seeds, but ocean biome temperatures, structures and hills differed in the shadow seed. A user could find a shadow seed by adding the constant -7379792620528906219 to the negative of their current world seed, to obtain the shadow seed. Shadow seeds were exclusive to Java Edition.

With using 32-bit seeds and a different world generation algorithm, there were 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, temperate, or dry biome clusters, bore some geographical relationship with the equivalent positive value seed of the 64-bit generation. The biome shapes deviated significantly. The specific generation of lush biomes and ocean variants was completely different on Bedrock.

Badlands Plateau
The badlands plateau featured large flat-topped hills composed of stratified colors of terracotta ranging in warm colors. Plateaus had steep edges that rose to within 20-30 blocks above sea level, where they quickly flatten. The top of these plateaus typically had scattered dead bushes. Occasional ponds appeared on plateau tops. The sides of the plateau occasionally revealed caverns and mineshafts. River biomes that passed through badlands plateau biomes cut steep grooves, giving off the appearance of narrow canyons. These posed a fall damage hazard if the player was not careful. Ravines also frequently spawned in badlands plateau biomes, which caused the same as above. This biome was not always present in the badlands biomes, but it was likely to appear.

Badlands plateaus used the same mob spawning chances as badlands.

Bamboo Jungle Hills
The bamboo jungle hills variant was similar to the bamboo jungle, though with steeper terrain just like the regular jungle hills variant. Large amounts of bamboo covered the landscape, and patches of podzol replaced most grass blocks. Naturally-generated trees were always large variants, and pandas spawned here, like in the bamboo jungle. Jungle pyramids also spawned here $$.

$$, bamboo jungle hills used the same mob spawning chances as jungle hills for hostile and ambient categories. As for the others:

Birch Forest Hills
Birch forest hills featured hillier terrain than regular birch forests, being identical to them in every other aspect. It was fairly common due to its wide spread.

Birch forest hills used the same mob spawning chances as birch forests.

Dark Forest Hills
Dark forest hills broke the leaf canopy, increasing visibility and decreasing the chance of daytime hostile mob spawning, though the hills were steep compared to other hill biomes. Hills generated near rivers led to cliffs. Small plains-biome clearings didn't generate within the dark forest hills variant.

Dark forest hills used the same mob spawning chances as dark forests.

Deep Warm Ocean
The deep warm ocean was similar to the warm ocean, but twice as deep and without coral reefs or sea pickles. Since they were a deep ocean variant, tall seagrass was more frequent and ocean monuments could generate as well. Unlike shallow warm oceans, pufferfish could not spawn in deep warm oceans.

This biome did not naturally generate in any non-snapshot or beta version.

$$, deep warm oceans used the same mob spawning chances as oceans for hostile and ambient categories. As for the others:

$$, deep warm oceans used the same mob spawning chances as warm oceans.

Desert Hills
Desert hills variants featured hillier terrain, just like all other hills biomes in the game. Desert hills reached slightly higher elevations than other hills, and were comprised mostly of sand and sandstone like the rest of the desert. No structures other than fossils, desert pyramids, and desert wells generated within the hills, making this variant overall more difficult. Desert hills didn't generate if their base desert is a thin border around a badlands biome.

Desert hills used the same mob spawning chances as deserts.

Desert Lakes
The rare desert lakes variant featured slightly rougher and hillier terrain than the base desert biome, though not as much as the desert hills. This made them more likely to have oases of water across its landscape. No structures other than fossils and desert wells generated here.

Desert lakes used the same mob spawning chances as deserts.

Giant Spruce Taiga Hills
Giant spruce taiga hills were a variant intended to be a more mountainous version of the giant spruce taiga. However, $$, due to a likely error in the way terrain height is calculated, there was no difference in the terrain between giant spruce taiga and giant spruce taiga hills. Specifically, the game used internal values known as  and   when generating hills biomes, but these values were the same for both giant spruce taiga and giant spruce taiga hills, resulting in no actual difference between the two. This was the only hills biome in the game with this issue.

$$, this biome generated as a hillier version of the giant spruce taiga, however, this biome generated the same trees as the giant tree taiga hills tree type (not giant spruce tree type) resulting in no actual difference between giant tree taiga hills and giant spruce taiga hills (except in water color).

Giant spruce taiga hills used the same mob spawning chances as giant spruce taigas.

Giant Tree Taiga Hills
Like all other hills biomes, giant tree taiga hills featured elevated, hillier terrain compared to the normal giant tree taiga, making the landscape less suitable for shelter. Podzol, coarse dirt, and rocks all still generated on the hills. Wolves, foxes and rabbit spawned here.

Giant tree taiga hills used the same mob spawning chances as giant tree taigas.

Gravelly Mountains+
Gravelly mountains+, also referred to as modified gravelly mountains in code, was a rare variant of the wooded hill biome that had the exact same features as the regular gravelly mountains, making this biome almost indistinct from the former. with the only difference being the fact that it can rarely generate standalone as a thick separation when a desert lakes biome borders a snowy biome.

Gravelly mountains+ had the same mob spawning chances as mountains.

Jungle Hills
Similar to the wooded hills biome, the jungle hills biome featured steeper terrain, making it a more difficult variant of the already difficult jungle for survival purposes. Ocelots, parrots, and pandas spawned here and jungle pyramids generated here.

$$, jungle hills used the same mob spawning chances as jungles for ambient categories. As for the others:

$$, jungle hills used the same mob spawning chances as jungles.

Modified Badlands Plateau
The modified badlands plateau featured smaller plateaus and somewhat harsher terrain than the badlands plateau, mimicking large plateaus that have weathered more over time. Eroded badlands replaced the usual thin desert border that this biome variant shared with other biomes. The modified badlands plateau was the second rarest biome in Minecraft, after modified jungle edge, and was only present in about 1/5 of the badlands biomes, and almost always (98% chance) came with an eroded badlands bordering the edges and modified wooded badlands plateaus surrounding it at the center.

Modified badlands plateaus used the same mob spawning chances as badlands.

Modified Jungle
The rare modified jungle variant featured much more mountainous terrain, being taller and steeper than jungle hills. The heights, combined with the thick foliage, rendered the ground below almost entirely out of sight. Ocelots, parrots, and pandas spawned in this biome, but jungle pyramids didn't generate here.

$$, modified jungles used the same mob spawning chances as jungle hills for hostile and ambient categories. As for the others:

$$, modified jungles used the same mob spawning chances as jungles.

Modified Jungle Edge
The rare modified jungle edge variant generated only in strict conditions, and it was the rarest biome in the game. If a jungle biome bordered a swamp hills biome, then the modified jungle edge spawned as part of a double-layered transition, with a thin normal jungle edge bordering the swamp hills, and the modified jungle edge bordering the jungle. As both jungles and swamp hills were already rare, and even more rarely did they generate bordering each other, the conditions for a modified jungle edge to generate were rarely met. When they actually did manage to generate, they were often just a few hundred blocks in length, but in some cases were less than 10 blocks, making them one of the smallest biomes as well. Modified jungle edges featured the same smooth transition and lowered tree density that regular jungle edges had, though with much more mountainous terrain and occasional overhangs. Ocelots, parrots, and pandas spawned in this biome, but jungle pyramids didn't generate here. Modified jungle edges covered only a few millionths (0.00027%) of the overworld by area.

Modified jungle edges used the same mob spawning chances as jungle edges.

Modified Wooded Badlands Plateau
Similar to the modified badlands plateau, the modified wooded badlands plateau had a weathered appearance and featured smaller plateaus with more erratic terrain, allowing for significantly fewer oak trees to grow at the highest layers. Eroded badlands replaced the usual thin desert border that this biome variant shared with other biomes.

Modified wooded badlands plateaus used the same mob spawning chances as badlands.

Mountain Edge
The mountain edge variant used to generate before Java Edition 1.7.2. Similarly to the sparse jungle biome, it was a technical biome intended to provide a smooth transition from other biomes to the mountains. It was similar to the wooded mountain biome, but with a few oak trees. The terrain was gentler and not as steep as the normal mountains, with oak and spruce trees growing.

Mountain edges had the same mob spawning chances as mountains.

Mushroom Field Shore
The mushroom field shore was a technical biome that represented both the shores and the rivers of the mushroom fields. It generated when a river cus through it as well as when it bordered an ocean, unless the ocean was a deep variant, in which case a steep cliff generated instead. The terrain of this biome was much flatter and shallower in elevation, similar to beaches, though it was equal to the mushroom fields in every other way. Buried treasure and shipwrecks generated here.

Mushroom field shores used the same mob spawning chances as mushroom fields.

Shattered Savanna Plateau
Like the normal shattered savanna, the shattered savanna plateau variant featured steep mountains, cliffs, and overhangs, which made it a treacherous place to explore. Though it was nearly indistinguishable from the regular shattered savanna at first glance, the shattered plateau's terrain was slightly gentler, though often risked fatal fall damage if not above water. The giant lakes characteristic of the regular shattered savanna did not generate here either. $$, the foliage was a more vibrant green color, and rain would often occur in it.

Shattered savanna plateaus used the same mob spawning chances as savannas.

Snowy Mountains
These hills were no taller than most other hill biomes in the game, despite the name 'mountains'. No structures generated in this biome, though polar bears, rabbits and strays spawned. Caves frequently generated on the sides of the mountains. $$, no hostile mobs other than strays and skeletons spawned here.

Snowy mountains used the same mob spawning chances as snowy tundras.

Snowy Taiga Hills
Like all other hills biomes, snowy taiga hills featured hillier, more erratic terrain. These hills were somewhat steep, making this variant difficult for survival mode. Pillager outposts and villages generated in this biome, however, unlike the regular snowy taiga, igloos didn't generate here.

Snowy taiga hills used the same mob spawning chances as snowy taigas.

Snowy Taiga Mountains
The very rare snowy taiga mountains featured much steeper terrain than the hills. Similarly to the taiga mountains, this variant reached high elevations. The steep elevations made this biome difficult for survival. Buildings didn't generate here. This biome was the third rarest in the game, behind modified badlands plateau and modified jungle edge.

Snowy taiga mountains used the same mob spawning chances as snowy taigas.

Swamp Hills
The swamp hills variant featured hillier terrain rising up between the flat marshes. These hills would tower over the otherwise low-elevation swamp. Additionally, flooded areas in swamp hills tended to reach lower depths than the rest of the swamp, sometimes deep enough to have a gravel floor in place of a dirt floor, like normal oceans. Swamp huts did not generate in swamp hills, nor did slimes spawn, but fossils did still generate underground. Additionally, seagrass did not generate in flooded areas of swamp hills. If it connected to a sparse jungle it had a chance to create a modified jungle edge biome.

Swamp hills used the same mob spawning chances as swamps.

Taiga Hills
Taiga hills, like all other hills biomes in the game, featured steeper terrain compared to the base taiga biome. Villages and outposts didn't generate in this biome, though wolves and foxes still spawned.

Taiga hills used the same mob spawning chances as taigas.

Taiga Mountains
The rare taiga mountains variant was much steeper than the taiga hills, with peaks occasionally crossing the snowfall line. The steep terrain made this a more difficult version of the regular taiga. Like the hills, villages and outposts didn't generate here, though wolves and foxes still spawned.

Taiga mountains used the same mob spawning chances as taigas.

Tall Birch Hills
Like the other hills biomes, the tall birch hills biome had hillier, rougher terrain, along with the taller-than-normal birch trees of the tall birch forest variant. The hills were steep in this biome, comparable to the mountains biome.

Tall birch hills used the same mob spawning chances as birch forests.

Wooded Hills
Wooded hills were similar to forests, though the terrain was hillier and generally more erratic, making it less suitable for shelter. Wolves spawned here.

Wooded hills used the same mob spawning chances as forests.