Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:World generation: Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Sync: new page from Minecraft
 
SyncBot (talk | contribs)
Fix template calls: add MC/ prefix
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{For|the data pack customization {{in|je}}|Custom world generation}}
{{For|the data pack customization {{MC/In|je}}|Custom world generation}}


[[File:Overworld_1.18.png|thumb|''Minecraft'' worlds like this one are all generated algorithmically.]]
[[File:Overworld_1.18.png|thumb|''Minecraft'' worlds like this one are all generated algorithmically.]]


'''World generation''' (sometimes abbreviated as '''worldgen''') is the {{w|procedural generation}} process ''[[Minecraft:Minecraft]]'' uses to algorithmically generate [[Minecraft:terrain]], [[Minecraft:biome]]s, [[Minecraft:feature]]s, and thus ultimately decides which [[Minecraft:block]]s are placed where. ''Minecraft'' worlds are made of 16&times;16 blocks wide [[Minecraft:chunk]]s stretching the full height of the [[Minecraft:dimension]]. Because there are more than 18 quintillion (18&times;10<sup>18</sup>, or {{abbr|2<sup>64</sup>|18&nbsp;446 744&nbsp;073&nbsp;709&nbsp;551&nbsp;616}}) possible worlds, the game generates them using randomness, algorithms, and some manually built decorations. The benefits of procedural world generation include smaller game file size and practically infinite possibilities of gameplay.
'''World generation''' (sometimes abbreviated as '''worldgen''') is the {{MC/W|procedural generation}} process ''Minecraft'' uses to algorithmically generate terrain, [[Minecraft:biome]]s, [[Minecraft:feature]]s, and thus ultimately decides which [[Minecraft:block]]s are placed where. ''Minecraft'' worlds are made of 16&times;16 blocks wide chunks stretching the full height of the [[Minecraft:dimension]]. Because there are more than 18 quintillion (18&times;10<sup>18</sup>, or {{MC/Abbr|2<sup>64</sup>|18&nbsp;446 744&nbsp;073&nbsp;709&nbsp;551&nbsp;616}}) possible worlds, the game generates them using randomness, algorithms, and some manually built decorations. The benefits of procedural world generation include smaller game file size and practically infinite possibilities of gameplay.


== Randomness ==
== Randomness ==
In order to generate a different world every time, the game uses random numbers generated from a [[Minecraft:World seed|'''seed''']]. However, pure randomness makes terrain and biomes too chaotic with no continuity.<ref>{{YouTube link|CSa5O6knuwI|Minecraft terrain generation in a nutshell|Henrik Kniberg|Feb 6, 2022}}</ref>  
In order to generate a different world every time, the game uses random numbers generated from a [[Minecraft:World seed|'''seed''']]. However, pure randomness makes terrain and biomes too chaotic with no continuity.<ref>{{MC/YouTube link|CSa5O6knuwI|Minecraft terrain generation in a nutshell|Henrik Kniberg|Feb 6, 2022}}</ref>  


