Noise settings

This feature is exclusive to Java Edition.
 

Noise settings are for generating the shape of the terrain and noise caves, and what blocks the terrain is generated with, stored as JSON files within a data pack in the path data/<namespace>/worldgen/noise_settings, and are used with the minecraft:noise generator in a dimension. Vanilla settings include minecraft:overworld for normal Overworld generation, minecraft:amplified for Amplified Overworld generation, minecraft:nether for regular Nether generation, minecraft:caves for Cave (Nether-like generation but with Overworld terrain features) generation, minecraft:end for regular End generation, and minecraft:floating_islands for Floating Islands (similar to The End outer islands) generation.

JSON format

  • [NBT Compound / JSON Object]: Root object.
    • [Int] sea_level: The sea level in this dimension. Note that this value only affects world generation. The sea level for mob spawning is a fixed value 63.
    • [Boolean] disable_mob_generation: Disables creature spawning upon chunk generation.
    • [Boolean] ore_veins_enabled: Whether ore veins generate.
    • [Boolean] aquifers_enabled: Whether aquifers generate. If set to false, almost all caves below sea level are filled with water.
    • [Boolean] legacy_random_source: Whether to use the old random number generator from before 1.18 for world generation.
    • [NBT Compound / JSON Object] default_block: The default block used for the terrain.
      • Block state see Template:Nbt inherit/block state/template
    • [NBT Compound / JSON Object] default_fluid: The default block used for seas and lakes.
      • Block state see Template:Nbt inherit/block state/template
    • [NBT List / JSON Array] spawn_target: (Required, but can be empty) A list of climate parameters to specify the points around which the player tries to spawn. The game selects some horizonal locations that are not more than 2560 blocks away from the origin (0,0), then sample the noise values ("depth" noise and "offset" are always 0), and calculate ((x^2+z^2)^2) / 390625 + (the square of the mininum distance to the ranges in the list). The player spawns near the location where this value is smallest.
      • [NBT Compound / JSON Object]:A range.
        • Noise parameter for biome (See World generation § Biomes for usages of each parameter in vanilla game) see Template:Nbt inherit/parameter point/template
    • [NBT Compound / JSON Object] noise: Fields for world generation.
      • [Int] min_y: The minimum Y coordinate where terrain starts generating. Value between -2032 and 2031 (both inclusive). Must be divisible by 16.
      • [Int] height: The total height where terrain generates. Value between 0 and 4064 (both inclusive). Must be divisible by 16. And min_y + height cannot exceed 2032.
      • [Int] size_horizontal: Value between 0 and 4 (both inclusive)
      • [Int] size_vertical: Value between 0 and 4 (both inclusive)
    • [NBT Compound / JSON Object] noise_router: The noise router routes density functions to noise parameters used for world generation.
    • [NBT Compound / JSON Object] surface_rule: The main surface rule to place blocks in the terrain.

Noise router

Main article: Noise router

The noise router is a collection of density functions. Density functions compute a value for each block position. They are used for terrain generation, biome layout, aquifers, ore veins, and more.

Surface rule

Main article: Surface rule

Surface rules are used to determine the block for each solid position of the terrain. Noise settings contains one root [NBT Compound / JSON Object] surface_rule field that contains all the logic for placing the different surface blocks.

History

This section of the article is empty.
 
You can help by expanding it.

External links

Navigation