Before the Adventure Update, biomes were much smaller, sometimes smaller than a chunk, and less distinct.
Biome generation was controlled in these versions by noise generated temperature and rainfall values, allowing for fully smooth transitions from biome to biome and preventing cold and warm biomes from generating next to one another. The specific biome was determined by where the combination of temperature and rainfall put it.
Height variation was entirely independent of biome type, with biomes having no influence on the shape of terrain. This meant things like cliffs and mountains were able to generate up to nearly 128 on the y-axis in any biome. Tall grass was also much less present in pre-1.8 worlds (except in the "Plains" and "Rainforest" biomes).
There were 13 biome types: 10 in the Overworld, 1 in the Nether, and 2 unused ones that are in the code but aren't encountered in normal play. These biomes were added in Java Edition Alpha 1.2.0, and relatively few changes were undergone to these biomes other than the introduction of birch and spruce trees in Beta 1.2 (which allowed for new chunks to have birch trees generate in forests and spruce to generate in taiga in place of oak trees), desert biome borders being rotated due to then not lining up in Beta 1.4, and the introduction of tall grass and ferns in Beta 1.6.
Grass and foliage colors were determined by an algorithm based on the temperature and humidity, rather than from the biomes directly. This means there can be a wide range of different grass and foliage colors for any one biome. Once the game gets the temperature and humidity values by pulling grass and foliage colors, it uses said values to grab colors from /misc/grasscolor.png or /misc/foliagecolor.png, and applies it to the uncolored grass or leaves. The same implementation also existed for water colorization with /misc/watercolor.png. However, this feature wasn't enabled in the code, and wasn't implemented until Java Edition 1.13.
|Rain Forest||Rainforests are very wet biomes with many trees, which have a 1 in 3 chance of being big, instead of 1 in 10 like all other biomes. They are similar to forests but have a large amount of tall grass and ferns (sometimes consistent and continuous cover generated) and lush green grass due to the temperature and rainfall requirements. A biome is classified as a rainforest if the temperature is greater than 97% and the rainfall is more than 90%. This could be the biome with some of the most cliffs and hills, because the world generator reduces height variation at lower rainfalls.|
|Seasonal Forest||Seasonal Forests spawn with a temperature of 97% or greater, and a rainfall value between 45% and 90%. They are commonly found between forest and rain forests, and near plains biomes. They are identical to forests, except their canopies are lower density and are only capable of spawning oak trees. They have a little bit of tall grass but sometimes more is present.|
|Forest||A biome with many trees and a little bit of tall grass. Wolves can spawn here. Forest is one of the only biomes where birch trees spawn. It generates when the temperature is between 50% and 97%, and the rainfall is 35% or greater. due to some forests generating in areas with 50% temperature snow can be present on hilltops but does not regenerate. the grass color can be dull green, lush green, and blueish gray depending on the temperature and rainfall values of the region. they were, and still are one of the most common biomes in the game.|
|Swampland||Identical to shrubland with only the unused color variables and the biome name differing. It generates when the temperature is less than 70%, and the rainfall is greater than 50%. Because 50% temperature and below causes snowfall, the swamp biome can very rarely have small portions of snow (although it will not regenerate and will rain instead of snow). Even though the swamp biome only generates at above 50% temperature, snow can still generate on hills because the higher the altitude, the higher the temperature that snow can spawn in. the swamp, along with shrubland were some of the smallest biomes in the game, rarely ever being larger than a few chunks. It could often be found near forest, shrubland, taiga, and tundra.|
|Savanna||A biome with mostly flat terrain and very few trees, although some hills do spawn and can host tall mountains. It seems to be one of the flattest biomes in the game, alongside desert and tundra, due to the game reducing height variation at lower rainfall values. The grass color can range from dull orange to blue-ish gray. It generates with a temperature between 50% and 95%, and a rainfall value of less than 20%. It was removed in Java Edition Beta 1.8 and was re-added in Java Edition 1.7.2, although it is different from the original Savanna.|
|Shrubland||A biome with few trees and no tall grass. It is identical to the savanna biome, but could generate in lower temperature areas. along with swampland, it was one of the smallest biomes in the game, rarely ever being larger than a few chunks, and only spawns if the temperature is between 50% and 97%, and the rainfall value is below 35% and therefore too little to generate a forest. It often generates near forests, seasonal forest, and savanna.|
|Taiga||A snowy biome composed of mostly mountainous terrain and a bit of tall grass. Spruce and pine trees as well as ice can be found in this region. Wolves also appear more commonly on this biome than others. Snow is a common weather in taiga biomes. It generates when the temperature is between 10% and 50% and the rainfall is greater than 20%. In Beta 1.8 and Java Edition 1.0, taiga biomes generated without ice and/or snow due to a bug (Java Edition 1.7 allowed for taiga biomes to generate as both snowy and snowless). The pre-1.8 Taiga biome was also usually a smaller biome. from alpha 1.2 to beta 1.3 the taiga was arguably a snowy version of the regular forest as only oak trees generated due to spruce being not yet added|
|Desert||A biome consisting mostly of sand, Sandstone , dead bushes and cacti. Trees do not generate in deserts unless the player brings in dirt. No rain occurs in this biome. It spawns when the rainfall is less than 20% and the temperature is greater than 95%.
Since Beta 1.0 and before Beta 1.4, biome borders were rotated and didn't line up because of a bug, which was more noticeable for deserts due to the fact that they generate different ground blocks than the other biomes. they mostly consist of flat plains but uncommonly hills and mountains can generate, especially if the surrounding biomes are mountainous.
It was possible to find exposed or partially buried dungeons here due to sand being affected by gravity, however it is no longer the case a it is no longer possible in modern versions due to changes made to dungeon generation in 1.7.
|Plains||A relatively flat with a very large amount of tall grass (more than in any other type of land). The occasional trees do exist, though very rarely. Plains are typically smaller than other biomes because they have an extremely marginal generation range, only occurring if the temperature is greater than 97% and the rainfall is between 45% and 20% (less and it would be a desert, more and it would be a seasonal forest). Despite having a larger rainfall range than rainforest, the rainfall values fall into this range less often because they sometimes go outside of 0%-100% and are capped at those values, and can become "stuck" at 0% or 100% for some time. They can also sometimes but rarely be mountainous if the plains has a high rainfall which increases the chance for varied terrain to occur or if a mountain from a neighboring biome intersects. After Java Edition Beta 1.8, it becomes the second most common biome in the game.|
|Tundra||Snowy, barren terrain consisting of flat plains and sometimes hills and mountains, and with very few trees. The occasional trees do exist, though very rarely. Ice can be found over water. Snow is a common weather in tundras. It generates when the temperature is below 50% and the rainfall is less than 20%.
In Beta 1.8, Notch also said that this biome would be left out until "Beta 1.9". This is because snow was causing problems with the new biome generator.
|Sky||A hidden biome before Beta 1.9 Prerelease 4, this biome was exclusive to, and the sole biome of the Sky Dimension. It would generate floating islands with oceans of air surrounding them. Trees were uncommon, no weather occurred here, and the only mob that could spawn naturally were chickens. It had small patches of snow, although it would not accumulate again. It had green with some extra blue hue for foliage colors.|
|Ice Desert (corner case biome)||An unused biome before Beta 1.8 that was in the code but never implemented into the temperature/rainfall table and thus did not actually generate. It was a biome of sand with snow on top of it and had snowfall and ice.|
|Hills/Cliffs||Mountains are hills with extreme slopes. Prior to the 1.8 update, these highly mountainous landforms were found in every biome type, with the only limiting factor being the rainfall of the biome increasing or decreasing height variation, allowing for high rainfall biomes such as rainforest their unpredictable terrain, and dry biomes like deserts and tundra to be consistently flat or mountainous. But from the Adventure Update onwards, they are very rare outside the Extreme Hills, Modified badlands, shattered savanna, and modified jungle biomes, as mountain generation was entirely biome dependent. They were generated as part of the terrain generation algorithm from infdev to beta 1.8 prerelease. The idea of biome-independent terrain was re-inplemented in Java Edition 1.18.
Cliffs are often carved into hills, and sometimes have caves protruding into them. These caves contain the same blocks which one would find at the same layer in the hill they are carved out of. Sometimes cliffs intersected with hills in strange ways allowing for many chaotic landscapes to generate.
Some of the most famous seeds at the time were notable for the chaotic and unpredictable nature of cliffs and hills.
|Ocean||Oceans are large bodies of water with every single water tile being a spring. Prior to the Adventure Update, oceans were generated as part of the terrain generation algorithm, instead of being their own biome. The lakebed was almost always consistently dirt, and sometimes gravel depending on if a gravel beach was nearby or not, in contrast to the clay, sand, gravel, and dirt patches from beta 1.8 onwards.|
|Beaches||Beaches were usually generated next to oceans or lakes and covered all nearby low elevated shorelines. They could be found in any biome. They came in two varieties: sand and gravel. Sandstone was located below sand in sand beaches, and occasional patches of clay could also be found.
Gravel beaches had no such underground border, and thus posed dangers such as falling into caverns located right underneath them. The famous "404 challenge" was possible due to this feature.
The block that beaches and ocean floors consist of is determined by the same algorithm. It is determined whether each X-Z coordinate generates with sand, dirt or gravel, and then if the highest terrain block is at altitude 65 (2 blocks above sea level) or below, the surface is replaced with that material.
Like in deserts, exposed or partially buried dungeons could sometimes generate near the surface of beaches. The well known seed "worstseedever" had one in relative close proximity. However, due to changes made to the way dungeons generate in Java Edition 1.7.2, this is no longer the case in modern versions.
Due to the changes in the terrain generation algorithm in the Java Edition Beta 1.8 update, beaches were removed completely from the game. They later returned with Minecraft Java Edition 1.1 as a separate biome, but lacked the spaciousness of old beaches from Beta versions, and only came in the sand variety. Java Edition 1.7 later added a beach biome that is made of stone and gravel, the stone shore, for when a beach generates next to an extreme hills biome. Spacier beaches were re-added in Java Edition 1.18.
The biomes graph prior to Beta 1.8, drawn by Notch. Notice the chicken scratch handwriting, as Notch was working quick to try to get the biomes added by the Halloween Update.