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

Minecraft:Noise generator

From SAS Gaming Wiki

Template:No navbox Template:Stub Minecraft uses several different types of noise generators, specifically those making use of gradient noise, for the generation of Minecraft:terrain alongside other features.

There are/were noise generators that use Perlin Noise and Simplex Noise.

File:Perlin6.png
Example of Perlin noise, the generator frequently used ingame

Specifications

Noise generators can be defined by the following parameters:

  • Octaves: The amount of different copies of this noise generator, each scaled down from the last by a factor of 2. Fewer octaves result in an unnatural appearance. More octaves added with lacunarity result in a rougher fractal appearance reminiscent of proper terrain.
  • Frequency: Template:Info needed
  • Factor: A value the noise is multiplied with after processing (lacunarity). To make the set of values more or less extreme.
  • Offset: A value added to the noise after processing. To shift the resulting set of values by this value.

These values are displayed and calculated differently in the code. Vanilla simply applies a "scale" value (frequency*(2^octaves)), defined as how much the noise generator increments per sampling (every four blocks).

Customization

Template:Exclusive

Old Customized worlds (1.8-1.12)

Template:Empty section

Custom worlds (1.16-1.19)

Template:Empty section

Types of noise generators

Template:Info needed section Stratum colors are determined using only the first 48 bits of the 64-bit Minecraft:world seed Template:In. The strata repeat every 64 blocks on the Y-axis, and the elevation of a particular stratum can vary through a biome by as much as 4 blocks. Stratum elevations vary with respect to the X-axis only, neglecting the Z-axis.

Terrain noise generators

These are used for defining the shape of generated terrain itself.

A table of default/hardcoded settings, as well as values resulting from these, is as follows. Note that not all of these are used in vanilla, but are instead used by mods such as CubicWorldGen.

Fundamental terrain noise generators (Overworld)
Generator Low noise High noise Selector noise Depth noise
Parameter X Y Z X Y Z X YTemplate:Verify Z
Offset 0 0.5 0
Factor 1 12.75 1.024
Octaves 16 8 16
Frequency Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr
Template:Abbr 191.51 383.02 191.51 59.845 119.69 59.845 655.36 1,310.72 655.36
Template:Abbr 171.103 85.5515 171.103 2.1387875 1.06939375 2.1387875 50 25 50
Template:Abbr 684.412 342.206 684.412 8.55515 4.277575 8.55515 200 100 200
[[Minecraft:Far Lands|Template:Abbr]] 12,550,824 25,101,648 12,550,824 1,004,065,924 2,008,131,848 1,004,065,924 42,949,673 85,899,346 42,949,673
[[Minecraft:Far Lands|Template:Abbr]] Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr

Low noise

Low noise is one of the two main noise generators used for defining terrain shape. This noise generator, which uses Perlin noise, is one which is actually used as a heightmap.

High noise

This is effectively identical to low noise, but is only used when selector noise is above a given threshold value.

Selector noise

Selector noise is a third important noise generator used for terrain generation. Selector noise, using Perlin noise, dictates which of either low noise or high noise is used for generating terrain at a given position - above 1 high noise is used, below 0 low noise is used, and values between 0-1 are linearly interpolated between the low and high noise values.

Depth noise

A rather insignificant noise generator, this uses Perlin noise to make terrain slightly more nuanced in general. The possible values it can have are tightly clamped to a thin set of values. It is also only defined for the X and Z axes.

Other noise generators

Template:Info needed section These noise generators are oriented to the generation of other world features.

Decorative noise generators (Overworld)
Generator Biome fill noise Badlands pillar noise Badlands clay band offset noise Swamplands noise Flower distribution noise
Parameter X Y Z X Y Z X Y Z X Y Z X Y Z
Offset 3 ? ? ? ?
Factor 2.333... ? ? ? ?
Octaves 4 ? ? ? ?
Frequency Template:Abbr Template:Abbr Template:Abbr ? ? ? ? ? ? ? ? ? ? ? ?
Template:Abbr 128 256 128 ? ? ? ? ? ? ? ? ? ? ? ?
Template:Abbr 0.0625 0.03125 0.0625 ? ? ? ? ? ? ? ? ? ? ? ?
Template:Abbr 0.25 0.125 0.25 ? ? ? ? ? ? ? ? ? ? ? ?
[[Minecraft:Far Lands|Template:Abbr]] 34,359,738,368 68,719,476,736 34,359,738,368 ? ? ? ? ? ? ? ? ? ? ? ?
[[Minecraft:Far Lands|Template:Abbr]] Template:Abbr Template:Abbr Template:Abbr ? ? ? ? ? ? ? ? ? ? ? ?

