Overview of the Minecraft multi noise system - jacobsjo/snowcapped GitHub Wiki
This page describes how the Multi-Noise system in Minecraft works.
Inputs
The goal of the multi-noise system is to determine which biome is supposed to be generated at each X, Y, Z position. Do to this, the system uses 6 inputs named:
temperature
humidity
erosion
continentalness
weirdness
depth
Regardless of their name, all 6 inputs behave the same way. The default input calculations in vanilla Minecraft calculate a noise for the first 5 inputs and use the depth below the surface for depth
Biome selection
To determine the biome, the system first calculates the value for each of the inputs at the given X, Y, Z position. Then, based on the configuration, the biome that best fits the inputs is chosen. To configuration consists of a list of biomes with ideal inputs (usually giving a minimum and maximum value for each input). If the input is not ideal for any listed biome, the biome with the closest (euclidian) distance between the input and the ideal ranges is used. Note that the same biome can be listed multiple times to allow for multiple ideal ranges.
The vanilla configuration defines biomes with ideal parameters covering the entire possible input ranges, at depth
0; and some additional entries for cave biomes.
Snowcapped is an editor for these configurations.
Example
For example, the following entry defines the ideal inputs for the minecraft:mushroom_fields
biome:
{
"biome": "minecraft:mushroom_fields",
"parameters": {
"temperature": [-1.0, 1.0],
"humidity": [-1.0, 1.0],
"erosion": [-1.0, 1.0],
"continentalness": [-1.2, -1.05],
"weirdness": [-1.0, 1.0],
"depth": [0.0, 0.0],
"offset": 0.0
}
}
Here, the minecraft:mushroom_fields
biome is placed
- in a very large range of inputs
temperature
,humidity
,erosion
, andweirdness
(basically all possible inputs) - only at very extreme negative
continentalness
values - at
depth
0 (i.e at the surface).