To solve this problem, the game makes use of gradient noise algorithms, like {{W|Perlin noise|newtab=1}}.<ref>{{citation|url=https://www.cs.umd.edu/class/spring2018/cmsc425/Lects/lect13-2d-perlin.pdf |title=2D Perlin Noise; lecture notes for CMSC 425 (Game Programming) |date=Spring 2018 |author=Dave Mount and Roger Eastman}}</ref> This makes sure blocks and chunks fit with their neighbors and gives the world both continuity and randomness.  
To solve this problem, the game makes use of gradient noise algorithms, like {{MC/W|Perlin noise|newtab=1}}.<ref>{{citation|url=https://www.cs.umd.edu/class/spring2018/cmsc425/Lects/lect13-2d-perlin.pdf |title=2D Perlin Noise; lecture notes for CMSC 425 (Game Programming) |date=Spring 2018 |author=Dave Mount and Roger Eastman}}</ref> This makes sure blocks and chunks fit with their neighbors and gives the world both continuity and randomness.  


Even though noise looks random and continuous, using it to generate terrain still lacks variation like hills and valleys that stand out and have a large height difference. To solve this, multiple noise functions are generated with different frequencies and amplitudes and then added up, which gives a more natural result. These noise functions are called octaves.
Even though noise looks random and continuous, using it to generate terrain still lacks variation like hills and valleys that stand out and have a large height difference. To solve this, multiple noise functions are generated with different frequencies and amplitudes and then added up, which gives a more natural result. These noise functions are called octaves.
Line 19: Line 19:


== Steps ==
== Steps ==
[[File:Chunk colormap.gif|thumb|[[Loading world screen|Chunk colormap]] {{in|Java}}, which is a square that visualizes the status of 43&times;43 [[Minecraft:chunk]]s.]]
[[File:Chunk colormap.gif|thumb|[[Loading world screen|Chunk colormap]] {{MC/In|Java}}, which is a square that visualizes the status of 43&times;43 chunks.]]


World generation happens in multiple steps. The game may freeze some chunks that are far from players at an early generation step for better performance, as shown on the graph. As the player approaches these chunks, the chunks advance through the generation steps again until they finish generating. Incomplete chunks that are temporarily frozen at a step are called proto-chunks, while chunks that are ready and accessible to players are called level chunks. {{IN|JE}}, the steps of world generation are sorted into:
World generation happens in multiple steps. The game may freeze some chunks that are far from players at an early generation step for better performance, as shown on the graph. As the player approaches these chunks, the chunks advance through the generation steps again until they finish generating. Incomplete chunks that are temporarily frozen at a step are called proto-chunks, while chunks that are ready and accessible to players are called level chunks. {{MC/In|JE}}, the steps of world generation are sorted into:


* {{color|#545454|}}'''empty''': The chunk is not yet loaded or generated.
* {{color|#545454|}}'''empty''': The chunk is not yet loaded or generated.
Line 34: Line 34:
* {{color|#FFE0A0|}}'''[[Minecraft:World generation#Lighting|light]]''': The lighting engine calculates the light level for blocks.
* {{color|#FFE0A0|}}'''[[Minecraft:World generation#Lighting|light]]''': The lighting engine calculates the light level for blocks.
* {{color|#F26060|}}[[#Mob spawning|'''spawn''']]: Mobs are spawned.
* {{color|#F26060|}}[[#Mob spawning|'''spawn''']]: Mobs are spawned.
* {{color|#FFFFFF|}}'''full''': Generation is done and a chunk can now be loaded. The proto-chunk is now converted to a level chunk and all [[Minecraft:block updates]] deferred in the above steps are executed.
* {{color|#FFFFFF|}}'''full''': Generation is done and a chunk can now be loaded. The proto-chunk is now converted to a level chunk and all block updates deferred in the above steps are executed.


== Biomes ==
== Biomes ==
[[File:Minecraft Density Functions.png|thumb|Top-down maps of biomes/terrain height and density functions.]]
[[File:Minecraft Density Functions.png|thumb|Top-down maps of biomes/terrain height and density functions.]]
[[File:World_generation_debug_info_explanation.png|thumb|{{IN|je}}, the climate parameters can be found in the [[debug screen]].]]
[[File:World_generation_debug_info_explanation.png|thumb|{{MC/In|je}}, the climate parameters can be found in the [[debug screen]].]]
{{For|an overview of biomes|Biome}}
{{MC/For|an overview of biomes|Biome}}


=== Overworld ===
=== Overworld ===
Line 61: Line 61:
* If 0.3~1.0: Far-inland
* If 0.3~1.0: Far-inland


'''Erosion''' is used to decide between flat and mountainous terrain. When erosion is high the landscape is generally flat, and where erosion is low the landscape is hilly. Areas with low erosion also tend to generate [[Minecraft:meadow]]s, [[Minecraft:snowy slopes]], [[Minecraft:stony peaks]], [[Minecraft:jagged peaks]], and [[Minecraft:frozen peaks]]. Erosion values are divided into 7 levels. The corresponding ranges from level 0 to level 6 are: -1.0~-0.78, -0.78~-0.375, -0.375~-0.2225, -0.2225~0.05, 0.05~0.45, 0.45~0.55, 0.55~1.0.
'''Erosion''' is used to decide between flat and mountainous terrain. When erosion is high the landscape is generally flat, and where erosion is low the landscape is hilly. Areas with low erosion also tend to generate meadows, snowy slopes, stony peaks, jagged peaks, and frozen peaks. Erosion values are divided into 7 levels. The corresponding ranges from level 0 to level 6 are: -1.0~-0.78, -0.78~-0.375, -0.375~-0.2225, -0.2225~0.05, 0.05~0.45, 0.45~0.55, 0.55~1.0.


'''Weirdness''' (also known as '''ridges''') affects whether to generate a biome variant or not, as well as whether or not terrain generates shattered. If the weirdness value is greater than 0, the generated biome becomes weirder. For example, weirdness could cause a [[Minecraft:jungle]] biome to become a [[Minecraft:bamboo jungle]] instead, or could cause a [[Minecraft:taiga]] to generate with more shattered terrain akin to a [[Minecraft:windswept savanna]]. A biome and its variant often do not appear on the same bank of a river.
'''Weirdness''' (also known as '''ridges''') affects whether to generate a biome variant or not, as well as whether or not terrain generates shattered. If the weirdness value is greater than 0, the generated biome becomes weirder. For example, weirdness could cause a jungle biome to become a bamboo jungle instead, or could cause a taiga to generate with more shattered terrain akin to a windswept savanna. A biome and its variant often do not appear on the same bank of a river.


[[File:Ridges folded diagram.png|200px|thumb|A diagram of peaks and valleys (Y-axis) calculated from weirdness (X-axis).]]
[[File:Ridges folded diagram.png|200px|thumb|A diagram of peaks and valleys (Y-axis) calculated from weirdness (X-axis).]]
Line 90: Line 90:
|D=0.2~0.9
|D=0.2~0.9
|Continentalness=0.8~1.0
|Continentalness=0.8~1.0
|{{BiomeLink|Dripstone Caves}}
|{{MC/Biomelink|Dripstone Caves}}
|-
|-
|D=0.2~0.9
|D=0.2~0.9
|Humidity=0.7~1.0
|Humidity=0.7~1.0
|{{BiomeLink|Lush Caves}}
|{{MC/Biomelink|Lush Caves}}
|-
|-
|D=0.2~0.9
|D=0.2~0.9
|Weirdness=-1.1~-0.95
|Weirdness=-1.1~-0.95
|{{BiomeLink|Sulfur Caves}}{{upcoming|Chaos Cubed}}
|{{MC/Biomelink|Sulfur Caves}}{{MC/Upcoming|Chaos Cubed}}
|-
|-
|D=1.0
|D=1.0
Line 106: Line 106:
|D=1.1
|D=1.1
|Erosion=-1.0~-0.375
|Erosion=-1.0~-0.375
|{{BiomeLink|Deep Dark}}
|{{MC/Biomelink|Deep Dark}}
|-
|-
|}
|}
Line 120: Line 120:
|-
|-
|{{Tooltip|T{{=}}0|T{{=}}-1.0~0.45}}
|{{Tooltip|T{{=}}0|T{{=}}-1.0~0.45}}
|{{BiomeLink|Frozen Ocean}}
|{{MC/Biomelink|Frozen Ocean}}
|{{BiomeLink|Deep Frozen Ocean}}
|{{MC/Biomelink|Deep Frozen Ocean}}
| rowspan="5" | {{BiomeLink|Mushroom Fields}}
| rowspan="5" | {{MC/Biomelink|Mushroom Fields}}
|-
|-
|{{Tooltip|T{{=}}1|T{{=}}-0.45~-0.15}}
|{{Tooltip|T{{=}}1|T{{=}}-0.45~-0.15}}
|{{BiomeLink|Cold Ocean}}
|{{MC/Biomelink|Cold Ocean}}
|{{BiomeLink|Deep Cold Ocean}}
|{{MC/Biomelink|Deep Cold Ocean}}
|-
|-
|{{Tooltip|T{{=}}2|T{{=}}-0.15~0.2}}
|{{Tooltip|T{{=}}2|T{{=}}-0.15~0.2}}
|{{BiomeLink|Ocean}}
|{{MC/Biomelink|Ocean}}
|{{BiomeLink|Deep Ocean}}
|{{MC/Biomelink|Deep Ocean}}
|-
|-
|{{Tooltip|T{{=}}3|T{{=}}0.2~0.55}}
|{{Tooltip|T{{=}}3|T{{=}}0.2~0.55}}
|{{BiomeLink|Lukewarm Ocean}}
|{{MC/Biomelink|Lukewarm Ocean}}
|{{BiomeLink|Deep Lukewarm Ocean}}
|{{MC/Biomelink|Deep Lukewarm Ocean}}
|-
|-
|{{Tooltip|T{{=}}4|T{{=}}0.55~1.0}}
|{{Tooltip|T{{=}}4|T{{=}}0.55~1.0}}
| colspan="2" |{{BiomeLink|Warm Ocean}}
| colspan="2" |{{MC/Biomelink|Warm Ocean}}
|}
|}


Line 154: Line 154:
| rowspan="5" |E=0
| rowspan="5" |E=0
|Valleys
|Valleys
| colspan="2" |{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|River}}(T>0)
| colspan="2" |{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|River}}(T>0)
| colspan="2" |Middle biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T<4)<br>Badland biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T=4)
| colspan="2" |Middle biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T<4)<br>Badland biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T=4)


|-
|-
|Low
|Low
| rowspan="2" |{{BiomeLink|Stony Shore}}
| rowspan="2" |{{MC/Biomelink|Stony Shore}}
|Middle biomes(T<4)<br>Badland biomes(T=4)
|Middle biomes(T<4)<br>Badland biomes(T=4)
| colspan="2" |{{BiomeLink|Snowy Slopes}}(T=0; H=0,1)<br>{{BiomeLink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
| colspan="2" |{{MC/Biomelink|Snowy Slopes}}(T=0; H=0,1)<br>{{MC/Biomelink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)


|-
|-
|Mid
|Mid
| colspan="3" |{{BiomeLink|Snowy Slopes}}(T<3; H=0,1)<br>{{BiomeLink|Grove}}(T<3; H=2,3,4)<br>Plateau biomes(T=3,4)
| colspan="3" |{{MC/Biomelink|Snowy Slopes}}(T<3; H=0,1)<br>{{MC/Biomelink|Grove}}(T<3; H=2,3,4)<br>Plateau biomes(T=3,4)


|-
|-
|High
|High
|Middle biomes
|Middle biomes
|{{BiomeLink|Snowy Slopes}}(T<3; H=0,1)<br>{{BiomeLink|Grove}}(T<3; H=2,3,4)<br>Plateau biomes(T=3,4)
|{{MC/Biomelink|Snowy Slopes}}(T<3; H=0,1)<br>{{MC/Biomelink|Grove}}(T<3; H=2,3,4)<br>Plateau biomes(T=3,4)
| colspan="2" |{{BiomeLink|Jagged Peaks}}(T=0,1,2; W<0)<br>{{BiomeLink|Frozen Peaks}}(T=0,1,2; W>0)<br>{{BiomeLink|Stony Peaks}}(T=3)<br>Badland biomes(T=4)
| colspan="2" |{{MC/Biomelink|Jagged Peaks}}(T=0,1,2; W<0)<br>{{MC/Biomelink|Frozen Peaks}}(T=0,1,2; W>0)<br>{{MC/Biomelink|Stony Peaks}}(T=3)<br>Badland biomes(T=4)


|-
|-
|Peaks
|Peaks
| colspan="4" |{{BiomeLink|Jagged Peaks}}(T=0,1,2; W<0)<br>{{BiomeLink|Frozen Peaks}}(T=0,1,2; W>0)<br>{{BiomeLink|Stony Peaks}}(T=3)<br>Badland biomes(T=4)
| colspan="4" |{{MC/Biomelink|Jagged Peaks}}(T=0,1,2; W<0)<br>{{MC/Biomelink|Frozen Peaks}}(T=0,1,2; W>0)<br>{{MC/Biomelink|Stony Peaks}}(T=3)<br>Badland biomes(T=4)


|-
|-
| rowspan="5" |E=1
| rowspan="5" |E=1
|Valleys
|Valleys
| colspan="2" |{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|River}}(T>0)
| colspan="2" |{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|River}}(T>0)
| colspan="2" |Middle biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T<4)<br>Badland biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T=4)
| colspan="2" |Middle biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T<4)<br>Badland biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T=4)


|-
|-
|Low
|Low
| rowspan="2" |{{BiomeLink|Stony Shore}}
| rowspan="2" |{{MC/Biomelink|Stony Shore}}
|Middle biomes(T<4)<br>Badland biomes(T=4)
|Middle biomes(T<4)<br>Badland biomes(T=4)
| colspan="2" |{{BiomeLink|Snowy Slopes}}(T=0; H=0,1)<br>{{BiomeLink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
| colspan="2" |{{MC/Biomelink|Snowy Slopes}}(T=0; H=0,1)<br>{{MC/Biomelink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)


|-
|-
|Mid
|Mid
| colspan="2" |{{BiomeLink|Snowy Slopes}}(T=0; H=0,1)<br>{{BiomeLink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
| colspan="2" |{{MC/Biomelink|Snowy Slopes}}(T=0; H=0,1)<br>{{MC/Biomelink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
|{{BiomeLink|Snowy Slopes}}(T=0; H=0,1)<br>{{BiomeLink|Grove}}(T=0; H=2,3,4)<br>Plateau biomes(T>0)
|{{MC/Biomelink|Snowy Slopes}}(T=0; H=0,1)<br>{{MC/Biomelink|Grove}}(T=0; H=2,3,4)<br>Plateau biomes(T>0)


|-
|-
|High
|High
|Middle biomes
|Middle biomes
|{{BiomeLink|Snowy Slopes}}(T=0; H=0,1)<br>{{BiomeLink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
|{{MC/Biomelink|Snowy Slopes}}(T=0; H=0,1)<br>{{MC/Biomelink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
| colspan="2" |{{BiomeLink|Snowy Slopes}}(T<3; H=0,1)<br>{{BiomeLink|Grove}}(T<3; H=2,3,4)<br>Plateau biomes(T=3,4)
| colspan="2" |{{MC/Biomelink|Snowy Slopes}}(T<3; H=0,1)<br>{{MC/Biomelink|Grove}}(T<3; H=2,3,4)<br>Plateau biomes(T=3,4)


|-
|-
|Peaks
|Peaks
| colspan="2" |{{BiomeLink|Snowy Slopes}}(T=0; H=0,1)<br>{{BiomeLink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
| colspan="2" |{{MC/Biomelink|Snowy Slopes}}(T=0; H=0,1)<br>{{MC/Biomelink|Grove}}(T=0; H=2,3,4)<br>Middle biomes(0<T<4)<br>Badland biomes(T=4)
| colspan="2" |{{BiomeLink|Jagged Peaks}}(T=0,1,2; W<0)<br>{{BiomeLink|Frozen Peaks}}(T=0,1,2; W>0)<br>{{BiomeLink|Stony Peaks}}(T=3)<br>Badland biomes(T=4)
| colspan="2" |{{MC/Biomelink|Jagged Peaks}}(T=0,1,2; W<0)<br>{{MC/Biomelink|Frozen Peaks}}(T=0,1,2; W>0)<br>{{MC/Biomelink|Stony Peaks}}(T=3)<br>Badland biomes(T=4)


|-
|-
| rowspan="4" |E=2
| rowspan="4" |E=2
|Valleys
|Valleys
| colspan="4" |{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|River}}(T>0)
| colspan="4" |{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|River}}(T>0)


|-
|-
|Low
|Low
| rowspan="2" |{{BiomeLink|Stony Shore}}
| rowspan="2" |{{MC/Biomelink|Stony Shore}}
| rowspan="2" |Middle biomes
| rowspan="2" |Middle biomes
| colspan="2" |Middle biomes(T<4)<br>Badland biomes(T=4)
| colspan="2" |Middle biomes(T<4)<br>Badland biomes(T=4)
Line 229: Line 229:
| rowspan="4" |E=3
| rowspan="4" |E=3
|Valleys
|Valleys
| colspan="4" |{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|River}}(T>0)
| colspan="4" |{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|River}}(T>0)


|-
|-
Line 249: Line 249:
| rowspan="4" |E=4
| rowspan="4" |E=4
|Valleys
|Valleys
| colspan="4" |{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|River}}(T>0)
| colspan="4" |{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|River}}(T>0)


|-
|-
Line 267: Line 267:
| rowspan="5" |E=5
| rowspan="5" |E=5
|Valleys
|Valleys
| colspan="4" |{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|River}}(T>0)
| colspan="4" |{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|River}}(T>0)


|-
|-
|Low
|Low
| rowspan="2" |Beach biomes(W<0)<br>Middle biomes(W>0; T=0,1 OR H=4)<br>{{BiomeLink|Windswept Savanna}}(W>0; T=2,3,4; H=0,1,2,3)
| rowspan="2" |Beach biomes(W<0)<br>Middle biomes(W>0; T=0,1 OR H=4)<br>{{MC/Biomelink|Windswept Savanna}}(W>0; T=2,3,4; H=0,1,2,3)
| rowspan="2" |Middle biomes(W<0 OR T=0,1 OR H=4)<br>{{BiomeLink|Windswept Savanna}}(W>0; T=2,3,4; H=0,1,2,3)
| rowspan="2" |Middle biomes(W<0 OR T=0,1 OR H=4)<br>{{MC/Biomelink|Windswept Savanna}}(W>0; T=2,3,4; H=0,1,2,3)
| colspan="2" |Middle biomes
| colspan="2" |Middle biomes


Line 281: Line 281:
|-
|-
|High
|High
| colspan="2" |Middle biomes(W<0 OR T=0,1 OR H=4)<br>{{BiomeLink|Windswept Savanna}}(W>0; T=2,3,4; H=0,1,2,3)
| colspan="2" |Middle biomes(W<0 OR T=0,1 OR H=4)<br>{{MC/Biomelink|Windswept Savanna}}(W>0; T=2,3,4; H=0,1,2,3)


|-
|-
|Peaks
|Peaks
| colspan="2" |Shattered biomes (W<0 OR T=0,1 OR H=4) <br>{{BiomeLink|Windswept Savanna}} (W>0; T=2,3,4; H=0,1,2,3)
| colspan="2" |Shattered biomes (W<0 OR T=0,1 OR H=4) <br>{{MC/Biomelink|Windswept Savanna}} (W>0; T=2,3,4; H=0,1,2,3)


|-
|-
| rowspan="4" |E=6
| rowspan="4" |E=6
|Valleys
|Valleys
|{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|River}} (T>0)
|{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|River}} (T>0)
| colspan="3" |{{BiomeLink|Frozen River}}(T=0)<br>{{BiomeLink|Swamp}}(T=1,2)<br>{{BiomeLink|Mangrove Swamp}}(T=3,4)
| colspan="3" |{{MC/Biomelink|Frozen River}}(T=0)<br>{{MC/Biomelink|Swamp}}(T=1,2)<br>{{MC/Biomelink|Mangrove Swamp}}(T=3,4)


|-
|-
|Low
|Low
|Beach biomes
|Beach biomes
| colspan="3" rowspan="2" |Middle biomes(T=0)<br>{{BiomeLink|Swamp}}(T=1,2)<br>{{BiomeLink|Mangrove Swamp}}(T=3,4)
| colspan="3" rowspan="2" |Middle biomes(T=0)<br>{{MC/Biomelink|Swamp}}(T=1,2)<br>{{MC/Biomelink|Mangrove Swamp}}(T=3,4)


|-
|-
Line 318: Line 318:
|-
|-
|T=0
|T=0
|{{BiomeLink|Snowy Beach}}
|{{MC/Biomelink|Snowy Beach}}
|-
|-
|T=1,2,3
|T=1,2,3
|{{BiomeLink|Beach}}
|{{MC/Biomelink|Beach}}
|-
|-
|T=4
|T=4
|{{BiomeLink|Desert}}
|{{MC/Biomelink|Desert}}
|}
|}


Line 335: Line 335:
|-
|-
|H=0,1
|H=0,1
|{{BiomeLink|Badlands}}(W<0)<br>{{BiomeLink|Eroded Badlands}}(W>0)
|{{MC/Biomelink|Badlands}}(W<0)<br>{{MC/Biomelink|Eroded Badlands}}(W>0)
|-
|-
|H=2
|H=2
|{{BiomeLink|Badlands}}
|{{MC/Biomelink|Badlands}}
|-
|-
|H=3,4  
|H=3,4  
|{{BiomeLink|Wooded Badlands}}
|{{MC/Biomelink|Wooded Badlands}}
|}
|}


Line 348: Line 348:
{| class="wikitable mw-collapsible mw-collapsed" style="text-align:center"
{| class="wikitable mw-collapsible mw-collapsed" style="text-align:center"
|-
|-
!{{Diagonal split header|Humidity|Temperature}}
!{{MC/Diagonal split header|Humidity|Temperature}}
!T=0
!T=0
!T=1
!T=1
Line 356: Line 356:
|-
|-
|H=0
|H=0
|{{BiomeLink|Snowy Plains}}(W<0)<br>{{BiomeLink|Ice Spikes}}(W>0)
|{{MC/Biomelink|Snowy Plains}}(W<0)<br>{{MC/Biomelink|Ice Spikes}}(W>0)
| rowspan="2" |{{BiomeLink|Plains}}
| rowspan="2" |{{MC/Biomelink|Plains}}
|{{BiomeLink|Flower Forest}}(W<0)<br>{{BiomeLink|Sunflower Plains}}(W>0)
|{{MC/Biomelink|Flower Forest}}(W<0)<br>{{MC/Biomelink|Sunflower Plains}}(W>0)
| rowspan="2" |{{BiomeLink|Savanna}}
| rowspan="2" |{{MC/Biomelink|Savanna}}
| rowspan="5" |{{BiomeLink|Desert}}
| rowspan="5" |{{MC/Biomelink|Desert}}
|-
|-
|H=1
|H=1
|{{BiomeLink|Snowy Plains}}
|{{MC/Biomelink|Snowy Plains}}
|{{BiomeLink|Plains}}
|{{MC/Biomelink|Plains}}
|-
|-
|H=2
|H=2
|{{BiomeLink|Snowy Plains}}(W<0)<br>{{BiomeLink|Snowy Taiga}}(W>0)
|{{MC/Biomelink|Snowy Plains}}(W<0)<br>{{MC/Biomelink|Snowy Taiga}}(W>0)
| colspan="2" |{{BiomeLink|Forest}}
| colspan="2" |{{MC/Biomelink|Forest}}
|{{BiomeLink|Forest}}(W<0)<br>{{BiomeLink|Plains}}(W>0)
|{{MC/Biomelink|Forest}}(W<0)<br>{{MC/Biomelink|Plains}}(W>0)
|-
|-
|H=3  
|H=3  
|{{BiomeLink|Snowy Taiga}}
|{{MC/Biomelink|Snowy Taiga}}
|{{BiomeLink|Taiga}}
|{{MC/Biomelink|Taiga}}
|{{BiomeLink|Birch Forest}}(W<0)<br>{{BiomeLink|Old Growth Birch Forest}}(W>0)
|{{MC/Biomelink|Birch Forest}}(W<0)<br>{{MC/Biomelink|Old Growth Birch Forest}}(W>0)
|{{BiomeLink|Jungle}}(W<0)<br>{{BiomeLink|Sparse Jungle}}(W>0)
|{{MC/Biomelink|Jungle}}(W<0)<br>{{MC/Biomelink|Sparse Jungle}}(W>0)
|-
|-
|H=4
|H=4
|{{BiomeLink|Taiga}}
|{{MC/Biomelink|Taiga}}
|{{BiomeLink|Old Growth Spruce Taiga}}(W<0)<br>{{BiomeLink|Old Growth Pine Taiga}}(W>0)
|{{MC/Biomelink|Old Growth Spruce Taiga}}(W<0)<br>{{MC/Biomelink|Old Growth Pine Taiga}}(W>0)
|{{BiomeLink|Dark Forest}}
|{{MC/Biomelink|Dark Forest}}
|{{BiomeLink|Jungle}}(W<0)<br>{{BiomeLink|Bamboo Jungle}}(W>0)
|{{MC/Biomelink|Jungle}}(W<0)<br>{{MC/Biomelink|Bamboo Jungle}}(W>0)
|}
|}


'''Plateau biomes''' generate at inland high terrain with moderate erosion, which results in biomes like [[Minecraft:meadow]]s and [[Minecraft:savanna plateau]]s. The specific biome generation depends on temperature, humidity, and weirdness.
'''Plateau biomes''' generate at inland high terrain with moderate erosion, which results in biomes like meadows and savanna plateaus. The specific biome generation depends on temperature, humidity, and weirdness.


{| class="wikitable mw-collapsible mw-collapsed" style="text-align:center"
{| class="wikitable mw-collapsible mw-collapsed" style="text-align:center"
|-
|-
!{{Diagonal split header|Humidity|Temperature}}
!{{MC/Diagonal split header|Humidity|Temperature}}
!T=0
!T=0
!T=1
!T=1
Line 396: Line 396:
|-
|-
|H=0
|H=0
|{{BiomeLink|Snowy Plains}}(W<0)<br>{{BiomeLink|Ice Spikes}}(W>0)
|{{MC/Biomelink|Snowy Plains}}(W<0)<br>{{MC/Biomelink|Ice Spikes}}(W>0)
|{{BiomeLink|Meadow}}(W<0)<br>{{BiomeLink|Cherry Grove}}(W>0)
|{{MC/Biomelink|Meadow}}(W<0)<br>{{MC/Biomelink|Cherry Grove}}(W>0)
| rowspan="2" |{{BiomeLink|Meadow}}(W<0)<br>{{BiomeLink|Cherry Grove}}(W>0)
| rowspan="2" |{{MC/Biomelink|Meadow}}(W<0)<br>{{MC/Biomelink|Cherry Grove}}(W>0)
| rowspan="2" |{{BiomeLink|Savanna Plateau}}
| rowspan="2" |{{MC/Biomelink|Savanna Plateau}}
| rowspan="2" |{{BiomeLink|Badlands}}(W<0)<br>{{BiomeLink|Eroded Badlands}}(W>0)
| rowspan="2" |{{MC/Biomelink|Badlands}}(W<0)<br>{{MC/Biomelink|Eroded Badlands}}(W>0)
|-
|-
|H=1
|H=1
| rowspan="2" |{{BiomeLink|Snowy Plains}}
| rowspan="2" |{{MC/Biomelink|Snowy Plains}}
|{{BiomeLink|Meadow}}
|{{MC/Biomelink|Meadow}}
|-
|-
|H=2
|H=2
|{{BiomeLink|Forest}}(W<0)<br>{{BiomeLink|Meadow}}(W>0)
|{{MC/Biomelink|Forest}}(W<0)<br>{{MC/Biomelink|Meadow}}(W>0)
|{{BiomeLink|Meadow}}(W<0)<br>{{BiomeLink|Forest}}(W>0)
|{{MC/Biomelink|Meadow}}(W<0)<br>{{MC/Biomelink|Forest}}(W>0)
| rowspan="2" |{{BiomeLink|Forest}}
| rowspan="2" |{{MC/Biomelink|Forest}}
|{{BiomeLink|Badlands}}
|{{MC/Biomelink|Badlands}}
|-
|-
|H=3
|H=3
| rowspan="2" |{{BiomeLink|Snowy Taiga}}
| rowspan="2" |{{MC/Biomelink|Snowy Taiga}}
|{{BiomeLink|Taiga}}(W<0)<br>{{BiomeLink|Meadow}}(W>0)
|{{MC/Biomelink|Taiga}}(W<0)<br>{{MC/Biomelink|Meadow}}(W>0)
|{{BiomeLink|Meadow}}(W<0)<br>{{BiomeLink|Birch Forest}}(W>0)
|{{MC/Biomelink|Meadow}}(W<0)<br>{{MC/Biomelink|Birch Forest}}(W>0)
| rowspan="2" |{{BiomeLink|Wooded Badlands}}
| rowspan="2" |{{MC/Biomelink|Wooded Badlands}}
|-
|-
|H=4
|H=4
|{{BiomeLink|Old Growth Spruce Taiga}}(W<0)<br>{{BiomeLink|Old Growth Pine Taiga}}(W>0)
|{{MC/Biomelink|Old Growth Spruce Taiga}}(W<0)<br>{{MC/Biomelink|Old Growth Pine Taiga}}(W>0)
|{{BiomeLink|Dark Forest}} (W<0)
|{{MC/Biomelink|Dark Forest}} (W<0)
{{BiomeLink|Pale Garden}} (W>0)
{{MC/Biomelink|Pale Garden}} (W>0)
|{{BiomeLink|Jungle}}
|{{MC/Biomelink|Jungle}}
|}
|}


Line 429: Line 429:
{| class="wikitable mw-collapsible mw-collapsed" style="text-align:center"
{| class="wikitable mw-collapsible mw-collapsed" style="text-align:center"
|-
|-
!{{Diagonal split header|Humidity|Temperature}}
!{{MC/Diagonal split header|Humidity|Temperature}}
!T=0~1
!T=0~1
!T=2
!T=2
Line 436: Line 436:
|-
|-
|H=0~1
|H=0~1
|{{BiomeLink|Windswept Gravelly Hills}}
|{{MC/Biomelink|Windswept Gravelly Hills}}
| rowspan="2" |{{BiomeLink|Windswept Hills}}
| rowspan="2" |{{MC/Biomelink|Windswept Hills}}
|{{BiomeLink|Savanna}}
|{{MC/Biomelink|Savanna}}
| rowspan="4" |{{BiomeLink|Desert}}
| rowspan="4" |{{MC/Biomelink|Desert}}
|-
|-
|H=2
|H=2
|{{BiomeLink|Windswept Hills}}
|{{MC/Biomelink|Windswept Hills}}
|{{BiomeLink|Forest}}(W<0)<br>{{BiomeLink|Plains}}(W>0)
|{{MC/Biomelink|Forest}}(W<0)<br>{{MC/Biomelink|Plains}}(W>0)
|-
|-
|H=3
|H=3
| colspan="2" rowspan="2" |{{BiomeLink|Windswept Forest}}
| colspan="2" rowspan="2" |{{MC/Biomelink|Windswept Forest}}
|{{BiomeLink|Jungle}}(W<0)<br>{{BiomeLink|Sparse Jungle}}(W>0)
|{{MC/Biomelink|Jungle}}(W<0)<br>{{MC/Biomelink|Sparse Jungle}}(W>0)
|-
|-
|H=4
|H=4
|{{BiomeLink|Jungle}}(W<0)<br>{{BiomeLink|Bamboo Jungle}}(W>0)
|{{MC/Biomelink|Jungle}}(W<0)<br>{{MC/Biomelink|Bamboo Jungle}}(W>0)
|}
|}


{{reflist|group=bo}}
{{MC/Reflist|group=bo}}


===The Nether===
===The Nether===
Line 467: Line 467:
!Offset
!Offset
|-
|-
|{{BiomeLink|Basalt Deltas}}
|{{MC/Biomelink|Basalt Deltas}}
| -0.5
| -0.5
|0
|0
|0.175
|0.175
|-
|-
|{{BiomeLink|Crimson Forest}}
|{{MC/Biomelink|Crimson Forest}}
|0.4
|0.4
|0
|0
|0
|0
|-
|-
|{{BiomeLink|Nether Wastes}}
|{{MC/Biomelink|Nether Wastes}}
|0
|0
|0
|0
|0
|0
|-
|-
|{{BiomeLink|Soul Sand Valley}}
|{{MC/Biomelink|Soul Sand Valley}}
|0
|0
| -0.5
| -0.5
|0
|0
|-
|-
|{{BiomeLink|Warped Forest}}
|{{MC/Biomelink|Warped Forest}}
|0
|0
| 0.5
| 0.5
Line 494: Line 494:


=== The End ===
=== The End ===
[[File:EnderIslandsRender.jpg|thumb|The End islands contain multiple biomes {{in|JE}}. {{IN|BE}}, there is always a single biome on all the islands.]]
[[File:EnderIslandsRender.jpg|thumb|The End islands contain multiple biomes {{MC/In|JE}}. {{MC/In|BE}}, there is always a single biome on all the islands.]]


{{IN|je}}, [[Minecraft:the End]] uses only one noise parameter: erosion. If the horizontal distance from the chunk origin of a chunk to the world origin is less than 1024, the blocks in the chunk are in the End. Otherwise, the biome is determined by erosion.
{{MC/In|je}}, [[Minecraft:the End]] uses only one noise parameter: erosion. If the horizontal distance from the chunk origin of a chunk to the world origin is less than 1024, the blocks in the chunk are in the End. Otherwise, the biome is determined by erosion.


{| class="wikitable sortable" style="text-align:center"
{| class="wikitable sortable" style="text-align:center"
Line 504: Line 504:
!Distance
!Distance
|-
|-
|{{BiomeLink|Small End Islands}}
|{{MC/Biomelink|Small End Islands}}
| -1~-0.21875
| -1~-0.21875
| rowspan="4" |>1024
| rowspan="4" |>1024
|-
|-
|
|
{{BiomeLink|End Barrens}}
{{MC/Biomelink|End Barrens}}
| -0.21875~-0.0625
| -0.21875~-0.0625
|-
|-
|{{BiomeLink|End Midlands}}
|{{MC/Biomelink|End Midlands}}
| -0.0625~0.25
| -0.0625~0.25
|-
|-
|{{BiomeLink|End Highlands}}
|{{MC/Biomelink|End Highlands}}
|0.25~1  
|0.25~1  
|-
|-
|{{BiomeLink|The End}}
|{{MC/Biomelink|The End}}
|N/A
|N/A
|<1024
|<1024
|}
|}


{{IN|be}}, the End has only one biome: [[Minecraft:The End (biome)|The End]].
{{MC/In|be}}, the End has only one biome: The End.


== Terrain ==
== Terrain ==
[[File:World generation noise.jpg|thumb|The Overworld after the "noise" step, which generates the base terrain.]]
[[File:World generation noise.jpg|thumb|The Overworld after the "noise" step, which generates the base terrain.]]


{{For|an overview of terrain features|Terrain features}}
{{MC/For|an overview of terrain features|Terrain features}}
{{For|the terrain customization {{in|JE}}|noise settings}}
{{For|the terrain customization {{MC/In|JE}}|noise settings}}


Terrain shaping determines which blocks should be solid and which blocks should be filled with air.
Terrain shaping determines which blocks should be solid and which blocks should be filled with air.


=== 3D noise ===
=== 3D noise ===
{{For|customization of density functions {{in|JE}}|Density function}}
{{For|customization of density functions {{MC/In|JE}}|Density function}}
If the noise is in two dimensions, it controls only surface height and it is impossible to add terrain above the surface. To add overhangs and 3D shapes, the game uses 3D Perlin noise function that gives an output called '''density''' for every single block. A density > 0 means it is filled with solid block, otherwise it is filled with air.
If the noise is in two dimensions, it controls only surface height and it is impossible to add terrain above the surface. To add overhangs and 3D shapes, the game uses 3D Perlin noise function that gives an output called '''density''' for every single block. A density > 0 means it is filled with solid block, otherwise it is filled with air.


Density is then given a height bias and a base height. Height bias "squeezes" the blocks. Base height is the base of the squeezing process where the density is left unchanged. Changing base height moves the ground up and down.
Density is then given a height bias and a base height. Height bias "squeezes" the blocks. Base height is the base of the squeezing process where the density is left unchanged. Changing base height moves the ground up and down.
* In the Overworld, there is a single pair of height bias and base height, meaning the higher the block is, the less density it has and vice versa. Height bias and base height are both configured by a couple of different noises. Notably, [[Minecraft:amplified]] worlds are generated by tuning height bias to be lower than default, so that terrain stretch in the vertical direction more.
* In the Overworld, there is a single pair of height bias and base height, meaning the higher the block is, the less density it has and vice versa. Height bias and base height are both configured by a couple of different noises. Notably, amplified worlds are generated by tuning height bias to be lower than default, so that terrain stretch in the vertical direction more.
* In the Nether, there are two pairs of base heights that create the thick, solid ceiling and ground, and the hollow space between them.
* In the Nether, there are two pairs of base heights that create the thick, solid ceiling and ground, and the hollow space between them.
* In the End, these parameters are configured to squeeze the map into a big island located relatively at the bottom of the dimension.
* In the End, these parameters are configured to squeeze the map into a big island located relatively at the bottom of the dimension.
Line 563: Line 563:


=== Noise caves ===
=== Noise caves ===
{{main|Cave#Noise caves}}
{{MC/Main|Cave#Noise caves}}


[[File:Noise cave mechanism.jpg|thumb|The mechanics of noise cave generation.<ref>{{tweet|henrikkniberg|1364265702861987841|I get a lot of questions about how the new Minecraft noise caves work, and why we call them silly things like Cheese caves and Spaghetti caves. Here's an attempt to summarize it in a picture, hope it makes some kind of sense :)}}</ref>]]
[[File:Noise cave mechanism.jpg|thumb|The mechanics of noise cave generation.<ref>{{tweet|henrikkniberg|1364265702861987841|I get a lot of questions about how the new Minecraft noise caves work, and why we call them silly things like Cheese caves and Spaghetti caves. Here's an attempt to summarize it in a picture, hope it makes some kind of sense :)}}</ref>]]
Line 589: Line 589:
* Local fluid level: Picks a local liquid level and fills areas below with a liquid and areas above with air.
* Local fluid level: Picks a local liquid level and fills areas below with a liquid and areas above with air.


For positions above the preliminary surface, the aquifer state is "Flooded". In areas of erosion less than -0.22 and depth greater than 0.9 (only the [[Minecraft:deep dark]] in vanilla), the state is always "Empty". Otherwise the state is determined bases on a noise. Values below 0.4 are "Empty", values above 0.8 are "Flooded", otherwise a local fluid level is used.  
For positions above the preliminary surface, the aquifer state is "Flooded". In areas of erosion less than -0.22 and depth greater than 0.9 (only the deep dark in vanilla), the state is always "Empty". Otherwise the state is determined bases on a noise. Values below 0.4 are "Empty", values above 0.8 are "Flooded", otherwise a local fluid level is used.  


In positions near areas where the preliminary surface is below the sea-level the area of the "Flooded" aquifer state reaches slightly below the preliminary surface. In these areas the cutoff values for the noise are linearly decreased from 64 blocks below the preliminary surface upward. At the surface they are below -0.8 for "Empty" and above -0.3 for "Flooded". This causes the "Flooded" state to be much more common directly below rivers and oceans.
In positions near areas where the preliminary surface is below the sea-level the area of the "Flooded" aquifer state reaches slightly below the preliminary surface. In these areas the cutoff values for the noise are linearly decreased from 64 blocks below the preliminary surface upward. At the surface they are below -0.8 for "Empty" and above -0.3 for "Flooded". This causes the "Flooded" state to be much more common directly below rivers and oceans.
Line 600: Line 600:
[[File:Excavated_Copper_Vein.png|thumb|right|A fully exposed copper ore vein]]
[[File:Excavated_Copper_Vein.png|thumb|right|A fully exposed copper ore vein]]


[[Minecraft:Ore veins]] generate only in the Overworld. Three noises are used for vein generation: toggle, ridge, and gap.
Ore veins generate only in the Overworld. Three noises are used for vein generation: toggle, ridge, and gap.


Toggle is always 0 outside Y=-60 to Y=51 and can be negative or positive inside the range. The game attempts to generate an iron or a copper vein depending on whether toggle is < 0 or > 0. The attempts might fail because veins have a configured generating height.
Toggle is always 0 outside Y=-60 to Y=51 and can be negative or positive inside the range. The game attempts to generate an iron or a copper vein depending on whether toggle is < 0 or > 0. The attempts might fail because veins have a configured generating height.
Line 608: Line 608:
Gap determines the ratio of ore-to-filler material, between 10% and 30% for any given vein. For non-filler blocks, 98% generate as normal ore blocks, while 2% are generated as raw ore blocks ([[Minecraft:Block of Raw Copper]] and [[Minecraft:Block of Raw Iron]], respectively).
Gap determines the ratio of ore-to-filler material, between 10% and 30% for any given vein. For non-filler blocks, 98% generate as normal ore blocks, while 2% are generated as raw ore blocks ([[Minecraft:Block of Raw Copper]] and [[Minecraft:Block of Raw Iron]], respectively).


The blocks used in vein generation are {{w|Hard_coding|hardcoded}}, though their size can be changed with datapacks.
The blocks used in vein generation are {{MC/W|Hard_coding|hardcoded}}, though their size can be changed with datapacks.


== Surface ==
== Surface ==
{{For|customization of surface {{in|JE}}|Surface rule}}
{{For|customization of surface {{MC/In|JE}}|Surface rule}}
[[File:World generation surface.jpg|thumb|The Overworld after the "surface" step.]]
[[File:World generation surface.jpg|thumb|The Overworld after the "surface" step.]]


Line 623: Line 623:
|-
|-
| colspan=5 | Gradient Y=-64 &rarr; Y=-59
| colspan=5 | Gradient Y=-64 &rarr; Y=-59
| {{BlockLink|Bedrock}}
| {{MC/Blocklink|Bedrock}}
|-
|-
| rowspan="90" | Surface<ref group="s">Above preliminary surface (aka. not in noise caves)</ref>
| rowspan="90" | Surface<ref group="s">Above preliminary surface (aka. not in noise caves)</ref>
| rowspan=5 | Floor<ref group="s" name="floor-0">Only the top layer of the floor surface</ref>
| rowspan=5 | Floor<ref group="s" name="floor-0">Only the top layer of the floor surface</ref>
| rowspan=3 | {{BiomeLink|Wooded Badlands}}
| rowspan=3 | {{MC/Biomelink|Wooded Badlands}}
| rowspan=3 | Above Y=97
| rowspan=3 | Above Y=97
| Noise<ref group="s" name="surface-noise-1">Surface noise within -0.909~-0.5454, -0.1818~0.1818, or 0.5454~0.909</ref>
| Noise<ref group="s" name="surface-noise-1">Surface noise within -0.909~-0.5454, -0.1818~0.1818, or 0.5454~0.909</ref>
| {{BlockLink|Coarse Dirt}}
| {{MC/Blocklink|Coarse Dirt}}
|-
|-
| No water above
| No water above
| {{BlockLink|Grass Block}}
| {{MC/Blocklink|Grass Block}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Dirt}}
| {{MC/Blocklink|Dirt}}
|-
|-
| {{BiomeLink|Swamp}}
| {{MC/Biomelink|Swamp}}
| At Y=63
| At Y=63
| rowspan=2 | Noise<ref group="s">Swamp surface noise &ge; 0</ref>
| rowspan=2 | Noise<ref group="s">Swamp surface noise &ge; 0</ref>
| rowspan=2 | {{BlockLink|Water}}
| rowspan=2 | {{MC/Blocklink|Water}}
|-
|-
| {{BiomeLink|Mangrove Swamp}}
| {{MC/Biomelink|Mangrove Swamp}}
| Between Y=61 and Y=63
| Between Y=61 and Y=63
|-
|-
| rowspan=12 | {{BiomeLink|Badlands}}<br>{{BiomeLink|Eroded Badlands}}<br>{{BiomeLink|Wooded Badlands}}
| rowspan=12 | {{MC/Biomelink|Badlands}}<br>{{MC/Biomelink|Eroded Badlands}}<br>{{MC/Biomelink|Wooded Badlands}}
| rowspan=9 | Floor<ref group="s" name="floor-0" />
| rowspan=9 | Floor<ref group="s" name="floor-0" />
| colspan=2 | Above Y=256
| colspan=2 | Above Y=256
| {{BlockLink|Orange Terracotta}}
| {{MC/Blocklink|Orange Terracotta}}
|-
|-
| rowspan=2 | Above Y=74
| rowspan=2 | Above Y=74
| Noise<ref group="s" name="surface-noise-1" />
| Noise<ref group="s" name="surface-noise-1" />
| {{BlockLink|Terracotta}}
| {{MC/Blocklink|Terracotta}}
|-
|-
| Otherwise
| Otherwise
| {{EnvLink|Hoodoo}}<ref group="s" name="hoodoo">Special hardcoded rule that places the bands of terracotta</ref>
| {{MC/EnvLink|Hoodoo}}<ref group="s" name="hoodoo">Special hardcoded rule that places the bands of terracotta</ref>
|-
|-
| rowspan=2 | Water no deeper than 1
| rowspan=2 | Water no deeper than 1
| Ceiling<ref group="s" name="ceiling-0">Only the top layer of the ceiling surface</ref>
| Ceiling<ref group="s" name="ceiling-0">Only the top layer of the ceiling surface</ref>
| {{BlockLink|Red Sandstone}}
| {{MC/Blocklink|Red Sandstone}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Red Sand}}
| {{MC/Blocklink|Red Sand}}
|-
|-
| colspan=2 | Erosion<ref group="s" name="hole">A hole in the terrain, where the surface noise is 0</ref>
| colspan=2 | Erosion<ref group="s" name="hole">A hole in the terrain, where the surface noise is 0</ref>
| {{BlockLink|Orange Terracotta}}
| {{MC/Blocklink|Orange Terracotta}}
|-
|-
| colspan=2 | Water{{Info needed}}
| colspan=2 | Water{{MC/Info needed}}
| {{BlockLink|White Terracotta}}
| {{MC/Blocklink|White Terracotta}}
|-
|-
| colspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| colspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Gravel}}
| {{MC/Blocklink|Gravel}}
|-
|-
| rowspan=2 | Surface is above Y=63
| rowspan=2 | Surface is above Y=63
| colspan=2 | Above Y=63 and surface is below Y=74
| colspan=2 | Above Y=63 and surface is below Y=74
| {{BlockLink|Orange Terracotta}}
| {{MC/Blocklink|Orange Terracotta}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{EnvLink|Hoodoo}}<ref group="s" name="hoodoo" />
| {{MC/EnvLink|Hoodoo}}<ref group="s" name="hoodoo" />
|-
|-
| Floor<ref group="s" name="floor-0" />
| Floor<ref group="s" name="floor-0" />
| colspan=2 | Water no deeper than 6 blocks
| colspan=2 | Water no deeper than 6 blocks
| {{BlockLink|White Terracotta}}
| {{MC/Blocklink|White Terracotta}}
|-
|-
| rowspan=38 | Floor<ref group="s" name="floor-0" /> and water<br>no deeper than 1
| rowspan=38 | Floor<ref group="s" name="floor-0" /> and water<br>no deeper than 1
| rowspan=3 | {{BiomeLink|Frozen Ocean}}<br>{{BiomeLink|Deep Frozen Ocean}}
| rowspan=3 | {{MC/Biomelink|Frozen Ocean}}<br>{{MC/Biomelink|Deep Frozen Ocean}}
| rowspan=3 | Erosion<ref group="s" name="hole" />
| rowspan=3 | Erosion<ref group="s" name="hole" />
| No water above
| No water above
| {{BlockLink|Air}}
| {{MC/Blocklink|Air}}
|-
|-
| Cold<ref group="s">Whether it is cold enough to snow here</ref>
| Cold<ref group="s">Whether it is cold enough to snow here</ref>
| {{BlockLink|Ice}}
| {{MC/Blocklink|Ice}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Water}}
| {{MC/Blocklink|Water}}
|-
|-
| rowspan=3 | {{BiomeLink|Frozen Peaks}}
| rowspan=3 | {{MC/Biomelink|Frozen Peaks}}
| colspan=2 | Steep face<ref group="s" name="steep">The vertical gradient of the north and south side is greater than 2</ref> or noise<ref group="s">Packed ice noise within 0~0.2</ref>
| colspan=2 | Steep face<ref group="s" name="steep">The vertical gradient of the north and south side is greater than 2</ref> or noise<ref group="s">Packed ice noise within 0~0.2</ref>
| {{BlockLink|Packed Ice}}
| {{MC/Blocklink|Packed Ice}}
|-
|-
| colspan=2 | Ice noise within 0~0.025
| colspan=2 | Ice noise within 0~0.025
| {{BlockLink|Ice}}
| {{MC/Blocklink|Ice}}
|-
|-
| colspan=2 | No water above
| colspan=2 | No water above
| {{BlockLink|Snow Block}}
| {{MC/Blocklink|Snow Block}}
|-
|-
| rowspan=3 | {{BiomeLink|Snowy Slopes}}
| rowspan=3 | {{MC/Biomelink|Snowy Slopes}}
| colspan=2 | Steep face<ref group="s" name="steep" />
| colspan=2 | Steep face<ref group="s" name="steep" />
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| Noise<ref group="s" name="powder-snow-noise">Powder snow noise within 0.35~0.6</ref>
| Noise<ref group="s" name="powder-snow-noise">Powder snow noise within 0.35~0.6</ref>
| No water above
| No water above
| {{BlockLink|Powder Snow}}
| {{MC/Blocklink|Powder Snow}}
|-
|-
| colspan=2 | No water above
| colspan=2 | No water above
| {{BlockLink|Snow Block}}
| {{MC/Blocklink|Snow Block}}
|-
|-
| rowspan=2 | {{BiomeLink|Jagged Peaks}}
| rowspan=2 | {{MC/Biomelink|Jagged Peaks}}
| colspan=2 | Steep face<ref group="s" name="steep" />
| colspan=2 | Steep face<ref group="s" name="steep" />
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| colspan=2 | No water above
| colspan=2 | No water above
| {{BlockLink|Snow Block}}
| {{MC/Blocklink|Snow Block}}
|-
|-
| rowspan=2 | {{BiomeLink|Grove}}
| rowspan=2 | {{MC/Biomelink|Grove}}
| Noise<ref group="s" name="powder-snow-noise" />
| Noise<ref group="s" name="powder-snow-noise" />
| No water above
| No water above
| {{BlockLink|Powder Snow}}
| {{MC/Blocklink|Powder Snow}}
|-
|-
| colspan=2 | No water above
| colspan=2 | No water above
| {{BlockLink|Snow Block}}
| {{MC/Blocklink|Snow Block}}
|-
|-
| rowspan=2 | {{BiomeLink|Stony Peaks}}
| rowspan=2 | {{MC/Biomelink|Stony Peaks}}
| colspan=2 | Calcite noise within -0.0125~0.0125
| colspan=2 | Calcite noise within -0.0125~0.0125
| {{BlockLink|Calcite}}
| {{MC/Blocklink|Calcite}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=3 | {{BiomeLink|Stony Shore}}
| rowspan=3 | {{MC/Biomelink|Stony Shore}}
| rowspan=2 | Noise<ref group="s" name="gravel-noise">Gravel noise within -0.05~0.05</ref>
| rowspan=2 | Noise<ref group="s" name="gravel-noise">Gravel noise within -0.05~0.05</ref>
| Ceiling<ref group="s" name="ceiling-0" />
| Ceiling<ref group="s" name="ceiling-0" />
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Gravel}}
| {{MC/Blocklink|Gravel}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| {{BiomeLink|Windswept Hills}}
| {{MC/Biomelink|Windswept Hills}}
| colspan=2 | Surface noise &ge; 4/33
| colspan=2 | Surface noise &ge; 4/33
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=2 | {{BiomeLink|Warm Ocean}}<br>{{BiomeLink|Beach}}<br>{{BiomeLink|Snowy Beach}}<br>{{BiomeLink|Desert}}
| rowspan=2 | {{MC/Biomelink|Warm Ocean}}<br>{{MC/Biomelink|Beach}}<br>{{MC/Biomelink|Snowy Beach}}<br>{{MC/Biomelink|Desert}}
| colspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| colspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| {{BlockLink|Sandstone}}
| {{MC/Blocklink|Sandstone}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Sand}}
| {{MC/Blocklink|Sand}}
|-
|-
| colspan=3 | {{BiomeLink|Dripstone Caves}}
| colspan=3 | {{MC/Biomelink|Dripstone Caves}}
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=2 | {{BiomeLink|Windswept Savanna}}
| rowspan=2 | {{MC/Biomelink|Windswept Savanna}}
| colspan=2 | Surface noise &ge; 7/33
| colspan=2 | Surface noise &ge; 7/33
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| colspan=2 | Surface noise &ge; -2/33
| colspan=2 | Surface noise &ge; -2/33
| {{BlockLink|Coarse Dirt}}
| {{MC/Blocklink|Coarse Dirt}}
|-
|-
| rowspan=7 | {{BiomeLink|Windswept Gravelly Hills}}
| rowspan=7 | {{MC/Biomelink|Windswept Gravelly Hills}}
| rowspan=2 | Surface noise &ge; 8/33
| rowspan=2 | Surface noise &ge; 8/33
| Ceiling
| Ceiling
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Gravel}}
| {{MC/Blocklink|Gravel}}
|-
|-
| colspan=2 | Surface noise &ge; 4/33
| colspan=2 | Surface noise &ge; 4/33
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=2 | Surface noise &ge; -4/33
| rowspan=2 | Surface noise &ge; -4/33
| No water above
| No water above
| {{BlockLink|Grass Block}}
| {{MC/Blocklink|Grass Block}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Dirt}}
| {{MC/Blocklink|Dirt}}
|-
|-
| colspan=2 | Ceiling
| colspan=2 | Ceiling
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Gravel}}
| {{MC/Blocklink|Gravel}}
|-
|-
| rowspan=2 | {{BiomeLink|Old Growth Pine Taiga}}<br>{{BiomeLink|Old Growth Spruce Taiga}}
| rowspan=2 | {{MC/Biomelink|Old Growth Pine Taiga}}<br>{{MC/Biomelink|Old Growth Spruce Taiga}}
| colspan=2 | Surface noise &ge; 7/33
| colspan=2 | Surface noise &ge; 7/33
| {{BlockLink|Coarse Dirt}}
| {{MC/Blocklink|Coarse Dirt}}
|-
|-
| colspan=2 | Surface noise &ge; 19/165
| colspan=2 | Surface noise &ge; 19/165
| {{BlockLink|Podzol}}
| {{MC/Blocklink|Podzol}}
|-
|-
| {{BiomeLink|Ice Spikes}}
| {{MC/Biomelink|Ice Spikes}}
| colspan=2 | No water above
| colspan=2 | No water above
| {{BlockLink|Snow Block}}
| {{MC/Blocklink|Snow Block}}
|-
|-
| colspan=3 | {{BiomeLink|Mangrove Swamp}}
| colspan=3 | {{MC/Biomelink|Mangrove Swamp}}
| {{BlockLink|Mud}}
| {{MC/Blocklink|Mud}}
|-
|-
| colspan=3 | {{BiomeLink|Mushroom Fields}}
| colspan=3 | {{MC/Biomelink|Mushroom Fields}}
| {{BlockLink|Mycelium}}
| {{MC/Blocklink|Mycelium}}
|-
|-
| colspan=3 | No water above
| colspan=3 | No water above
| {{BlockLink|Grass Block}}
| {{MC/Blocklink|Grass Block}}
|-
|-
| colspan=3 | Otherwise
| colspan=3 | Otherwise
| {{BlockLink|Dirt}}
| {{MC/Blocklink|Dirt}}
|-
|-
| Floor<ref group="s" name="floor-0" /> and<br>water no deeper than 6
| Floor<ref group="s" name="floor-0" /> and<br>water no deeper than 6
| {{BiomeLink|Frozen Ocean}}<br>{{BiomeLink|Deep Frozen Ocean}}
| {{MC/Biomelink|Frozen Ocean}}<br>{{MC/Biomelink|Deep Frozen Ocean}}
| colspan=2 | Erosion<ref group="s" name="hole" />
| colspan=2 | Erosion<ref group="s" name="hole" />
| {{BlockLink|Water}}
| {{MC/Blocklink|Water}}
|-
|-
| rowspan=27 | Floor with depth<ref group="s" name="floor-depth">The top few layers of the floor surface</ref> and<br>water no deeper than 6
| rowspan=27 | Floor with depth<ref group="s" name="floor-depth">The top few layers of the floor surface</ref> and<br>water no deeper than 6
| rowspan=3 | {{BiomeLink|Frozen Peaks}}
| rowspan=3 | {{MC/Biomelink|Frozen Peaks}}
| colspan=2 | Steep face<ref group="s" name="steep" /> or noise<ref group="s">Packed ice noise within -0.5~0.2</ref>
| colspan=2 | Steep face<ref group="s" name="steep" /> or noise<ref group="s">Packed ice noise within -0.5~0.2</ref>
| {{BlockLink|Packed ice}}
| {{MC/Blocklink|Packed ice}}
|-
|-
| colspan=2 | Ice noise within -0.0625~0.025
| colspan=2 | Ice noise within -0.0625~0.025
| {{BlockLink|Ice}}
| {{MC/Blocklink|Ice}}
|-
|-
| colspan=2 | No water above
| colspan=2 | No water above
| {{BlockLink|Snow Block}}
| {{MC/Blocklink|Snow Block}}
|-
|-
| rowspan=3 | {{BiomeLink|Snowy Slopes}}
| rowspan=3 | {{MC/Biomelink|Snowy Slopes}}
| colspan=2 | Steep face<ref group="s" name="steep" />
| colspan=2 | Steep face<ref group="s" name="steep" />
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| Noise<ref group="s" name="powder-snow-noise-2">Powder snow noise within 0.45~0.58</ref>
| Noise<ref group="s" name="powder-snow-noise-2">Powder snow noise within 0.45~0.58</ref>
| No water above
| No water above
| {{BlockLink|Powder Snow}}
| {{MC/Blocklink|Powder Snow}}
|-
|-
| colspan=2 | No water above
| colspan=2 | No water above
| {{BlockLink|Snow Block}}
| {{MC/Blocklink|Snow Block}}
|-
|-
| colspan=3 | {{BiomeLink|Jagged Peaks}}
| colspan=3 | {{MC/Biomelink|Jagged Peaks}}
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=2 | {{BiomeLink|Grove}}
| rowspan=2 | {{MC/Biomelink|Grove}}
| Noise<ref group="s" name="powder-snow-noise-2" />
| Noise<ref group="s" name="powder-snow-noise-2" />
| Above water
| Above water
| {{BlockLink|Powder Snow}}
| {{MC/Blocklink|Powder Snow}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Dirt}}
| {{MC/Blocklink|Dirt}}
|-
|-
| rowspan=2 | {{BiomeLink|Stony Peaks}}
| rowspan=2 | {{MC/Biomelink|Stony Peaks}}
| colspan=2 | Calcite noise within -0.0125~0.0125
| colspan=2 | Calcite noise within -0.0125~0.0125
| {{BlockLink|Calcite}}
| {{MC/Blocklink|Calcite}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=3 | {{BiomeLink|Stony Shore}}
| rowspan=3 | {{MC/Biomelink|Stony Shore}}
| rowspan=2 | Noise<ref group="s" name="gravel-noise">Gravel noise within -0.05~0.05</ref>
| rowspan=2 | Noise<ref group="s" name="gravel-noise">Gravel noise within -0.05~0.05</ref>
| Ceiling<ref group="s" name="ceiling-0" />
| Ceiling<ref group="s" name="ceiling-0" />
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Gravel}}
| {{MC/Blocklink|Gravel}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| {{BiomeLink|Windswept Hills}}
| {{MC/Biomelink|Windswept Hills}}
| colspan=2 | Surface noise &ge; 4/33
| colspan=2 | Surface noise &ge; 4/33
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=2 | {{BiomeLink|Warm Ocean}}<br>{{BiomeLink|Beach}}<br>{{BiomeLink|Snowy Beach}}<br>{{BiomeLink|Desert}}
| rowspan=2 | {{MC/Biomelink|Warm Ocean}}<br>{{MC/Biomelink|Beach}}<br>{{MC/Biomelink|Snowy Beach}}<br>{{MC/Biomelink|Desert}}
| colspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| colspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| {{BlockLink|Sandstone}}
| {{MC/Blocklink|Sandstone}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Sand}}
| {{MC/Blocklink|Sand}}
|-
|-
| colspan=3 | {{BiomeLink|Dripstone Caves}}
| colspan=3 | {{MC/Biomelink|Dripstone Caves}}
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| {{BiomeLink|Windswept Savanna}}
| {{MC/Biomelink|Windswept Savanna}}
| colspan=2 | Surface noise &ge; 7/33
| colspan=2 | Surface noise &ge; 7/33
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| rowspan=6 | {{BiomeLink|Windswept Gravelly Hills}}
| rowspan=6 | {{MC/Biomelink|Windswept Gravelly Hills}}
| rowspan=2 | Surface noise &ge; 8/33
| rowspan=2 | Surface noise &ge; 8/33
| Ceiling
| Ceiling
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Gravel}}
| {{MC/Blocklink|Gravel}}
|-
|-
| colspan=2 | Surface noise &ge; 4/33
| colspan=2 | Surface noise &ge; 4/33
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| colspan=2 | Surface noise &ge; -4/33
| colspan=2 | Surface noise &ge; -4/33
| {{BlockLink|Dirt}}
| {{MC/Blocklink|Dirt}}
|-
|-
| colspan=2 | Ceiling
| colspan=2 | Ceiling
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Gravel}}
| {{MC/Blocklink|Gravel}}
|-
|-
| colspan=3 | {{BiomeLink|Mangrove Swamp}}
| colspan=3 | {{MC/Biomelink|Mangrove Swamp}}
| {{BlockLink|Mud}}
| {{MC/Blocklink|Mud}}
|-
|-
| colspan=3 | Otherwise
| colspan=3 | Otherwise
| {{BlockLink|Dirt}}
| {{MC/Blocklink|Dirt}}
|-
|-
| {{BiomeLink|Warm Ocean}}<br>{{BiomeLink|Beach}}<br>{{BiomeLink|Snowy Beach}}
| {{MC/Biomelink|Warm Ocean}}<br>{{MC/Biomelink|Beach}}<br>{{MC/Biomelink|Snowy Beach}}
| colspan=3 | Floor with depth and secondary depth 6
| colspan=3 | Floor with depth and secondary depth 6
| rowspan=2 | {{BlockLink|Sandstone}}
| rowspan=2 | {{MC/Blocklink|Sandstone}}
|-
|-
| {{BiomeLink|Desert}}
| {{MC/Biomelink|Desert}}
| colspan=3 | Floor with depth and secondary depth 30
| colspan=3 | Floor with depth and secondary depth 30
|-
|-
| rowspan=5 | Floor<ref name="floor-0" group="s" />
| rowspan=5 | Floor<ref name="floor-0" group="s" />
| colspan=3 | {{BiomeLink|Frozen Peaks}}<br>{{BiomeLink|Jagged Peaks}}
| colspan=3 | {{MC/Biomelink|Frozen Peaks}}<br>{{MC/Biomelink|Jagged Peaks}}
|{{BlockLink|Stone}}
|{{MC/Blocklink|Stone}}
|-
|-
| rowspan=2 | {{BiomeLink|Warm Ocean}}<br>{{BiomeLink|Lukewarm Ocean}}<br>{{BiomeLink|Deep Lukewarm Ocean}}
| rowspan=2 | {{MC/Biomelink|Warm Ocean}}<br>{{MC/Biomelink|Lukewarm Ocean}}<br>{{MC/Biomelink|Deep Lukewarm Ocean}}
| colspan=2 | Ceiling
| colspan=2 | Ceiling
|{{BlockLink|Sandstone}}
|{{MC/Blocklink|Sandstone}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
|{{BlockLink|Sand}}
|{{MC/Blocklink|Sand}}
|-
|-
| colspan=3 | Ceiling
| colspan=3 | Ceiling
|{{BlockLink|Stone}}
|{{MC/Blocklink|Stone}}
|-
|-
| colspan=3 | Otherwise
| colspan=3 | Otherwise
|{{BlockLink|Gravel}}
|{{MC/Blocklink|Gravel}}
|-
|-
| colspan=5 | Below Y=0 and gradient Y=0 &rarr; Y=8
| colspan=5 | Below Y=0 and gradient Y=0 &rarr; Y=8
| {{BlockLink|Deepslate}}
| {{MC/Blocklink|Deepslate}}
|-
|-
| colspan=5 | Otherwise
| colspan=5 | Otherwise
| {{BlockLink|Stone}}
| {{MC/Blocklink|Stone}}
|}
|}


