Minecraft Wiki

The Minecraft Wiki has moved from Fandom; see the linked discussion page for details.

READ MORE

Minecraft Wiki
Advertisement
This page describes content that exists only in outdated versions of Java Edition. 
This feature used to be in the game but has since been removed.
Nether Reactor Core
This article describes content that has been officially made unobtainable in Bedrock Edition. 
It can still be obtained using third-party software. However, this can cause unexpected behavior such as bugs and crashes.

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. In Java Edition, these biomes were merged with their normal variants, while in Bedrock Edition, 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, windswept hills, swamp, plains
  • Rare medium biome clusters: jungle (1.5% of the final map)
  • Cold biome clusters: forest, windswept hills, taiga, plains
  • Rare cold biome clusters: giant tree taiga (1.6% of the final map)
  • Frozen biome clusters: snowy plains (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.

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

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.

In Java Edition, 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 in Java Edition contained entirely different ocean climate areas, even though common land biomes generated identically in Java Edition shadow seeds.

Other information

In Java Edition, 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 229 blocks from 0,0. Biome generation overflowed at 231 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 263 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 Bedrock Edition 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.

Data values

ID

Java Edition:

NameIdentifierTranslation key
Badlands Plateaubadlands_plateaubiome.minecraft.badlands_plateau
Bamboo Jungle Hillsbamboo_jungle_hillsbiome.minecraft.bamboo_jungle_hills
Birch Forest Hillsbirch_forest_hillsbiome.minecraft.birch_forest_hills
Dark Forest Hillsdark_forest_hillsbiome.minecraft.dark_forest_hills
Deep Warm Oceandeep_warm_oceanbiome.minecraft.deep_warm_ocean
Desert Hillsdesert_hillsbiome.minecraft.desert_hills
Desert Lakesdesert_lakesbiome.minecraft.desert_lakes
Giant Spruce Taiga Hillsgiant_spruce_taiga_hillsbiome.minecraft.giant_spruce_taiga_hills
Giant Tree Taiga Hillsgiant_tree_taiga_hillsbiome.minecraft.giant_tree_taiga_hills
Gravelly Mountains+modified_gravelly_mountainsbiome.minecraft.modified_gravelly_mountains
Jungle Hillsjungle_hillsbiome.minecraft.jungle_hills
Modified Badlands Plateaumodified_badlands_plateaubiome.minecraft.modified_badlands_plateau
Modified Junglemodified_junglebiome.minecraft.modified_jungle
Modified Jungle Edgemodified_jungle_edgebiome.minecraft.modified_jungle_edge
Modified Wooded Badlands Plateaugiant_tree_taiga_hillsbiome.minecraft.giant_tree_taiga_hills
Mountain Edgemountain_edgebiome.minecraft.mountain_edge
Mushroom Field Shoremushroom_field_shorebiome.minecraft.mushroom_field_shore
Shattered Savanna Plateaushattered_savanna_plateaubiome.minecraft.shattered_savanna_plateau
Snowy Mountainssnowy_mountainsbiome.minecraft.snowy_mountains
Snowy Taiga Hillssnowy_taiga_hillsbiome.minecraft.snowy_taiga_hills
Snowy Taiga Mountainssnowy_taiga_mountainsbiome.minecraft.snowy_taiga_mountains
Swamp Hillsswamp_hillsbiome.minecraft.swamp_hills
Taiga Hillstaiga_hillsbiome.minecraft.taiga_hills
Taiga Mountainstaiga_mountainsbiome.minecraft.taiga_mountains
Tall Birch Hillstall_birch_hillsbiome.minecraft.tall_birch_hills
Wooded Hillswooded_hillsbiome.minecraft.wooded_hills

Bedrock Edition:

NameIdentifierTranslation key
[No displayed name]mesa_plateaubiome.mesa_plateau.name
[No displayed name]bamboo_jungle_hillsbiome.bamboo_jungle_hills.name
[No displayed name]birch_forest_hillsbiome.birch_forest_hills.name
[No displayed name]roofed_forest_mutatedbiome.roofed_forest_mutated.name
[No displayed name]deep_warm_oceanbiome.deep_warm_ocean.name
[No displayed name]desert_hillsbiome.desert_hills.name
[No displayed name]desert_mutatedbiome.desert_mutated.name
[No displayed name]redwood_taiga_hills_mutatedbiome.redwood_taiga_hills_mutated.name
[No displayed name]mega_taiga_hillsbiome.mega_taiga_hills.name
[No displayed name]extreme_hills_plus_trees_mutatedbiome.extreme_hills_plus_trees_mutated.name
[No displayed name]jungle_hillsbiome.jungle_hills.name
[No displayed name]mesa_plateau_mutatedbiome.mesa_plateau_mutated.name
[No displayed name]jungle_mutatedbiome.jungle_mutated.name
[No displayed name]jungle_edge_mutatedbiome.jungle_edge_mutated.name
[No displayed name]mesa_plateau_stone_mutatedbiome.mesa_plateau_stone_mutated.name
[No displayed name]extreme_hills_edgebiome.extreme_hills_edge.name
[No displayed name]mushroom_island_shorebiome.mushroom_island_shore.name
[No displayed name]savanna_plateau_mutatedbiome.savanna_plateau_mutated.name
[No displayed name]ice_mountainsbiome.ice_mountains.name
[No displayed name]cold_taiga_hillsbiome.cold_taiga_hills.name
[No displayed name]cold_taiga_mutatedbiome.cold_taiga_mutated.name
[No displayed name]swampland_mutatedbiome.swampland_mutated.name
[No displayed name]taiga_hillsbiome.taiga_hills.name
[No displayed name]taiga_mutatedbiome.taiga_mutated.name
[No displayed name]birch_forest_hills_mutatedbiome.birch_forest_hills_mutated.name
[No displayed name]forest_hillsbiome.forest_hills.name

History

Java Edition
1.7.213w36aExtreme hills edge biomes no longer generate naturally.
1.18Experimental Snapshot 1A lot of biomes no longer generated naturally, because they were no longer needed.
Deep warm ocean biomes now naturally generate.
21w40aRemoved every unused biome.
21w43aRemoved deep warm ocean biomes.
Bedrock Edition
1.18.0beta 1.18.0.20Deep warm ocean biomes now naturally generate by default without enabling experimental gameplay.
beta 1.18.0.25The deep warm ocean biomes no longer generate naturally.

References


Advertisement