Biome fill noise

Upon generation, a top layer block (e.g. dirt, sand) will be placed to a certain thickness to replace the bare stone heightmap. The thickness of this dirt relies on a noise generator in vanilla.

Biome distribution

Ocean biome variants are distributed using a Perlin noise function.

The Multi Noise Biome Source (used for the Nether and the Overworld since 1.18) also uses perlin noise.

Badlands clay band offset noise

Template:Empty section

Badlands pillar noise

Template:Empty section

Swamp noise

Swamps use a noise generator for two purposes: for the generation of marshy areas composing a mixture of water and grass blocks, and for the variation of the two different grass colors used.

Flower noise

The placement of flowers, most prominently in Minecraft:flower forest and Minecraft:meadow biomes but possibly also elsewhere, is controlled via a noise function. Flowers generated naturally will be in different positions from those grown via bone meal, and those grown via bone meal is not dependent on Minecraft:world seed.

Removed noise generators

These are no longer used in the current version of the game.

Removed noise generators (Overworld)
Generator Infdev pre-0327 noise Island carver noise Scale noise Sand noise Gravel noise Tree density noise
Parameter X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z
Offset ? ? ? ? ? ?
Factor ? ? ? ? ? ?
Octaves 16Template:Verify 16Template:Verify 16Template:Verify 4Template:Verify 4Template:Verify ?
Frequency Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr ? ? ?
Template:Abbr 512 1,024 512 14,246.96 28,493.92 14,246,96 116,924.175 233,848.35 116,924.175 256 512 256 256 512 256 ? ? ?
Template:Abbr 64 32 64 2.3 1.15 2.3 0.28025 0.140125 0.28025 0.03125 0.015625 0.03125 0.03125 0.015625 0.03125 ? ? ?
Template:Abbr 256 128 256 9.2 4.6 9.2 1.121 0.5605 1.121 0.125 0.0625 0.125 0.125 0.0625 0.125 ? ? ?
[[Minecraft:Far Lands|Template:Abbr]] 33,554,432 67,108,864 33,554,432 933,688,542 1,867,377,084 933,688,542 7,662,742,722 15,325,485,444 7,662,742,722 68,719,476,736 137,438,953,472 68,719,476,736 68,719,476,736 137,438,953,472 68,719,476,736 8,589,934,592 17,179,869,184 8,589,934,592
[[Minecraft:Far Lands|Template:Abbr]] Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr Template:Abbr

Major noise generation prior to Infdev 20100327

Before inf-20100327, terrain was generated using 2D Perlin noise, as opposed to the 3D noise currently used by the game today.

Floating island carver noise

During Indev, floating islands were produced by using an extra noise generator to carve out air into existing terrain.

Scale noise

A noise generator that appears to only have effects in hilly areas, with little to no impact on flat low-lying regions.

Tree density noise

A noise generator existed since Infdev which dictated the density of trees in the world. In Infdev to Alpha, it was the sole value used to determine tree density. In Beta, it was used along with an added value provided by the biome. This noise generator was likely removed in early release versions although this is yet to be confirmed, as a similar noise generator also seems to exist in 1.12.2.

Sand noise

A noise generator was used for generating the surface block used for low-altitude areas commonly characteristic of beaches. This noise generator would determine if a given area would use sand as the surface block or not. This was probably removed in Beta 1.8.

Gravel noise

Effectively identical to sand noise and used in very similar cases, except that the Y and Z parameters were switched. This determined where gravel would generate in beach-like areas, resulting in two-block deep depressions.

Biomes prior to Beta 1.8

Template:Info needed section Biomes before Beta 1.8 used two noise generators: one of them for temperature and the other for rainfall values. The placement of biomes depended of the values of these noise generators.

Overflowing

Template:Main Template:More images Noise generators are capable of overflowing once hitting the integer limit for their given data type, producing spectacular results. The most notable of these are the Far Lands, resulting in noise generator overflows being referred to as types of Far Lands as a result.

In current versions of Java Edition, overflowing is not usually visible without either direct modification to terrain generation code or possibly via Minecraft:custom world generation.

Minecraft:zh:噪声生成器