Line 961: Line 961:
|-
|-
| colspan=5 | Gradient Y=0 &rarr; Y=5
| colspan=5 | Gradient Y=0 &rarr; Y=5
| rowspan=2 | {{BlockLink|Bedrock}}
| rowspan=2 | {{MC/Blocklink|Bedrock}}
|-
|-
| colspan=5 | Gradient Y=127 &rarr; Y=122
| colspan=5 | Gradient Y=127 &rarr; Y=122
|-
|-
| colspan=5 | Above Y=122
| colspan=5 | Above Y=122
| {{BlockLink|Netherrack}}
| {{MC/Blocklink|Netherrack}}
|-
|-
| rowspan=4 | {{BiomeLink|Basalt Deltas}}
| rowspan=4 | {{MC/Biomelink|Basalt Deltas}}
| colspan=4 | Ceiling<ref group="s" name="ceiling-0" />
| colspan=4 | Ceiling<ref group="s" name="ceiling-0" />
| {{BlockLink|Basalt}}
| {{MC/Blocklink|Basalt}}
|-
|-
| rowspan=2 | Floor<ref group="s" name="floor-0" />
| rowspan=2 | Floor<ref group="s" name="floor-0" />
| Patch noise &ge; -0.012
| Patch noise &ge; -0.012
| colspan=2 | Surface between Y=30 and Y=35
| colspan=2 | Surface between Y=30 and Y=35
| rowspan=2 | {{BlockLink|Gravel}}
| rowspan=2 | {{MC/Blocklink|Gravel}}
|-
|-
| colspan=3 | Nether noise &ge; 0
| colspan=3 | Nether noise &ge; 0
|-
|-
| colspan=4 | Otherwise
| colspan=4 | Otherwise
| {{BlockLink|Blackstone}}
| {{MC/Blocklink|Blackstone}}
|-
|-
| rowspan=5 | {{BiomeLink|Soul Sand Valley}}
| rowspan=5 | {{MC/Biomelink|Soul Sand Valley}}
| rowspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| rowspan=2 | Ceiling<ref group="s" name="ceiling-0" />
| colspan=3 | Nether noise &ge; 0
| colspan=3 | Nether noise &ge; 0
| {{BlockLink|Soul Sand}}
| {{MC/Blocklink|Soul Sand}}
|-
|-
| colspan=3 | Otherwise
| colspan=3 | Otherwise
| {{BlockLink|Soul Soil}}
| {{MC/Blocklink|Soul Soil}}
|-
|-
| rowspan=3 | Floor<ref group="s" name="floor-0" />
| rowspan=3 | Floor<ref group="s" name="floor-0" />
| Patch noise &ge; -0.012
| Patch noise &ge; -0.012
| colspan=2 | Surface between Y=30 and Y=35
| colspan=2 | Surface between Y=30 and Y=35
| {{BlockLink|Soul Sand}}
| {{MC/Blocklink|Soul Sand}}
|-
|-
| colspan=3 | Nether noise &ge; 0
| colspan=3 | Nether noise &ge; 0
| {{BlockLink|Soul Sand}}
| {{MC/Blocklink|Soul Sand}}
|-
|-
| colspan=3 | Otherwise
| colspan=3 | Otherwise
| {{BlockLink|Soul Soil}}
| {{MC/Blocklink|Soul Soil}}
|-
|-
| rowspan=5 | Floor<ref group="s" name="floor-0" />
| rowspan=5 | Floor<ref group="s" name="floor-0" />
| Below Y=33
| Below Y=33
| colspan=3 | Erosion<ref group="s" name="hole" />
| colspan=3 | Erosion<ref group="s" name="hole" />
| {{BlockLink|Lava}}
| {{MC/Blocklink|Lava}}
|-
|-
| rowspan=2 | {{BiomeLink|Warped Forest}}
| rowspan=2 | {{MC/Biomelink|Warped Forest}}
| rowspan=2 | Netherack noise &ge; 0.54
| rowspan=2 | Netherack noise &ge; 0.54
| rowspan=2 | Above Y=31
| rowspan=2 | Above Y=31
| Nether wart noise &ge; 1.17
| Nether wart noise &ge; 1.17
| {{BlockLink|Warped Wart Block}}
| {{MC/Blocklink|Warped Wart Block}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Warped Nylium}}
| {{MC/Blocklink|Warped Nylium}}
|-
|-
| rowspan=2 | {{BiomeLink|Crimson Forest}}
| rowspan=2 | {{MC/Biomelink|Crimson Forest}}
| rowspan=2 | Netherack noise &ge; 0.54
| rowspan=2 | Netherack noise &ge; 0.54
| rowspan=2 | Above Y=31
| rowspan=2 | Above Y=31
| Nether wart noise &ge; 1.17
| Nether wart noise &ge; 1.17
| {{BlockLink|Nether Wart Block}}
| {{MC/Blocklink|Nether Wart Block}}
|-
|-
| Otherwise
| Otherwise
| {{BlockLink|Crimson Nylium}}
| {{MC/Blocklink|Crimson Nylium}}
|-
|-
| rowspan=4 | {{BiomeLink|Nether Wastes}}
| rowspan=4 | {{MC/Biomelink|Nether Wastes}}
| rowspan=2 | Floor with depth<ref group="s" name="floor-depth" />
| rowspan=2 | Floor with depth<ref group="s" name="floor-depth" />
| rowspan=2 | Soul sand noise &ge; -0.012
| rowspan=2 | Soul sand noise &ge; -0.012
| Not erosion<ref group="s" name="hole" />
| Not erosion<ref group="s" name="hole" />
| Surface between Y=30 and Y=35
| Surface between Y=30 and Y=35
| {{BlockLink|Soul Sand}}
| {{MC/Blocklink|Soul Sand}}
|-
|-
| colspan=2 | Otherwise
| colspan=2 | Otherwise
| {{BlockLink|Netherrack}}
| {{MC/Blocklink|Netherrack}}
|-
|-
| rowspan=2 | Floor<ref group="s" name="floor-0" />
| rowspan=2 | Floor<ref group="s" name="floor-0" />
Line 1,038: Line 1,038:
| rowspan=2 | Gravel layer noise &ge; -0.012
| rowspan=2 | Gravel layer noise &ge; -0.012
| Above Y=32
| Above Y=32
| rowspan=2 | {{BlockLink|Gravel}}
| rowspan=2 | {{MC/Blocklink|Gravel}}
|-
|-
| Not erosion<ref group="s" name="hole" />
| Not erosion<ref group="s" name="hole" />
|-
|-
| colspan=5 | Otherwise
| colspan=5 | Otherwise
| {{BlockLink|Netherrack}}
| {{MC/Blocklink|Netherrack}}
|}
|}


