Java Edition:Seed-Biome Mismatch
Every seed of a world has a specific map of biomes, which will result in the most current version. However, if the chunks were loaded in earlier versions, this map was different. This means old worlds can have biomes that are different than what they should be for that seed at that location. The biomes have changed regularly throughout the versions. All changes are listed below.
These changes are the main cause of chunk boundaries in old worlds. However, the chunk boundaries can also be caused if the biome's terrain generator is altered. Seed-biome mismatch cannot occur before 12w07a (1.2 snapshot), as this was the snapshot that introduced Anvil File Format that allowed for biomes to be saved instead of being recalculated every time the chunk is reloaded.
Overworld
Pre-Anvil File Format
Biomes were first added in Alpha v1.2.0, however, biomes were not saved in the game yet.
Before Anvil File Format was introduced in 12w07a (1.2 snapshot), biomes were not saved in the world files. Before Anvil, every time a world was loaded biomes were determined by using the world seed to recalculate the biomes that should exist in that location. This meant that the biomes of a world would change in every update that changes the biome pattern. This often causes the terrain of one biome to become a different biome.
Although biomes from before Anvil File Format were not saved, special legacy upgrading code allows a world updated from 12w01a (1.1 snapshot) - 1.1 into 12w07a (1.2 snapshot) - 1.6.4 to keep its biomes. All worlds played in 12w01a - 1.1 will have generatorName: DEFAULT added to their level.dat file. If a world from 12w01a - 1.1 is updated into 12w03a to 12w06a (1.3 snapshot) then its level.dat will have generatorName: default_1_1 and the world will continue to generate biomes using the 1.1 generator.
Any pre-Anvil File Format world updated into 12w07a to 1.6.4 with generatorName: DEFAULT or generatorName: default_1_1 will have the 1.1 biome pattern saved to its existing chunks during conversion thanks to the legacy updating code. These biomes are applied to all chunks in the world during conversion into Anvil File Format, even if the player does not visit and load the chunks. So, this code allows any world updated from 12w01a to 1.1 into 12w07a to 1.6.4 to keep its existing biomes. Additionally, any world updated from 12w01a to 1.1 into 12w03a to 12w06a (1.2 snapshots) and then updated into 12w07a to 1.6.4 will also have its 1.1 biomes saved.
A world last played in a version before 12w01a will not have any generatorName in its level.dat and so if it is directly updated into 12w07a or later the world will not have its biomes saved. This world will instead take the biomes that would generate in the first Anvil File Format version that the world is updated into. Additionally, a world created from 12w03a to 12w06a will have generatorName: default in its level.dat file and will likewise not have its biome saved after updating into 12w07a or later. Finally, the legacy updating code is removed in 13w36a (1.7 snapshot). If any pre-Anvil File Format world is updated directly to 13w36a or later then its biomes will not be saved and the world will take the biomes of the version that it is first loaded in.
Jungle Addition
In 12w03a, the jungle biome was added changing the biome map. The biomes are first saved in 12w07a with the introduction of anvil file format.
Some Ice Plains Biomes Replaced with Taiga Biomes
In 12w27a (1.3 snapshot), some ice plains biomes (ice plains and ice mountains) are replaced with taiga biomes (taiga and taiga hills). This biome map change can cause some biomes neighboring the replaced ice plains to slightly change shape as well.
The Update that Changed the World
In 13w36a (1.7 snapshot), the biome map underwent a major update. This version introduced the mesa, mega taiga, roofed forest, birch forest, savanna, extreme hills+, deep ocean and snowless taiga biomes as well as variations for many other biomes. 13w36a also changed biome generation to favor putting biomes of similar temperature next to one another.
No Mutated Biomes
In 16w02a (1.9 snapshot), many mutated biomes stop generating due to a bug.[1] This bug makes these biomes discontinued.
No Birch Forest M
In 16w03a (1.9 snapshot), all mutated biomes begin to generate again except Birch Forest M with the fix of MC-95612.
Birch Forest M Returns
In 16w43a (1.9 snapshot), Birch Forest M begins to generate again with the fix of MC-98995.
New Ocean Variants
In 18w08a (1.13 snapshot), many ocean variants were added. The warm ocean, lukewarm ocean, cold ocean, warm deep ocean, deep lukewarm ocean, deep cold ocean and deep frozen ocean biomes were added. Frozen Ocean began to generate naturally again, for the first time since 1.6.4.
Deep Warm Ocean Removed
In 18w08b (1.13 snapshot), the Deep Warm Ocean stops generating.
Bamboo Jungle Addition
In 18w43a (1.14 snapshot), the Bamboo Jungle biome was added.
Caves and Cliffs Update
In 1.18 Experimental Snapshot 1, the biome changes for the Caves and Cliff Update began, including different vertical biomes in the overworld for the first time. 1.18 Experimental Snapshot 1 added the meadow, grove, snowy slopes, lofty peaks and snowcapped peaks biomes. Starting in 1.18 Experimental Snapshot 1, dripstone caves, lush caves and deep warm ocean biomes can generate naturally. Many variant biomes stop generating, discontinuing them.
Recontinued 1.18 Biomes
In 1.18 experimental snapshot 2, savanna plateau, eroded badlands and ice spikes can naturally generate again, recontinuing these biomes.
Stony Peaks Addition
In 1.18 experimental snapshot 3, the Stony Peaks biome was added.
Jungle Edge Recontinued
In 1.18 experimental snapshot 5, the Jungle Edge biome was added back to generation.
Deep Dark Addition
In Deep Dark Experimental Snapshot 1, the Deep Dark biome was added.
Mangrove Swamp Addition
In 22w14a, the Mangrove Swamp biome was added.
Cherry Grove Addition
In 23w07a, the Cherry Grove biome was added.
Pale Garden Addition
In 24w40a, the Pale Garden biome was added.
Nether
Nether Uniformity
From 12w07a (and back to Alpha v1.2.0 but not saved) to 1.15.2, the Nether was a single biome, from y=0 to build limit. This biome is currently called the "Nether Wastes" (since 20w06a (1.16 snapshot)). However, from Alpha v1.2.0 to 18w16a (1.13 snapshot), it was called "Hell" and from 18w17a (1.13 snapshot) until 1.15.2, it was just called "Nether" (the actual biome ID didn't change from hell to nether until 1.13-pre5). Any chunks generated during these versions would remain fully Nether Wastes ([test] report of not updating).
Nether Biomes Introduction
From 20w06a to 20w14a (1.16 snapshots), the first pattern of the nether update would generate. 20w06a was the first snapshot in the nether update that added soul sand valleys, crimson forests, and warped forests. The addition was the first implementation of vertical biomes meaning that the biome can change at different y-values.
Basalt Delta Addition
From 20w15a to 20w18a (1.16 snapshots), a new pattern of biomes existed. 20w15a added basalt deltas and this biome would replace the location of others. This did not cause an overall shift of the biomes though.
[Getting different results - example: seed 8161115816409986470 x 1739 y 43 z -360 causes basalt deltas in 20w15a & 20w16a but nether wastes in 20w17a & 20w18a][test]
Less Common Basalt Deltas
From 20w19a (1.16 snapshot) to 25w42a (present),
Nether Biome Regeneration
From 20w28a to 20w29a (1.16.2 snapshots) the new nether biomes would regenerate to the map in those versions.[2] This causes the 20w06a to 20w18a (1.16 snapshots) maps to be updated to the current map.
End
End Uniformity
From 12w07a (and back to Beta 1.9 Prerelease 4 but not saved) to 18w05a (1.13 snapshot) the entire end dimension was a single biome. This biome is now called "The End" but from Beta 1.9 Prerelease 4 to 14w11b (1.8 snapshot) was called "Sky". 15w31a (1.9 snapshot) added the outer islands but their biome was still "The End". In 18w06a (1.13 snapshot) different outer island biomes were added. Currently, The End biome still generates uniformly in the center of the dimension at the main end island but in these earlier versions, the end biome could be generated uniformly at the outer islands as well.
Strict Chunk Outer Islands
The strict chunk biome layout exists from 18w06a (1.13 snapshot) to 25w42a (present). In 18w06a, four new biomes were added for the outer end islands. 18w06a added End - Floating Islands (sky_island_low), The End - Medium island (sky_island_medium), The End - High island (sky_island_high), and The End - Barren island (sky_island_barren) biomes. These biomes were later renamed to Small End Islands, End Badlands, End Midlands, and End Barrens in 18w19a (1.13 snapshot). Their IDs were also changed in 1.13-pre5: sky → end, sky_island_low → small_end_islands, sky_island_medium → end_midlands, sky_island_high → end_highlands, and sky_island_barren → end_barrens. During this version range, a bug causes these biomes to generate strictly by chunks.[3] Each chunk can only contain a single biome and the borders followed exactly along chunk borders.
Starting in 19w36a (1.15 snapshot), chunks are blended along boundaries to give a more natural border. This blending is not saved to the world, it is a post-loading effect. The blending allows the end biomes to appear to spread into a neighboring chunk by up to 2 blocks, but the biome is not actually saved in the chunk. On boundaries, the biomes can vary in the y dimension as well, a feature first added in 19w36a.
In 1.15 Pre-release 5, the blended boundary between chunks of end biomes was tweaked to the current method used up to 25w42a (present) which results in changes along the borders of chunks. Since blending is not saved in the world, updating worlds from 19w36a - 1.15 Pre-release 4 into versions 1.15 Pre-release 5 and later will cause the biome blending to change to the current blending, the old biome blending cannot be updated.
Plains Biome
Due to a conversion bug, updating from 12w07a - 1.2.3 all the way into 21w39a or later will result in the plains biome in the End.