Line 1,054: Line 1,054:
|-
|-
| colspan=5 | Always
| colspan=5 | Always
| {{BlockLink|End Stone}}
| {{MC/Blocklink|End Stone}}
|}
|}


{{reflist|group=s}}
{{MC/Reflist|group=s}}


== Carvers ==
== Carvers ==
{{For|customization of carvers {{in|JE}}|carver definition}}
{{For|customization of carvers {{MC/In|JE}}|carver definition}}
[[File:World generation carvers.jpg|thumb|The Overworld after the "carvers" step.]]
[[File:World generation carvers.jpg|thumb|The Overworld after the "carvers" step.]]


Carvers include carver [[Minecraft:Cave#Carver caves|caves]] and carver [[Minecraft:canyon]]s. As the name suggest, they "carve" through the ground.
Carvers include carver [[Minecraft:Cave#Carver caves|caves]] and carver canyons. As the name suggest, they "carve" through the ground.


Carver caves and carver canyons are configured to have different probability to be generated in each chunk. If the carver generates, it carves through the ground in random directions starting at the configured start Y level:
Carver caves and carver canyons are configured to have different probability to be generated in each chunk. If the carver generates, it carves through the ground in random directions starting at the configured start Y level:
Line 1,072: Line 1,072:
<gallery>
<gallery>
Carver cave with room.png|A carver cave in the Overworld with a main room.
Carver cave with room.png|A carver cave in the Overworld with a main room.
ATB soul-sand 1.jpg|{{BiomeLink|Soul Sand Valley}} with a Nether carver cave.
ATB soul-sand 1.jpg|{{MC/Biomelink|Soul Sand Valley}} with a Nether carver cave.
Canyon.png|A canyon in the Overworld.
Canyon.png|A canyon in the Overworld.
</gallery>
</gallery>


== Structures ==
== Structures ==
{{Main|Structure}}
{{MC/Main|Structure}}
{{For|the customization of structures {{in|JE}}|Structure/JSON format|Structure set|Template pool|Processor list}}
{{For|the customization of structures {{MC/In|JE}}|Structure/JSON format|Structure set|Template pool|Processor list}}


Structures are grouped into structure sets. A structure set determines the placement positions of the structures and places a structure at these positions based on the biome. If no structure matches the biome, then no structure is placed at a given position. The structure positions are usually calculated based on the '''spacing''', '''separation''', and '''frequency''' parameters of the structure set. '''Spacing''' determines the average distance between structure placement position in chunks, and '''separation''' determines the minimum distance. '''Frequency''' controls the probability that a determined position is used. If the biome at the placement attempt does not match the requirement, the structure is not placed. An exception are [[Minecraft:stronghold]]s {{in|JE}}, which are placed as concentric rings, see [[Minecraft:Stronghold#Generation]].  
Structures are grouped into structure sets. A structure set determines the placement positions of the structures and places a structure at these positions based on the biome. If no structure matches the biome, then no structure is placed at a given position. The structure positions are usually calculated based on the '''spacing''', '''separation''', and '''frequency''' parameters of the structure set. '''Spacing''' determines the average distance between structure placement position in chunks, and '''separation''' determines the minimum distance. '''Frequency''' controls the probability that a determined position is used. If the biome at the placement attempt does not match the requirement, the structure is not placed. An exception are strongholds {{MC/In|JE}}, which are placed as concentric rings, see Stronghold.  


In the '''structures_starts''' generation step, the game determines if the chunk is suitable for a structure. If a structure is selected, the starting point of the structure and layout of the pieces is determined. In the '''structures_references''' generation step, every chunk near a chunk with a structure start stores a reference to that chunk. This allows finding the structure pieces that are inside each chunk. When a chunk is generating its decoration in the '''features''' step, the chunk is checked for a structure reference. If a structure reference is found, the stored pieces are placed in the world. (see [[#Features]]).  
In the '''structures_starts''' generation step, the game determines if the chunk is suitable for a structure. If a structure is selected, the starting point of the structure and layout of the pieces is determined. In the '''structures_references''' generation step, every chunk near a chunk with a structure start stores a reference to that chunk. This allows finding the structure pieces that are inside each chunk. When a chunk is generating its decoration in the '''features''' step, the chunk is checked for a structure reference. If a structure reference is found, the stored pieces are placed in the world. (see [[#Features]]).  


The following table gives the placement parameters for each structure set, as they are {{in|JE}}.
The following table gives the placement parameters for each structure set, as they are {{MC/In|JE}}.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
|-
|-
Line 1,099: Line 1,099:
| 8
| 8
| 100%
| 100%
| {{EnvLink|Ancient City}}
| {{MC/EnvLink|Ancient City}}
| 1
| 1
| {{BiomeLink|Deep dark}}
| {{MC/Biomelink|Deep dark}}
|-
|-
| Buried Treasures
| Buried Treasures
Line 1,107: Line 1,107:
| 0
| 0
| 1%
| 1%
| {{EnvLink|Buried Treasure}}
| {{MC/EnvLink|Buried Treasure}}
| 1
| 1
| {{BiomeLink|Beach}}, {{BiomeLink|Snowy Beach}}
| {{MC/Biomelink|Beach}}, {{MC/Biomelink|Snowy Beach}}
|-
|-
| Desert Pyramids
| Desert Pyramids
Line 1,115: Line 1,115:
| 8
| 8
| 100%
| 100%
| {{EnvLink|Desert Pyramid}}
| {{MC/EnvLink|Desert Pyramid}}
| 1
| 1
| {{BiomeLink|Desert}}
| {{MC/Biomelink|Desert}}
|-
|-
| End Cities
| End Cities
Line 1,123: Line 1,123:
| 11
| 11
| 100%
| 100%
| {{EnvLink|End City}}
| {{MC/EnvLink|End City}}
| 1
| 1
| {{BiomeLink|End Midlands}}, {{BiomeLink|End Highlands}}
| {{MC/Biomelink|End Midlands}}, {{MC/Biomelink|End Highlands}}
|-
|-
| Igloos
| Igloos
Line 1,131: Line 1,131:
| 8
| 8
| 100%
| 100%
| {{EnvLink|Igloo}}
| {{MC/EnvLink|Igloo}}
| 1
| 1
| {{BiomeLink|Snowy Taiga}}, {{BiomeLink|Snowy Plains}}, {{BiomeLink|Snowy Slopes}}
| {{MC/Biomelink|Snowy Taiga}}, {{MC/Biomelink|Snowy Plains}}, {{MC/Biomelink|Snowy Slopes}}
|-
|-
| Jungle Temples
| Jungle Temples
Line 1,139: Line 1,139:
| 8
| 8
| 100%
| 100%
| {{EnvLink|Jungle Pyramid}}
| {{MC/EnvLink|Jungle Pyramid}}
| 1
| 1
| {{BiomeLink|Jungle}}, {{BiomeLink|Bamboo Jungle}}
| {{MC/Biomelink|Jungle}}, {{MC/Biomelink|Bamboo Jungle}}
|-
|-
| rowspan="2" | Mineshafts
| rowspan="2" | Mineshafts
Line 1,147: Line 1,147:
| rowspan="2" | 0
| rowspan="2" | 0
| rowspan="2" | 0.4%
| rowspan="2" | 0.4%
| {{EnvLink|Mineshaft}}
| {{MC/EnvLink|Mineshaft}}
| 1
| 1
| many biomes (see {{tag link|biome|has_structure/mineshaft}})
| many biomes (see {{tag link|biome|has_structure/mineshaft}})
|-
|-
| {{EnvLink|id=badlands-mineshaft|Mineshaft|Badlands Mineshaft}}
| {{MC/EnvLink|id=badlands-mineshaft|Mineshaft|Badlands Mineshaft}}
| 1
| 1
| {{BiomeLink|Badlands}}, {{BiomeLink|Eroded Badlands}}, {{BiomeLink|Wooded Badlands}}
| {{MC/Biomelink|Badlands}}, {{MC/Biomelink|Eroded Badlands}}, {{MC/Biomelink|Wooded Badlands}}
|-
|-
| rowspan="2" | Nether Complexes
| rowspan="2" | Nether Complexes
Line 1,159: Line 1,159:
| rowspan="2" | 4  
| rowspan="2" | 4  
| rowspan="2" | 100%
| rowspan="2" | 100%
| {{EnvLink|Nether Fortress}}
| {{MC/EnvLink|Nether Fortress}}
| 2
| 2
| Any [[Minecraft:Nether]] biome
| Any Nether biome
|-
|-
| {{EnvLink|Bastion Remnant}}
| {{MC/EnvLink|Bastion Remnant}}
| 3
| 3
| {{BiomeLink|Crimson Forest}}, {{BiomeLink|Nether Wastes}}, {{BiomeLink|Soul Sand Valley}}, {{BiomeLink|Warped Forest}}
| {{MC/Biomelink|Crimson Forest}}, {{MC/Biomelink|Nether Wastes}}, {{MC/Biomelink|Soul Sand Valley}}, {{MC/Biomelink|Warped Forest}}
|-
|-
| Nether Fossils
| Nether Fossils
Line 1,171: Line 1,171:
| 1
| 1
| 100%
| 100%
| {{EnvLink|Nether Fossil}}
| {{MC/EnvLink|Nether Fossil}}
| 1
| 1
| {{BiomeLink|Soul Sand Valley}}
| {{MC/Biomelink|Soul Sand Valley}}
|-
|-
| Ocean Monuments
| Ocean Monuments
Line 1,179: Line 1,179:
| 5
| 5
| 100%
| 100%
| {{EnvLink|Ocean Monument}}
| {{MC/EnvLink|Ocean Monument}}
| 1
| 1
| Deep Oceans <ref group="st">Also requires surrounding to be river and ocean biomes only.</ref>
| Deep Oceans <ref group="st">Also requires surrounding to be river and ocean biomes only.</ref>
Line 1,187: Line 1,187:
| rowspan="2" | 8  
| rowspan="2" | 8  
| rowspan="2" | 100%
| rowspan="2" | 100%
| {{EnvLink|id=ocean-ruins|Cold Ocean Ruins}}
| {{MC/EnvLink|id=ocean-ruins|Cold Ocean Ruins}}
| 1
| 1
| {{BiomeLink|Frozen Ocean}}, {{BiomeLink|Frozen Ocean}}, {{BiomeLink|Cold Ocean}}, {{BiomeLink|Ocean}}, {{BiomeLink|Deep Frozen Ocean}}, {{BiomeLink|Deep Cold Ocean}}, {{BiomeLink|Deep Ocean}}
| {{MC/Biomelink|Frozen Ocean}}, {{MC/Biomelink|Frozen Ocean}}, {{MC/Biomelink|Cold Ocean}}, {{MC/Biomelink|Ocean}}, {{MC/Biomelink|Deep Frozen Ocean}}, {{MC/Biomelink|Deep Cold Ocean}}, {{MC/Biomelink|Deep Ocean}}
|-
|-
| {{EnvLink|id=ocean-ruins|Warm Ocean Ruins}}
| {{MC/EnvLink|id=ocean-ruins|Warm Ocean Ruins}}
| 1
| 1
| {{BiomeLink|Lukewarm Ocean}}, {{BiomeLink|Warm Ocean}}, {{BiomeLink|Deep Lukewarm Ocean}}
| {{MC/Biomelink|Lukewarm Ocean}}, {{MC/Biomelink|Warm Ocean}}, {{MC/Biomelink|Deep Lukewarm Ocean}}
|-
|-
| Pillager Outposts
| Pillager Outposts
Line 1,199: Line 1,199:
| 8
| 8
| 20% <ref group="st">Can't be placed within 10 chunks of any placement position of the "Villages" structure set.</ref>
| 20% <ref group="st">Can't be placed within 10 chunks of any placement position of the "Villages" structure set.</ref>
| {{EnvLink|Pillager Outpost}}
| {{MC/EnvLink|Pillager Outpost}}
| 1
| 1
| {{BiomeLink|Desert}}, {{BiomeLink|Plains}}, {{BiomeLink|Savanna}}, {{BiomeLink|Snowy Plains}}, {{BiomeLink|Taiga}}, {{BiomeLink|Grove}}, {{BiomeLink|Meadow}}, {{BiomeLink|Frozen Peaks}}, {{BiomeLink|Jagged Peaks}}, {{BiomeLink|Stony Peaks}}, {{BiomeLink|Snowy Slopes}}, {{BiomeLink|Cherry Grove}}
| {{MC/Biomelink|Desert}}, {{MC/Biomelink|Plains}}, {{MC/Biomelink|Savanna}}, {{MC/Biomelink|Snowy Plains}}, {{MC/Biomelink|Taiga}}, {{MC/Biomelink|Grove}}, {{MC/Biomelink|Meadow}}, {{MC/Biomelink|Frozen Peaks}}, {{MC/Biomelink|Jagged Peaks}}, {{MC/Biomelink|Stony Peaks}}, {{MC/Biomelink|Snowy Slopes}}, {{MC/Biomelink|Cherry Grove}}
|-
|-
| rowspan="7" | Ruined Portals
| rowspan="7" | Ruined Portals
Line 1,207: Line 1,207:
| rowspan="7" | 15  
| rowspan="7" | 15  
| rowspan="7" | 100%
| rowspan="7" | 100%
| {{EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Ruined Portal}}
| {{MC/EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Ruined Portal}}
| 1
| 1
| rowspan="6" | See [[Minecraft:Ruined Portal#Generation]]<br/>Together: All [[Minecraft:Overworld]] biomes
| rowspan="6" | See Ruined Portal<br/>Together: All [[Minecraft:Overworld]] biomes
|-
|-
| {{EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Desert Ruined Portal}}
| {{MC/EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Desert Ruined Portal}}
| 1
| 1
|-
|-
| {{EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Jungle Ruined Portal}}
| {{MC/EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Jungle Ruined Portal}}
| 1
| 1
|-
|-
| {{EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Swamp Ruined Portal}}
| {{MC/EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Swamp Ruined Portal}}
| 1
| 1
|-
|-
| {{EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Mountain Ruined Portal}}
| {{MC/EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Mountain Ruined Portal}}
| 1
| 1
|-
|-
| {{EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Ocean Ruined Portal}}
| {{MC/EnvLink|id=overworld-ruined-portal|link=Ruined Portal|Ocean Ruined Portal}}
| 1
| 1
|-
|-
| {{EnvLink|id=the-nether-ruined-portal|link=Ruined Portal|Nether Ruined Portal}}
| {{MC/EnvLink|id=the-nether-ruined-portal|link=Ruined Portal|Nether Ruined Portal}}
| 1
| 1
| All [[Minecraft:Nether]] biomes
| All Nether biomes
|-
|-
| rowspan="2" | Shipwrecks
| rowspan="2" | Shipwrecks
Line 1,234: Line 1,234:
| rowspan="2" | 4
| rowspan="2" | 4
| rowspan="2" | 100%
| rowspan="2" | 100%
| {{EnvLink|id=shipwreck|Shipwreck}}
| {{MC/EnvLink|id=shipwreck|Shipwreck}}
| 1
| 1
| Any ocean
| Any ocean
|-
|-
| {{EnvLink|id=shipwreck|link=Shipwreck|Beached Shipwreck}}
| {{MC/EnvLink|id=shipwreck|link=Shipwreck|Beached Shipwreck}}
| 1
| 1
| {{BiomeLink|Beach}}, {{BiomeLink|Snowy Beach}}
| {{MC/Biomelink|Beach}}, {{MC/Biomelink|Snowy Beach}}
|-
|-
| Strongholds
| Strongholds
| colspan="2" style="text-align: center" | N/A <ref group="st">Strongholds are placed using concentric rings, see [[Minecraft:Stronghold#Generation]].</ref>
| colspan="2" style="text-align: center" | N/A <ref group="st">Strongholds are placed using concentric rings, see Stronghold.</ref>
| 100%
| 100%
| {{EnvLink|Stronghold}}
| {{MC/EnvLink|Stronghold}}
| 1
| 1
| All [[Minecraft:Overworld]] biomes <ref group="st">The placement position is biased toward most land biomes, away from river and ocean biomes.{{info needed|How specifically?}}</ref>
| All [[Minecraft:Overworld]] biomes <ref group="st">The placement position is biased toward most land biomes, away from river and ocean biomes.{{MC/Info needed|How specifically?}}</ref>
|-
|-
| Swamp Huts
| Swamp Huts
Line 1,253: Line 1,253:
| 8
| 8
| 100%
| 100%
| {{EnvLink|Swamp Hut}}
| {{MC/EnvLink|Swamp Hut}}
| 1
| 1
| {{BiomeLink|Swamp}}
| {{MC/Biomelink|Swamp}}
|-
|-
| Trail Ruins
| Trail Ruins
Line 1,261: Line 1,261:
| 8
| 8
| 100%
| 100%
| {{EnvLink|Trail Ruins}}
| {{MC/EnvLink|Trail Ruins}}
| 1
| 1
| {{BiomeLink|Taiga}}, {{BiomeLink|Snowy Taiga}}, {{BiomeLink|Old Growth Pine Taiga}}, {{BiomeLink|Old Growth Spruce Taiga}}, {{BiomeLink|Old Growth Birch Forest}}, {{BiomeLink|Jungle}}
| {{MC/Biomelink|Taiga}}, {{MC/Biomelink|Snowy Taiga}}, {{MC/Biomelink|Old Growth Pine Taiga}}, {{MC/Biomelink|Old Growth Spruce Taiga}}, {{MC/Biomelink|Old Growth Birch Forest}}, {{MC/Biomelink|Jungle}}
|-
|-
| Trial Chambers
| Trial Chambers
Line 1,269: Line 1,269:
| 12
| 12
| 100%
| 100%
| {{EnvLink|Trial Chambers}}
| {{MC/EnvLink|Trial Chambers}}
| 1
| 1
| many biomes (see {{tag link|biome|has_structure/trial_chambers}})
| many biomes (see {{tag link|biome|has_structure/trial_chambers}})
Line 1,277: Line 1,277:
| rowspan="5" | 8
| rowspan="5" | 8
| rowspan="5" | 100%
| rowspan="5" | 100%
| {{EnvLink|link=Village|Plains Village}}
| {{MC/EnvLink|link=Village|Plains Village}}
| 1
| 1
| {{BiomeLink|Plains}}, {{BiomeLink|Meadow}}
| {{MC/Biomelink|Plains}}, {{MC/Biomelink|Meadow}}
|-
|-
| {{EnvLink|link=Village|Desert Village}}
| {{MC/EnvLink|link=Village|Desert Village}}
| 1
| 1
| {{BiomeLink|Desert}}
| {{MC/Biomelink|Desert}}
|-
|-
| {{EnvLink|link=Village|Savanna Village}}
| {{MC/EnvLink|link=Village|Savanna Village}}
| 1
| 1
| {{BiomeLink|Savanna}}
| {{MC/Biomelink|Savanna}}
|-
|-
| {{EnvLink|link=Village|Snowy Village}}
| {{MC/EnvLink|link=Village|Snowy Village}}
| 1
| 1
| {{BiomeLink|Snowy Plains}}
| {{MC/Biomelink|Snowy Plains}}
|-
|-
| {{EnvLink|link=Village|Taiga Village}}
| {{MC/EnvLink|link=Village|Taiga Village}}
| 1
| 1
| {{BiomeLink|Taiga}}
| {{MC/Biomelink|Taiga}}
|-
|-
| Woodland Mansions
| Woodland Mansions
Line 1,301: Line 1,301:
| 20
| 20
| 100%
| 100%
| {{EnvLink|Woodland Mansion}}
| {{MC/EnvLink|Woodland Mansion}}
| 1
| 1
| {{BiomeLink|Dark Forest}},{{BiomeLink|Pale Garden}}
| {{MC/Biomelink|Dark Forest}},{{MC/Biomelink|Pale Garden}}
|}
|}


{{reflist|group=st}}
{{MC/Reflist|group=st}}


== Features ==
== Features ==
[[File:World generation features.jpg|thumb|The Overworld after the "features" step.]]
[[File:World generation features.jpg|thumb|The Overworld after the "features" step.]]


{{Main|Feature}}
{{MC/Main|Feature}}
{{For|the customization of features {{in|JE}}|Configured feature|Placed feature}}
{{For|the customization of features {{MC/In|JE}}|Configured feature|Placed feature}}


The generation of features and placement of structure pieces (see [[#Structures]]) happens in the same step and are called '''decorations''' collectively. Each biome has a list of allowed features and structures that are possible to generate in them.
The generation of features and placement of structure pieces (see [[#Structures]]) happens in the same step and are called '''decorations''' collectively. Each biome has a list of allowed features and structures that are possible to generate in them.
Line 1,319: Line 1,319:
Features and structures generate in 11 steps after each other called '''decoration steps'''.
Features and structures generate in 11 steps after each other called '''decoration steps'''.


# {{cd|raw_generation}}: [[Minecraft:Small island|Small end islands]]
# {{MC/Cd|raw_generation}}: Small end islands
# {{cd|lakes}}: [[Minecraft:Lava lake]]s
# {{MC/Cd|lakes}}: Lava lakes
# {{cd|local_modifications}}: [[Minecraft:Amethyst geode]]s and [[Minecraft:iceberg]]s
# {{MC/Cd|local_modifications}}: Amethyst geodes and icebergs
# {{cd|underground_structures}}: Trial chambers, buried treasure, mineshafts, trail ruins, [[Minecraft:monster room]]s and [[Minecraft:fossil]]s
# {{MC/Cd|underground_structures}}: Trial chambers, buried treasure, mineshafts, trail ruins, monster rooms and [[Minecraft:fossil]]s
# {{cd|surface_structures}}: All other structures, [[Minecraft:desert well]]s and [[Minecraft:Blue Ice (feature)|blue ice patches]]
# {{MC/Cd|surface_structures}}: All other structures, desert wells and blue ice patches
# {{cd|strongholds}}: Unused, strongholds use the {{cd|surface_structures}} step
# {{MC/Cd|strongholds}}: Unused, strongholds use the {{MC/Cd|surface_structures}} step
# {{cd|underground_ores}}: [[Minecraft:Ore (feature)|Ore blobs]] and sand/gravel/clay [[Minecraft:disk]]s
# {{MC/Cd|underground_ores}}: Ore blobs and sand/gravel/clay disks
# {{cd|underground_decoration}}: Infested block blobs, nether gravel and blackstone blobs, and all nether ore blobs
# {{MC/Cd|underground_decoration}}: Infested block blobs, nether gravel and blackstone blobs, and all nether ore blobs
# {{cd|fluid_springs}}: Water and lava [[Minecraft:spring]]s
# {{MC/Cd|fluid_springs}}: Water and lava springs
# {{cd|vegetal_decoration}}: [[Minecraft:Tree]]s, [[Minecraft:Bamboo (feature)|bamboo]], cacti, [[Minecraft:Kelp (feature)|kelp]], and other ground and ocean vegetation
# {{MC/Cd|vegetal_decoration}}: Trees, bamboo, cacti, kelp, and other ground and ocean vegetation
# {{cd|top_layer_modification}}: [[Minecraft:Freeze top layer]] feature
# {{MC/Cd|top_layer_modification}}: Freeze top layer feature


=== Generation ===
=== Generation ===
Line 1,339: Line 1,339:


== Lighting ==
== Lighting ==
{{Main|Light}}
{{MC/Main|Light}}


As one of the last steps of chunk generation, the light levels for each block are calculated. Before this step, no block placement updates light, and light updates are instead deferred to this step.
As one of the last steps of chunk generation, the light levels for each block are calculated. Before this step, no block placement updates light, and light updates are instead deferred to this step.


== Mob spawning ==
== Mob spawning ==
[[File:Flockofsheep.png|thumb|These [[sheep]] spawn upon world generation {{in|JE}}.]]
[[File:Flockofsheep.png|thumb|These [[sheep]] spawn upon world generation {{MC/In|JE}}.]]


{{Main|Mob spawning#Mob spawning on chunk generation}}
{{MC/Main|Mob spawning#Mob spawning on chunk generation}}


{{IN|Java}} many animals generate upon initial chunk creation. One in ten newly-generated [[Minecraft:chunk]]s attempts to generate animal [[Minecraft:mob]]s, usually in packs of up to 4 of the same species.
{{MC/In|Java}} many animals generate upon initial chunk creation. One in ten newly-generated chunks attempts to generate animal [[Minecraft:mob]]s, usually in packs of up to 4 of the same species.


{{IN|Bedrock}} animals do not spawn during chunk generation, but they continually attempt to spawn as part of the environmental spawning algorithm.
{{MC/In|Bedrock}} animals do not spawn during chunk generation, but they continually attempt to spawn as part of the environmental spawning algorithm.


Notably, mobs that spawn with a structure (e.g. [[Minecraft:elder guardian]] in [[Minecraft:ocean monument]]s) are immediately spawned when the structure is placed and are not spawned in this step.
Notably, mobs that spawn with a structure (e.g. elder guardian in ocean monuments) are immediately spawned when the structure is placed and are not spawned in this step.


== Heightmaps ==
== Heightmaps ==
{{main|Heightmap}}
{{MC/Main|Heightmap}}


{{IN|JE}}, heightmaps are technically calculated at every step of world generation. Before features are placed, there are only 2 heightmaps – <code>OCEAN_FLOOR_WG</code> and <code>WORLD_SURFACE_WG</code>. After feature placement, <code>OCEAN_FLOOR</code>, <code>WORLD_SURFACE</code>, <code>MOTION_BLOCKING</code> and <code>MOTION_BLOCKING_NO_LEAVES</code> are calculated.
{{MC/In|JE}}, heightmaps are technically calculated at every step of world generation. Before features are placed, there are only 2 heightmaps – <code>OCEAN_FLOOR_WG</code> and <code>WORLD_SURFACE_WG</code>. After feature placement, <code>OCEAN_FLOOR</code>, <code>WORLD_SURFACE</code>, <code>MOTION_BLOCKING</code> and <code>MOTION_BLOCKING_NO_LEAVES</code> are calculated.


== Videos ==
== Videos ==
Videos by [[Minecraft:Henrik Kniberg]]:  
Videos by Henrik Kniberg:  
{{yt|CSa5O6knuwI}}
{{MC/Yt|CSa5O6knuwI}}
{{yt|ob3VwY4JyzE}}
{{MC/Yt|ob3VwY4JyzE}}


== History ==
== History ==
{{main|World generation/History}}
{{MC/Main|World generation/History}}


A world generation algorithm has been included in the game since its very inception. World generation was often changed significantly before the release of ''Java Edition''. Notably, after its release, world generation has changed greatly in [[Minecraft:Java Edition 1.7.2]] and [[Minecraft:Java Edition 1.18]]. For ''[[Minecraft:Bedrock Edition]]'', significant changes were made in [[Minecraft:Pocket Edition v0.9.0 alpha]] and [[Minecraft:Bedrock Edition 1.18.0]].
A world generation algorithm has been included in the game since its very inception. World generation was often changed significantly before the release of ''Java Edition''. Notably, after its release, world generation has changed greatly in Java Edition 1.7.2 and Java Edition 1.18. For ''[[Minecraft:Bedrock Edition]]'', significant changes were made in Pocket Edition v0.9.0 alpha and [[Minecraft:Bedrock Edition 1.18.0]].


==Issues==
==Issues==
{{Issue list}}
{{MC/Issue list}}


== References ==
== References ==
{{reflist}}
{{MC/Reflist}}


== External links ==
== External links ==
Line 1,380: Line 1,380:


== Navigation ==
== Navigation ==
{{Navbox environment}}
{{MC/Navbox environment}}


[[Minecraft:de:Weltgenerierung]]
de:Weltgenerierung
[[Minecraft:fr:Génération du monde]]
fr:Génération du monde
[[Minecraft:pt:Geração de mundo]]
pt:Geração de mundo
[[Minecraft:ru:Генерация мира]]
ru:Генерация мира
[[Minecraft:uk:Генерація світу]]
uk:Генерація світу
[[Minecraft:zh:世界生成]]
zh:世界生成

Latest revision as of 21:08, 9 April 2026

Template:For

File:Overworld 1.18.png
Minecraft worlds like this one are all generated algorithmically.

World generation (sometimes abbreviated as worldgen) is the

  1. REDIRECT Template:Wikipedia

Template:Redr process Minecraft uses to algorithmically generate terrain, Minecraft:biomes, Minecraft:features, and thus ultimately decides which Minecraft:blocks are placed where. Minecraft worlds are made of 16×16 blocks wide chunks stretching the full height of the Minecraft:dimension. Because there are more than 18 quintillion (18×1018, or <templatestyles src="Abbr/styles.css" />264) possible worlds, the game generates them using randomness, algorithms, and some manually built decorations. The benefits of procedural world generation include smaller game file size and practically infinite possibilities of gameplay.

Randomness

In order to generate a different world every time, the game uses random numbers generated from a seed. However, pure randomness makes terrain and biomes too chaotic with no continuity.<ref>youtube-CSa5O6knuwI | CSa5O6knuwI }} "Minecraft terrain generation in a nutshell"  – Henrik Kniberg on YouTube, February 6, 2022</ref>

To solve this problem, the game makes use of gradient noise algorithms, like

  1. REDIRECT Template:Wikipedia

Template:Redr.<ref>Template:Citation</ref> This makes sure blocks and chunks fit with their neighbors and gives the world both continuity and randomness.

Even though noise looks random and continuous, using it to generate terrain still lacks variation like hills and valleys that stand out and have a large height difference. To solve this, multiple noise functions are generated with different frequencies and amplitudes and then added up, which gives a more natural result. These noise functions are called octaves.

Steps

File:Chunk colormap.gif
Chunk colormap in Template:Editions, which is a square that visualizes the status of 43×43 chunks.

World generation happens in multiple steps. The game may freeze some chunks that are far from players at an early generation step for better performance, as shown on the graph. As the player approaches these chunks, the chunks advance through the generation steps again until they finish generating. Incomplete chunks that are temporarily frozen at a step are called proto-chunks, while chunks that are ready and accessible to players are called level chunks. in Template:Editions, the steps of world generation are sorted into:

Biomes

File:Minecraft Density Functions.png
Top-down maps of biomes/terrain height and density functions.
File:World generation debug info explanation.png
in Template:Editions, the climate parameters can be found in the debug screen.

Template:Hatnote

Overworld

Minecraft:Biome generation in the Minecraft:Overworld is based on 6 parameters: temperature, humidity (aka. vegetation), continentalness (aka. continents), erosion, weirdness (aka. ridges), and depth. Except for "depth", the other 5 parameters are based only on horizontal coordinates.

They can be thought of as a six-dimensional (6D) space, where multiple intervals are defined for each biome, as described below. If the 6 parameters at a location fall outside all the defined biome intervals, the game uses the closest biome interval in the 6D space.

Temperature is a noise parameter used only in biome generation and does not affect terrain generation. Temperature values are divided into 5 levels. The corresponding ranges from level 0 to level 4 are: -1.0~-0.45, -0.45~-0.15, -0.15~0.2, 0.2~0.55, 0.55~1.0.

Note that the temperature parameter is not the same as the temperature property of a biome, but they roughly correspond each other, e.g. if a location's temperature parameter is level 0, the base temperature of the biome here is usually low enough or the terrain is high enough, that the surface is covered in snow and ice.

Humidity (also known as vegetation) is a noise parameter used only in biome generation and does not affect terrain generation. Humidity values are also divided into 5 levels. The corresponding ranges from level 0 to level 4 are: -1.0~-0.35, -0.35~-0.1, -0.1~0.1, 0.1~0.3, 0.3~1.0.

Continentalness (also known as continents) is used to decide between ocean/beach/land biomes. Higher values correspond to more inland biomes.

  • If -1.2~-1.05: Mushroom fields
  • If -1.05~-0.455: Deep ocean
  • If -0.455~-0.19: Ocean
  • If -0.19~-0.11: Coast
  • If -0.11~0.03: Near-inland
  • If 0.03~0.3: Mid-inland
  • If 0.3~1.0: Far-inland

Erosion is used to decide between flat and mountainous terrain. When erosion is high the landscape is generally flat, and where erosion is low the landscape is hilly. Areas with low erosion also tend to generate meadows, snowy slopes, stony peaks, jagged peaks, and frozen peaks. Erosion values are divided into 7 levels. The corresponding ranges from level 0 to level 6 are: -1.0~-0.78, -0.78~-0.375, -0.375~-0.2225, -0.2225~0.05, 0.05~0.45, 0.45~0.55, 0.55~1.0.

Weirdness (also known as ridges) affects whether to generate a biome variant or not, as well as whether or not terrain generates shattered. If the weirdness value is greater than 0, the generated biome becomes weirder. For example, weirdness could cause a jungle biome to become a bamboo jungle instead, or could cause a taiga to generate with more shattered terrain akin to a windswept savanna. A biome and its variant often do not appear on the same bank of a river.

File:Ridges folded diagram.png
A diagram of peaks and valleys (Y-axis) calculated from weirdness (X-axis).

The PV (peaks and valleys, aka. ridges folded) value is calculated through the formula <math>1-\vert (3 \vert weirdness \vert) - 2 \vert</math>.

  • If -1.0~-0.85: Valleys
  • If -0.85~-0.2: Low
  • If -0.2~0.2: Mid
  • If 0.2~0.7: High
  • If 0.7~1.0: Peaks

Depth is a parameter not based directly on noise, instead it corresponds approximately to the terrain height. It is roughly 0 at the surface and increases by Template:Frac (0.0078125) for every 1 block down. The depth parameter affects whether a surface biome or a cave biome is placed.

The table below lists the defined depth values for Overworld biomes, and any additional noise values required for cave biomes to generate. Any other values result in the closest biome interval being used instead. Note that regions of lush caves and dripstone caves overlap.<ref>Template:Bug</ref>

Depth Additional requirement Biomes
D=0.0 N/A Surface biomes
D=0.2~0.9 Continentalness=0.8~1.0
  1. REDIRECT Template:BiomeLink
D=0.2~0.9 Humidity=0.7~1.0
  1. REDIRECT Template:BiomeLink
D=0.2~0.9 Weirdness=-1.1~-0.95
  1. REDIRECT Template:BiomeLink​{{#vardefine: $version | Chaos Cubed

}}{{#vardefine: $version2 | }}<upcoming: Template:Version link & Template:Version link></upcoming: Template:Version link & Template:Version link>

D=1.0 N/A Surface biomes
D=1.1 Erosion=-1.0~-0.375
  1. REDIRECT Template:BiomeLink

The generation of non-inland biomes is not based on humidity, erosion, or weirdness. The following table lists the relation between non-inland surface biomes and continentalness and temperature.

Temperature Template:Tooltip Template:Tooltip Template:Tooltip
Template:Tooltip
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
Template:Tooltip
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
Template:Tooltip
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
Template:Tooltip
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
Template:Tooltip
  1. REDIRECT Template:BiomeLink

The following table lists the relation between inland surface biomes and continentalness, erosion and PV.

Erosion PV Coast Near-inland Mid-inland Far-inland
E=0 Valleys
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink(T>0)
Middle biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T<4)
Badland biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T=4)
Low
  1. REDIRECT Template:BiomeLink
Middle biomes(T<4)
Badland biomes(T=4)
  1. REDIRECT Template:BiomeLink(T=0; H=0,1)
  2. REDIRECT Template:BiomeLink(T=0; H=2,3,4)
    Middle biomes(0<T<4)
    Badland biomes(T=4)
Mid
  1. REDIRECT Template:BiomeLink(T<3; H=0,1)
  2. REDIRECT Template:BiomeLink(T<3; H=2,3,4)
    Plateau biomes(T=3,4)
High Middle biomes
  1. REDIRECT Template:BiomeLink(T<3; H=0,1)
  2. REDIRECT Template:BiomeLink(T<3; H=2,3,4)
    Plateau biomes(T=3,4)
  1. REDIRECT Template:BiomeLink(T=0,1,2; W<0)
  2. REDIRECT Template:BiomeLink(T=0,1,2; W>0)
  3. REDIRECT Template:BiomeLink(T=3)
    Badland biomes(T=4)
Peaks
  1. REDIRECT Template:BiomeLink(T=0,1,2; W<0)
  2. REDIRECT Template:BiomeLink(T=0,1,2; W>0)
  3. REDIRECT Template:BiomeLink(T=3)
    Badland biomes(T=4)
E=1 Valleys
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink(T>0)
Middle biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T<4)
Badland biomes<ref group="bo" name="always-w-gt-0">Always generates as if W>0</ref>(T=4)
Low
  1. REDIRECT Template:BiomeLink
Middle biomes(T<4)
Badland biomes(T=4)
  1. REDIRECT Template:BiomeLink(T=0; H=0,1)
  2. REDIRECT Template:BiomeLink(T=0; H=2,3,4)
    Middle biomes(0<T<4)
    Badland biomes(T=4)
Mid
  1. REDIRECT Template:BiomeLink(T=0; H=0,1)
  2. REDIRECT Template:BiomeLink(T=0; H=2,3,4)
    Middle biomes(0<T<4)
    Badland biomes(T=4)
  1. REDIRECT Template:BiomeLink(T=0; H=0,1)
  2. REDIRECT Template:BiomeLink(T=0; H=2,3,4)
    Plateau biomes(T>0)
High Middle biomes
  1. REDIRECT Template:BiomeLink(T=0; H=0,1)
  2. REDIRECT Template:BiomeLink(T=0; H=2,3,4)
    Middle biomes(0<T<4)
    Badland biomes(T=4)
  1. REDIRECT Template:BiomeLink(T<3; H=0,1)
  2. REDIRECT Template:BiomeLink(T<3; H=2,3,4)
    Plateau biomes(T=3,4)
Peaks
  1. REDIRECT Template:BiomeLink(T=0; H=0,1)
  2. REDIRECT Template:BiomeLink(T=0; H=2,3,4)
    Middle biomes(0<T<4)
    Badland biomes(T=4)
  1. REDIRECT Template:BiomeLink(T=0,1,2; W<0)
  2. REDIRECT Template:BiomeLink(T=0,1,2; W>0)
  3. REDIRECT Template:BiomeLink(T=3)
    Badland biomes(T=4)
E=2 Valleys
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink(T>0)
Low
  1. REDIRECT Template:BiomeLink
Middle biomes Middle biomes(T<4)
Badland biomes(T=4)
Mid Middle biomes (T<4)
Badland biomes (T=4)
Plateau biomes
High~Peaks Middle biomes Plateau biomes
E=3 Valleys
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink(T>0)
Low Beach biomes Middle biomes Middle biomes(T<4)
Badland biomes(T=4)
Mid Middle biomes
High~Peaks Middle biomes (T<4)
Badland biomes (T=4)
Plateau biomes
E=4 Valleys
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink(T>0)
Low Beach biomes Middle biomes
Mid Beach biomes(W<0)
Middle biomes(W>0)
High~Peaks Middle biomes
E=5 Valleys
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink(T>0)
Low Beach biomes(W<0)
Middle biomes(W>0; T=0,1 OR H=4)
  1. REDIRECT Template:BiomeLink(W>0; T=2,3,4; H=0,1,2,3)
Middle biomes(W<0 OR T=0,1 OR H=4)
  1. REDIRECT Template:BiomeLink(W>0; T=2,3,4; H=0,1,2,3)
Middle biomes
Mid Shattered biomes
High Middle biomes(W<0 OR T=0,1 OR H=4)
  1. REDIRECT Template:BiomeLink(W>0; T=2,3,4; H=0,1,2,3)
Peaks Shattered biomes (W<0 OR T=0,1 OR H=4)
  1. REDIRECT Template:BiomeLink (W>0; T=2,3,4; H=0,1,2,3)
E=6 Valleys
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink (T>0)
  1. REDIRECT Template:BiomeLink(T=0)
  2. REDIRECT Template:BiomeLink(T=1,2)
  3. REDIRECT Template:BiomeLink(T=3,4)
Low Beach biomes Middle biomes(T=0)
  1. REDIRECT Template:BiomeLink(T=1,2)
  2. REDIRECT Template:BiomeLink(T=3,4)
Mid Beach biomes(W<0)
Middle biomes(W>0)
High~Peaks Middle biomes

In which, the specific biome generation of beach biomes, badland biomes, middle biomes, plateau biomes, and shattered biomes is determined by the temperature, humidity, and weirdness values.

Beach biomes generate in low lying terrain along the coast, and the specific biome generation is related only to the temperature value.

Temperature Biomes
T=0
  1. REDIRECT Template:BiomeLink
T=1,2,3
  1. REDIRECT Template:BiomeLink
T=4
  1. REDIRECT Template:BiomeLink

Badland biomes usually generate inland with low erosion value, and can also generate along the coast with high terrain and low erosion. The specific biome generation is related to humidity and weirdness.

Humidity Biomes
H=0,1
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
H=2
  1. REDIRECT Template:BiomeLink
H=3,4
  1. REDIRECT Template:BiomeLink

Middle biomes are the most extensive biomes inland. The specific biome generation depends on temperature, humidity, and weirdness.

Temperature
Humidity
T=0 T=1 T=2 T=3 T=4
H=0
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
H=1
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
H=2
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
H=3
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
H=4
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)

Plateau biomes generate at inland high terrain with moderate erosion, which results in biomes like meadows and savanna plateaus. The specific biome generation depends on temperature, humidity, and weirdness.

Temperature
Humidity
T=0 T=1 T=2 T=3 T=4
H=0
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
H=1
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
H=2
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
H=3
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink
H=4
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
  1. REDIRECT Template:BiomeLink (W<0)
  2. REDIRECT Template:BiomeLink (W>0)
  1. REDIRECT Template:BiomeLink

Shattered biomes are generated at inland places with high erosion. The specific biome generation depends on temperature, humidity, and weirdness.

Temperature
Humidity
T=0~1 T=2 T=3 T=4
H=0~1
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink
H=2
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
H=3
  1. REDIRECT Template:BiomeLink
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)
H=4
  1. REDIRECT Template:BiomeLink(W<0)
  2. REDIRECT Template:BiomeLink(W>0)

<references group="bo">

 </references>

The Nether

Minecraft:The Nether uses 3 parameters to generate biomes: temperature, humidity and offset. Unlike the Overworld, the Nether specifies biomes with a single point.

The offset parameter is not based off of noise, it is always 0 at any location in a world. This means that the parameter point of a location is always in the temperature-humidity-plane. The closer the offset (of a biome point) is to 0, the closer the point is to the T-H-plane and the greater the advantage it has during biome generation.

Biomes Temperature Humidity Offset
  1. REDIRECT Template:BiomeLink
-0.5 0 0.175
  1. REDIRECT Template:BiomeLink
0.4 0 0
  1. REDIRECT Template:BiomeLink
0 0 0
  1. REDIRECT Template:BiomeLink
0 -0.5 0
  1. REDIRECT Template:BiomeLink
0 0.5 0.375

The End

File:EnderIslandsRender.jpg
The End islands contain multiple biomes in Template:Editions. in Template:Editions, there is always a single biome on all the islands.

in Template:Editions, Minecraft:the End uses only one noise parameter: erosion. If the horizontal distance from the chunk origin of a chunk to the world origin is less than 1024, the blocks in the chunk are in the End. Otherwise, the biome is determined by erosion.

Biome Erosion Distance
  1. REDIRECT Template:BiomeLink
-1~-0.21875 >1024
  1. REDIRECT Template:BiomeLink
-0.21875~-0.0625
  1. REDIRECT Template:BiomeLink
-0.0625~0.25
  1. REDIRECT Template:BiomeLink
0.25~1
  1. REDIRECT Template:BiomeLink
N/A <1024

in Template:Editions, the End has only one biome: The End.

Terrain

File:World generation noise.jpg
The Overworld after the "noise" step, which generates the base terrain.

Template:Hatnote Template:For

Terrain shaping determines which blocks should be solid and which blocks should be filled with air.

3D noise

Template:For If the noise is in two dimensions, it controls only surface height and it is impossible to add terrain above the surface. To add overhangs and 3D shapes, the game uses 3D Perlin noise function that gives an output called density for every single block. A density > 0 means it is filled with solid block, otherwise it is filled with air.

Density is then given a height bias and a base height. Height bias "squeezes" the blocks. Base height is the base of the squeezing process where the density is left unchanged. Changing base height moves the ground up and down.

  • In the Overworld, there is a single pair of height bias and base height, meaning the higher the block is, the less density it has and vice versa. Height bias and base height are both configured by a couple of different noises. Notably, amplified worlds are generated by tuning height bias to be lower than default, so that terrain stretch in the vertical direction more.
  • In the Nether, there are two pairs of base heights that create the thick, solid ceiling and ground, and the hollow space between them.
  • In the End, these parameters are configured to squeeze the map into a big island located relatively at the bottom of the dimension.

Splines

To give the world some dramatic terrain shapes like cliffs, fjords and plateaus, the game uses three 2D noise maps. These noises are mapped using splines to calculate the height offset and a vertical stretch factor. The same noises are also used in biome generation, which creates a soft link between biome and terrain. For example, a mountainous area generates mountainous biome and plains biomes are generally flatter.

The larger the continentalness, the higher the average terrain height. Continentalness is used mainly for differentiating ocean and land.

The erosion parameter affects inland terrain during terrain generation. Erosion is mainly used to create large areas of flat ground. The higher the erosion at a location, the lower the terrain height and the flatter the terrain.

The peaks and valleys (PV) value is calculated from weirdness. As the name suggests, it is mainly used for generating better peaks and valleys. The higher the PV value, the higher the terrain. Usually, at places with low continentalness or high erosion, when the PV level is "Valleys", the terrain is low enough to generate rivers. At high terrain, negative weirdness values lead to taller and more jagged and point peaks. When the erosion level is approximately 5, positive weirdness values result in weird inland terrain that is shattered and extremely precipitous and craggy.

Noise caves

{{#vardefine:params|0 }}Template:Hatnote

File:Noise cave mechanism.jpg
The mechanics of noise cave generation.<ref>Template:Tweet</ref>

Noise caves are part of the base terrain generation and are generated using 3D Perlin noises. They come in the form of cheese caves, spaghetti caves, and noodle caves. Three noise maps, frequency, hollowness, and thickness, are parameters that control this process. Frequency controls the frequency of the cave generation.

  • Cheese caves are pocket areas of the underground that come in various sizes. They are generated by taking the white area in a Perlin noise map. Hollowness controls the size of cheese caves.
  • Spaghetti caves are long, narrow caves that wind their way through the underground. When generating, the edge of black and white part of noise image becomes air, making it look like long and wide spaghetti. Thickness controls the thickness of spaghetti caves.
  • Noodle caves are a thinner and squigglier variant of spaghetti caves. They consist of tunnels usually 1 to 5 blocks in width. Its generating mechanism is similar to that of spaghetti caves. Thickness controls the thickness of noodle caves.

Additionally, noise pillars generate inside big cheese cave chambers. Frequency controls the frequency of the pillar generation while thickness control the thickness of them.

Aquifers

File:Aquifer Cross Section.jpg
A cross section showing caves and aquifers.

Aquifers are liquid systems used in the Minecraft:Overworld to determine the fluid in all empty areas. Without aquifers all empty areas between sea-level and Y=-54 would be filled with Minecraft:water. Areas below Y=-55 are always filled with Minecraft:lava. To avoid all caves being flooded, aquifers are used to determine the fluid state of each position instead. Aquifers don't change the lava below Y=-55. An aquifer can be in 3 different states, with a state selected for each position:

  • Empty: Always filled with air
  • Flooded: As if aquifers didn't exist: filled with air above the sea-level and a fluid below.
  • Local fluid level: Picks a local liquid level and fills areas below with a liquid and areas above with air.

For positions above the preliminary surface, the aquifer state is "Flooded". In areas of erosion less than -0.22 and depth greater than 0.9 (only the deep dark in vanilla), the state is always "Empty". Otherwise the state is determined bases on a noise. Values below 0.4 are "Empty", values above 0.8 are "Flooded", otherwise a local fluid level is used.

In positions near areas where the preliminary surface is below the sea-level the area of the "Flooded" aquifer state reaches slightly below the preliminary surface. In these areas the cutoff values for the noise are linearly decreased from 64 blocks below the preliminary surface upward. At the surface they are below -0.8 for "Empty" and above -0.3 for "Flooded". This causes the "Flooded" state to be much more common directly below rivers and oceans.

The local water level is determined in cells of size 16x40x16 blocks using a different noise. Whether to place water or lava is determined in cells of 64x40x64 blocks based on a third noise. Areas above Y=-10 always use water.

Barriers are used to separate areas of different liquids and to separate liquids from air. The height of the barriers is dependent on a fourth noise, causing water or lava to sometimes spill over the barrier.

Ore veins

File:Excavated Copper Vein.png
A fully exposed copper ore vein

Ore veins generate only in the Overworld. Three noises are used for vein generation: toggle, ridge, and gap.

Toggle is always 0 outside Y=-60 to Y=51 and can be negative or positive inside the range. The game attempts to generate an iron or a copper vein depending on whether toggle is < 0 or > 0. The attempts might fail because veins have a configured generating height.

Ridge is always -0.08 if Y level is outside the range. If ridge is > 0, the game skips the block.

Gap determines the ratio of ore-to-filler material, between 10% and 30% for any given vein. For non-filler blocks, 98% generate as normal ore blocks, while 2% are generated as raw ore blocks (Minecraft:Block of Raw Copper and Minecraft:Block of Raw Iron, respectively).

The blocks used in vein generation are

  1. REDIRECT Template:Wikipedia

Template:Redr, though their size can be changed with datapacks.

Surface

Template:For

File:World generation surface.jpg
The Overworld after the "surface" step.

After the base terrain is generated, the game replaces some blocks with grass blocks, sand, dirt, etc., depending on the biome and other conditions.

Overworld

Conditions Result block
Gradient Y=-64 → Y=-59
  1. redirect Template:blockLink

Template:Redr

Surface<ref group="s">Above preliminary surface (aka. not in noise caves)</ref> Floor<ref group="s" name="floor-0">Only the top layer of the floor surface</ref>
  1. REDIRECT Template:BiomeLink
Above Y=97 Noise<ref group="s" name="surface-noise-1">Surface noise within -0.909~-0.5454, -0.1818~0.1818, or 0.5454~0.909</ref>
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
At Y=63 Noise<ref group="s">Swamp surface noise ≥ 0</ref>
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Between Y=61 and Y=63
  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
  3. REDIRECT Template:BiomeLink
Floor<ref group="s" name="floor-0" /> Above Y=256
  1. redirect Template:blockLink

Template:Redr

Above Y=74 Noise<ref group="s" name="surface-noise-1" />
  1. redirect Template:blockLink

Template:Redr

Otherwise Script error: No such module "SpriteFile".<ref group="s" name="hoodoo">Special hardcoded rule that places the bands of terracotta</ref>
Water no deeper than 1 Ceiling<ref group="s" name="ceiling-0">Only the top layer of the ceiling surface</ref>
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Erosion<ref group="s" name="hole">A hole in the terrain, where the surface noise is 0</ref>
  1. redirect Template:blockLink

Template:Redr

Water​<more information needed></more information needed>
  1. redirect Template:blockLink

Template:Redr

Ceiling<ref group="s" name="ceiling-0" />
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Surface is above Y=63 Above Y=63 and surface is below Y=74
  1. redirect Template:blockLink

Template:Redr

Otherwise Script error: No such module "SpriteFile".<ref group="s" name="hoodoo" />
Floor<ref group="s" name="floor-0" /> Water no deeper than 6 blocks
  1. redirect Template:blockLink

Template:Redr

Floor<ref group="s" name="floor-0" /> and water
no deeper than 1
  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
Erosion<ref group="s" name="hole" /> No water above
  1. redirect Template:blockLink

Template:Redr

Cold<ref group="s">Whether it is cold enough to snow here</ref>
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Steep face<ref group="s" name="steep">The vertical gradient of the north and south side is greater than 2</ref> or noise<ref group="s">Packed ice noise within 0~0.2</ref>
  1. redirect Template:blockLink

Template:Redr

Ice noise within 0~0.025
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Steep face<ref group="s" name="steep" />
  1. redirect Template:blockLink

Template:Redr

Noise<ref group="s" name="powder-snow-noise">Powder snow noise within 0.35~0.6</ref> No water above
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Steep face<ref group="s" name="steep" />
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Noise<ref group="s" name="powder-snow-noise" /> No water above
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Calcite noise within -0.0125~0.0125
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Noise<ref group="s" name="gravel-noise">Gravel noise within -0.05~0.05</ref> Ceiling<ref group="s" name="ceiling-0" />
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Surface noise ≥ 4/33
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
  3. REDIRECT Template:BiomeLink
  4. REDIRECT Template:BiomeLink
Ceiling<ref group="s" name="ceiling-0" />
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Surface noise ≥ 7/33
  1. redirect Template:blockLink

Template:Redr

Surface noise ≥ -2/33
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Surface noise ≥ 8/33 Ceiling
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Surface noise ≥ 4/33
  1. redirect Template:blockLink

Template:Redr

Surface noise ≥ -4/33 No water above
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Ceiling
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
Surface noise ≥ 7/33
  1. redirect Template:blockLink

Template:Redr

Surface noise ≥ 19/165
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
No water above
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Floor<ref group="s" name="floor-0" /> and
water no deeper than 6
  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
Erosion<ref group="s" name="hole" />
  1. redirect Template:blockLink

Template:Redr

Floor with depth<ref group="s" name="floor-depth">The top few layers of the floor surface</ref> and
water no deeper than 6
  1. REDIRECT Template:BiomeLink
Steep face<ref group="s" name="steep" /> or noise<ref group="s">Packed ice noise within -0.5~0.2</ref>
  1. redirect Template:blockLink

Template:Redr

Ice noise within -0.0625~0.025
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Steep face<ref group="s" name="steep" />
  1. redirect Template:blockLink

Template:Redr

Noise<ref group="s" name="powder-snow-noise-2">Powder snow noise within 0.45~0.58</ref> No water above
  1. redirect Template:blockLink

Template:Redr

No water above
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Noise<ref group="s" name="powder-snow-noise-2" /> Above water
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Calcite noise within -0.0125~0.0125
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Noise<ref group="s" name="gravel-noise">Gravel noise within -0.05~0.05</ref> Ceiling<ref group="s" name="ceiling-0" />
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Surface noise ≥ 4/33
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
  3. REDIRECT Template:BiomeLink
  4. REDIRECT Template:BiomeLink
Ceiling<ref group="s" name="ceiling-0" />
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Surface noise ≥ 7/33
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Surface noise ≥ 8/33 Ceiling
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Surface noise ≥ 4/33
  1. redirect Template:blockLink

Template:Redr

Surface noise ≥ -4/33
  1. redirect Template:blockLink

Template:Redr

Ceiling
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
  3. REDIRECT Template:BiomeLink
Floor with depth and secondary depth 6
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Floor with depth and secondary depth 30
Floor<ref name="floor-0" group="s" />
  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
  2. REDIRECT Template:BiomeLink
  3. REDIRECT Template:BiomeLink
Ceiling
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Ceiling
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Below Y=0 and gradient Y=0 → Y=8
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

The Nether

Conditions Result block
Gradient Y=0 → Y=5
  1. redirect Template:blockLink

Template:Redr

Gradient Y=127 → Y=122
Above Y=122
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Ceiling<ref group="s" name="ceiling-0" />
  1. redirect Template:blockLink

Template:Redr

Floor<ref group="s" name="floor-0" /> Patch noise ≥ -0.012 Surface between Y=30 and Y=35
  1. redirect Template:blockLink

Template:Redr

Nether noise ≥ 0
Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Ceiling<ref group="s" name="ceiling-0" /> Nether noise ≥ 0
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Floor<ref group="s" name="floor-0" /> Patch noise ≥ -0.012 Surface between Y=30 and Y=35
  1. redirect Template:blockLink

Template:Redr

Nether noise ≥ 0
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Floor<ref group="s" name="floor-0" /> Below Y=33 Erosion<ref group="s" name="hole" />
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Netherack noise ≥ 0.54 Above Y=31 Nether wart noise ≥ 1.17
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Netherack noise ≥ 0.54 Above Y=31 Nether wart noise ≥ 1.17
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

  1. REDIRECT Template:BiomeLink
Floor with depth<ref group="s" name="floor-depth" /> Soul sand noise ≥ -0.012 Not erosion<ref group="s" name="hole" /> Surface between Y=30 and Y=35
  1. redirect Template:blockLink

Template:Redr

Otherwise
  1. redirect Template:blockLink

Template:Redr

Floor<ref group="s" name="floor-0" /> Above Y=31 and
surface below Y=35
Gravel layer noise ≥ -0.012 Above Y=32
  1. redirect Template:blockLink

Template:Redr

Not erosion<ref group="s" name="hole" />
Otherwise
  1. redirect Template:blockLink

Template:Redr

The End

Conditions Result block
Always
  1. redirect Template:blockLink

Template:Redr

<references group="s">

 </references>

Carvers

Template:For

File:World generation carvers.jpg
The Overworld after the "carvers" step.

Carvers include carver caves and carver canyons. As the name suggest, they "carve" through the ground.

Carver caves and carver canyons are configured to have different probability to be generated in each chunk. If the carver generates, it carves through the ground in random directions starting at the configured start Y level:

  • Carver caves generate from Y=-56 to Y=180. The probability of cave generation is higher at Y=-56 to Y=47. Carver caves sometimes include a main room and can have branches.
    • Nether carver caves generate Y=0 to Y=126.
  • Canyons can start at levels 10 to 72.

Structures

{{#vardefine:params|0 }}Template:Hatnote Template:For

Structures are grouped into structure sets. A structure set determines the placement positions of the structures and places a structure at these positions based on the biome. If no structure matches the biome, then no structure is placed at a given position. The structure positions are usually calculated based on the spacing, separation, and frequency parameters of the structure set. Spacing determines the average distance between structure placement position in chunks, and separation determines the minimum distance. Frequency controls the probability that a determined position is used. If the biome at the placement attempt does not match the requirement, the structure is not placed. An exception are strongholds in Template:Editions, which are placed as concentric rings, see Stronghold.

In the structures_starts generation step, the game determines if the chunk is suitable for a structure. If a structure is selected, the starting point of the structure and layout of the pieces is determined. In the structures_references generation step, every chunk near a chunk with a structure start stores a reference to that chunk. This allows finding the structure pieces that are inside each chunk. When a chunk is generating its decoration in the features step, the chunk is checked for a structure reference. If a structure reference is found, the stored pieces are placed in the world. (see #Features).

The following table gives the placement parameters for each structure set, as they are in Template:Editions.

Structure Set Spacing Separation Frequency Structure Weight Required Biomes
Ancient Cities 24 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
Buried Treasures 1 0 1% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink
Desert Pyramids 32 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
End Cities 20 11 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink
Igloos 32 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink,
  3. REDIRECT Template:BiomeLink
Jungle Temples 32 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink
Mineshafts 1 0 0.4% Script error: No such module "SpriteFile". 1 many biomes (see Template:Tag link)
Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink,
  3. REDIRECT Template:BiomeLink
Nether Complexes 27 4 100% Script error: No such module "SpriteFile". 2 Any Nether biome
Script error: No such module "SpriteFile". 3
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink,
  3. REDIRECT Template:BiomeLink,
  4. REDIRECT Template:BiomeLink
Nether Fossils 2 1 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
Ocean Monuments 32 5 100% Script error: No such module "SpriteFile". 1 Deep Oceans <ref group="st">Also requires surrounding to be river and ocean biomes only.</ref>
Ocean Ruins 20 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink,
  3. REDIRECT Template:BiomeLink,
  4. REDIRECT Template:BiomeLink,
  5. REDIRECT Template:BiomeLink,
  6. REDIRECT Template:BiomeLink,
  7. REDIRECT Template:BiomeLink
Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink,
  3. REDIRECT Template:BiomeLink
Pillager Outposts 32 8 20% <ref group="st">Can't be placed within 10 chunks of any placement position of the "Villages" structure set.</ref> Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink,
  3. REDIRECT Template:BiomeLink,
  4. REDIRECT Template:BiomeLink,
  5. REDIRECT Template:BiomeLink,
  6. REDIRECT Template:BiomeLink,
  7. REDIRECT Template:BiomeLink,
  8. REDIRECT Template:BiomeLink,
  9. REDIRECT Template:BiomeLink,
  10. REDIRECT Template:BiomeLink,
  11. REDIRECT Template:BiomeLink,
  12. REDIRECT Template:BiomeLink
Ruined Portals 40 15 100% Script error: No such module "SpriteFile". 1 See Ruined Portal
Together: All Minecraft:Overworld biomes
Script error: No such module "SpriteFile". 1
Script error: No such module "SpriteFile". 1
Script error: No such module "SpriteFile". 1
Script error: No such module "SpriteFile". 1
Script error: No such module "SpriteFile". 1
Script error: No such module "SpriteFile". 1 All Nether biomes
Shipwrecks 24 4 100% Script error: No such module "SpriteFile". 1 Any ocean
Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink
Strongholds N/A <ref group="st">Strongholds are placed using concentric rings, see Stronghold.</ref> 100% Script error: No such module "SpriteFile". 1 All Minecraft:Overworld biomes <ref group="st">The placement position is biased toward most land biomes, away from river and ocean biomes.​<more information needed></more information needed></ref>
Swamp Huts 32 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
Trail Ruins 34 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink,
  3. REDIRECT Template:BiomeLink,
  4. REDIRECT Template:BiomeLink,
  5. REDIRECT Template:BiomeLink,
  6. REDIRECT Template:BiomeLink
Trial Chambers 34 12 100% Script error: No such module "SpriteFile". 1 many biomes (see Template:Tag link)
Villages 34 8 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink
Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink
Woodland Mansions 80 20 100% Script error: No such module "SpriteFile". 1
  1. REDIRECT Template:BiomeLink,
  2. REDIRECT Template:BiomeLink

<references group="st">

 </references>

Features

File:World generation features.jpg
The Overworld after the "features" step.

{{#vardefine:params|0 }}Template:Hatnote Template:For

The generation of features and placement of structure pieces (see #Structures) happens in the same step and are called decorations collectively. Each biome has a list of allowed features and structures that are possible to generate in them.

Decoration steps

Features and structures generate in 11 steps after each other called decoration steps.

  1. REDIRECT Template:Code

Template:Redr: Small end islands

  1. REDIRECT Template:Code

Template:Redr: Lava lakes

  1. REDIRECT Template:Code

Template:Redr: Amethyst geodes and icebergs

  1. REDIRECT Template:Code

Template:Redr: Trial chambers, buried treasure, mineshafts, trail ruins, monster rooms and Minecraft:fossils

  1. REDIRECT Template:Code

Template:Redr: All other structures, desert wells and blue ice patches

  1. REDIRECT Template:Code

Template:Redr: Unused, strongholds use the

  1. REDIRECT Template:Code

Template:Redr step

  1. REDIRECT Template:Code

Template:Redr: Ore blobs and sand/gravel/clay disks

  1. REDIRECT Template:Code

Template:Redr: Infested block blobs, nether gravel and blackstone blobs, and all nether ore blobs

  1. REDIRECT Template:Code

Template:Redr: Water and lava springs

  1. REDIRECT Template:Code

Template:Redr: Trees, bamboo, cacti, kelp, and other ground and ocean vegetation

  1. REDIRECT Template:Code

Template:Redr: Freeze top layer feature

Generation

File:Cherry Blossom Grove.jpg
Trees and villages are a type of feature and Minecraft:structure respectively.

To generate features in a chunk, the game first determines a list of Minecraft:biomes that appear in that chunk or the 8 surrounding chunks. Using that biome list the game constructs a list of features that are possible to generate in those biomes. For each decoration step, first the matching structure pieces are placed, followed by the features. When a structure piece crosses a chunk border, only the part in the current chunk is placed. Each feature has its own placement rules including the number of placement attempts and where in the chunk should the feature try to be placed. The game follows the rules to select a block in the chunk then checks if the biome, block and its surroundings at the current position allows that feature to spawn, and if so places the feature. Features can place block outside the current chunk's boundaries but are limited in the nearby 3×3 area.

When features are generated, they can spill over into neighboring chunks that have already had their features generated. Thus, the feature order specified above is not always adhered to. It is therefore also possible for two worlds generated with the same seed, from the same version of Minecraft, to differ slightly depending on the players' travel routes, because the chunk generation order may determine which of two conflicting features overwrite or suppress the other.<ref>Template:Bug</ref>

Lighting

{{#vardefine:params|0 }}Template:Hatnote

As one of the last steps of chunk generation, the light levels for each block are calculated. Before this step, no block placement updates light, and light updates are instead deferred to this step.

Mob spawning

File:Flockofsheep.png
These sheep spawn upon world generation in Template:Editions.

{{#vardefine:params|0 }}Template:Hatnote

in Template:Editions many animals generate upon initial chunk creation. One in ten newly-generated chunks attempts to generate animal Minecraft:mobs, usually in packs of up to 4 of the same species.

in Template:Editions animals do not spawn during chunk generation, but they continually attempt to spawn as part of the environmental spawning algorithm.

Notably, mobs that spawn with a structure (e.g. elder guardian in ocean monuments) are immediately spawned when the structure is placed and are not spawned in this step.

Heightmaps

{{#vardefine:params|0 }}Template:Hatnote

in Template:Editions, heightmaps are technically calculated at every step of world generation. Before features are placed, there are only 2 heightmaps – OCEAN_FLOOR_WG and WORLD_SURFACE_WG. After feature placement, OCEAN_FLOOR, WORLD_SURFACE, MOTION_BLOCKING and MOTION_BLOCKING_NO_LEAVES are calculated.

Videos

Videos by Henrik Kniberg:

  1. REDIRECT Template:YouTube

Template:Redr

  1. REDIRECT Template:YouTube

Template:Redr

History

{{#vardefine:params|0 }}Template:Hatnote

A world generation algorithm has been included in the game since its very inception. World generation was often changed significantly before the release of Java Edition. Notably, after its release, world generation has changed greatly in Java Edition 1.7.2 and Java Edition 1.18. For Minecraft:Bedrock Edition, significant changes were made in Pocket Edition v0.9.0 alpha and Minecraft:Bedrock Edition 1.18.0.

Issues

Script error: No such module "Issue list".

References

<references group="">

 </references>

External links

Navigation

Geography
Sky and fog
Weather
Visual only
Dimensions
World types
Template:El only
Editor only
Player
constructions
Pre-generated
Matter
Sound
Joke
Dimensions
Sky and fog
Player
constructions
Pre-generated
Bugs
Removed
Removed
Template:El only
Template:El only
Template:El & Template:El only

de:Weltgenerierung fr:Génération du monde pt:Geração de mundo ru:Генерация мира uk:Генерація світу zh:世界生成