Skip to content

Settings Components

Settings components are individual parts that make up provider settings. All components are under the moderner_beta namespace unless stated otherwise, for example the provider component is referred to as moderner_beta:provider. In JSON, provider settings are a map where the keys are the IDs of components and the values are the values of the components.

Universal Components

preset

  • Type: string
  • Default: null

When settings have this component, the provider settings will inherit all of the settings from the associated settings preset. If there are any other components in the settings, those components will override the preset's components. This can be used to ensure compatibility with newer versions of Moderner Beta which may introduce breaking changes that impact older settings, however any omitted fields will exhibit their default values.

Example: A chunk provider based on Beta 1.7.3 with noise caves enabled.

json
{
  "moderner_beta:preset": "moderner_beta:beta",
  "moderner_beta:cave_generation": {
    "useNoiseCaves": true
  }
}

Chunk Components

provider

  • Type: string
  • Default: required

Controls what chunk provider is used. This determines the terrain generator used to generate the base terrain.

Values:

  • moderner_beta:beta: Beta 1.7.3 terrain generation. Similar to Alpha but terrain height is influenced by climate. Climate can be overridden by climatic biome providers, otherwise vanilla beta climate will be used for terrain height.
  • moderner_beta:skylands: Beta 1.7.3 skylands terrain generation with floating islands and no bottom layer to the world.
  • moderner_beta:alpha: Alpha v1.1.2_01 terrain generation, purely independent from biome providers. Includes sand and gravel beaches as well as exposed stone basins.
  • moderner_beta:infdev_611: Infdev terrain generation from June 11th 2010. Similar to Alpha but with differently shaped landmasses.
  • moderner_beta:infdev_420: Infdev terrain generation from April 20th 2010. Based on Infdev 415 but with larger regions of flat terrain as well as larger distances between dense forests and barren plains.
  • moderner_beta:infdev_415: Infdev terrain generation from April 15th 2010. Lots of tall hills and lots of ponds scattered around.
  • moderner_beta:infdev_227: Infdev terrain generation from February 27th 2010. Features 2D perlin noise terrain with a rough look. May include brick pyramids and obsidian walls.
  • moderner_beta:indev: Indev terrain generation in a finite area of the world. Similar to Classic 0.30 but it supports different level types and themes.
  • moderner_beta:classic_0_30: Classic 0.30 terrain generation in a finite region of the world.
  • moderner_beta:pe: Pocket Edition v0.6.0 alpha terrain generation. Similar to Beta with the only major difference being the use of a Mersenne Twister for RNG instead of Java's built-in implementation.
  • moderner_beta:early_release: Beta 1.8 - Release 1.6.4 terrain generation. Based on Beta with the additional feature of having biomes control the height of the terrain. Extended Biome IDs from fractal layers can be used to provide a wider range of heights. Lacks sand and gravel beaches from earlier providers.
  • moderner_beta:major_release: Release 1.7.2 - Release 1.17.1 terrain generation. Similar to Early Release but with a height limit of 256 instead of 128, gravel generating on ocean floors and a lack of exposed stone basins.
  • moderner_beta:early_bedrock: (Added in 3.1.0) Bedrock Edition v0.9.0 alpha - 1.17.41 terrain generation. Similar to Major Release but with a height limit of 128 instead of 256 as well as different biome height weighting.

deepslate_generation

Controls how deepslate generates in the world. If surface rules are enabled, this component is ignored.

Properties:

  • enabled
    • Type: bool
    • Default: true
    • Description: Enables deepslate generation.
  • minY
    • Type: int
    • Default: 0
    • Description: The Y level below which deepslate fully generates.
  • minY
    • Type: int
    • Default: 8
    • Description: The Y level above which deepslate does not generate. Between minY and maxY, there is a smooth transition from stone to deepslate.
  • block
    • Type: identifier
    • Default: minecraft:deepslate
    • Description: The block to use as deepslate.

use_surface_rules

  • Type: bool
  • Default: false

Enables surface rules to generate in infinite worlds in place of Moderner Beta's custom surface builders. Extra surface features like beaches and basins generate still generate when surface rules are enabled. Surface rules create more advanced terrain generation features, most prominently in badlands where they are used extensively for generating terracotta stripes and grassy areas. Enabling surface rules does incur a performance cost however, slowing down world generation by roughly 50%.

sea_level_offset

  • Type: int
  • Default: 0

Offsets the sea level. Most chunk providers have the sea level set to 64 but the Early Release and Major Release providers have the sea level set to 63.

cave_generation

Controls how caves generate in infinite worlds. This allows for configuration of both carver caves and noise caves.

Properties:

  • useCarvers
    • Type: bool
    • Default: true
    • Description: Controls whether carvers generate. This includes carver caves and canyons.
  • useNoiseCaves
    • Type: bool
    • Default: false
    • Description: Allow for the generation of large, open noise caves from modern versions of the game. This significantly slows down world generation by roughly 50%.
  • fixCaveBorders
    • Type: bool
    • Default: false
    • Description: If beta carvers are generated, this property controls whether Beta 1.7 carvers or Beta 1.8 carvers are used. When this is enabled, the bug where beta caves cut off at chunk borders is fixed and certain caves have a chance to generate much larger.
  • forceBetaCaves
    • Type: bool
    • Default: true
    • Description: When enabled, vanilla cave carvers are replaced with beta cave carvers which are more dense, akin to "swiss cheese".
  • forceBetaCanyons
    • Type: bool
    • Default: true
    • Description: When enabled, vanilla canyon carvers are replaced with beta canyon carvers which generate more frequently.
  • seedMethod
    • Type: string
    • Default: modern
    • Description: Controls how carvers are seeded. Note that setting the seed method to beta may cause carvers to stack on top of each other.
    • Possible values:
      • beta
      • early_release
      • modern
      • bedrock (Added in 3.1.0) (Despite what the name implies, this does not make cave generation accurate to Bedrock Edition)

noise_scale

Noise scale settings control the scale of noise in infinite worlds. This gives the user the greatest control in shaping the world's terrain, from smooth rolling hills to sharp jagged mountains.

Properties:

  • coordinate
    • Type: float
    • Default: 684.412
    • Description: Controls the overall scale of terrain noise across the X and Z axes. Lower values result in more stretched out landscapes and higher values result in more jagged terrain. Affects both main noise and selector noise.
  • height
    • Type: float
    • Default: 684.412
    • Description: Controls the overall scale of terrain noise across the Y axis. Lower values result in smoother mountains and higher values result in a greater prominence of overhangs. Affects both main noise and selector noise.
  • upperLimit
    • Type: float
    • Default: 512
    • Description: Controls the density of terrain near the bottom of the world.
  • lowerLimit
    • Type: float
    • Default: 512
    • Description: Controls the density of terrain near the top of the world.
  • depthNoiseX/Z
    • Type: float
    • Default: 200
    • Description: Controls the scale of depth noise in the X/Z axes. This is most noticable in Infdev, Alpha and Beta chunk providers where depth noise controls the size of landmasses. Smaller values result in larger landmasses.
  • mainNoiseX/Z
    • Type: float
    • Default: 80
    • Description: Controls the scale of main noise across the X/Z axes. Has similar effects to manipulating coordinate noise scale.
  • mainNoiseY
    • Type: float
    • Default: 160
    • Description: Controls the scale of main noise across the Y axes. Has similar effects to manipulating coordinate noise scale.
  • baseSize
    • Type: float
    • Default: 8.5
    • Description: The base level that terrain generates at in noise coordinates.
  • stretchY
    • Type: float
    • Default: 12.0
    • Description: Controls the overall vertical stretch of the terrain. Lower values results in greater elevation.
  • farlands
    • Type: bool
    • Default: true
    • Description: Enables the farlands. This is a phenomenon where noise fails to generate coherent values at high distances. With default settings, this is around ±X/Z 12,550,820. Only effective on chunk providers based on Infdev 420 or later.

Example: Coordinate, height, depth and height stretch scales set to 1/3 of their default values with increased terrain height limit.

Example: Coordinate, height and depth scales set to high values and height stretch set to roughly 1/3 of its default value.

noise_slide

Noise slide settings control how noise is interpolated near the top and the bottom of the world.

Properties:

  • topTarget
    • Type: int
    • Default: 10
  • topSize
    • Type: int
    • Default: 3
  • topOffset
    • Type: int
    • Default: 0
  • bottomTarget
    • Type: int
    • Default: 15
  • bottomSize
    • Type: int
    • Default: 3
  • bottomOffset
    • Type: int
    • Default: 0

forced_biome_height

For use in Early Release and Major Release, forced biome height settings give the user control over what biomes have what height values. Biomes are referred by their extended ids.

Properties:

  • heightOverrides
    • Type: map[ext-biome, height-config]
    • Default: empty
    • Description: Override the height values of biomes. Height values are supplied by height config tags by default but this setting provides greater customizability over height values. The syntax for height configs are two floating point numbers separated by a semi-colon (;). For example, the default height config can be expressed as 0.1;0.3. The left number is the depth which signifies the base elevation of the biome and the right number is the scale which controls how stretched out the terrain is. High depths and low scales create plateaus, negative depths create bodies of water and high scales create mountainous terrain reminiscent of beta world generation.
  • depthWeight
    • Type: float
    • Default: 1
    • Description: Multiplier for every depth value of every biome.
  • depthOffset
    • Type: float
    • Default: 0
    • Description: Addition to every depth value of every biome.
  • scaleWeight
    • Type: float
    • Default: 1
    • Description: Multiplier for every scale value of every biome.
  • scaleOffset
    • Type: float
    • Default: 0
    • Description: Addition to every scale value of every biome.

infdev_227_structures

This component relates to structure generation for the Infdev 227 provider.

Properties:

  • brickPyramids
    • Type: bool
    • Default: false
    • Description: Generate solid brick pyramids 1024 blocks apart in the south-east quadrant of the world. A brick pyramid in the Infdev 325 preset
  • obsidianWalls
    • Type: bool
    • Default: false
    • Description: Generate obsidian walls from the origin across the X/Z axes of the world. A brick pyramid in the Infdev 325 preset

finite_level_properties

Configure the size, theme and type for finite levels.

Properties:

  • type
    • Type: string
    • Default: island
    • Description: The level type, only effective with the Indev chunk provider.
    • Possible values:
      • island
      • floating
      • inland
  • theme
    • Type: string
    • Default: normal
    • Description: The level theme, only effective with the Indev chunk provider. Unlike vanilla Indev, changing the theme does not modify the size of beaches which are instead controlled by the finite_beaches component. Note that the level theme does not modify which biome is used. Some themes may modify game rules for desired effects.
    • Possible values:
      • normal
      • hell
      • paradise
      • woods
  • width, length, height
    • Type: int
    • Default: 256, 256, 128
    • Description: Controls the size of the level. Extreme height values may result in undefined behavior.

finite_cave_generation

Control the cave generation in finite worlds. This is separate from the cave_generation component which has no use in this context.

Properties:

  • useCaves
    • Type: bool
    • Default: true
    • Description: Enable the generation of caves
  • use14aCaves
    • Type: bool
    • Default: false
    • Description: Give caves more of the shape they exhibited in Classic 0.0.14a.
  • rarity
    • Type: int
    • Default: 8192
    • Description: A 1 in X chance of generating a cave for every block in the level.
  • radius
    • Type: float
    • Default: 1
    • Description: Control the maximum radius of a cave.
  • length
    • Type: float
    • Default: 200
    • Description: Control the maximum length of a cave.

finite_noise

Control the noise scale of finite worlds. This is separate from the noise_scale component which has no use in this context.

Properties:

  • heightNoiseScale
    • Type: float
    • Default: 1.3
    • Description: The scale of height noise. Decreasing this value makes the terrain more stretched out horizontally.
  • selectorScale
    • Type: float
    • Default: 1.0
    • Description: The scale of selector noise. Decreasing this value makes cliffs more spread apart.
  • minHeightDamp
    • Type: float
    • Default: 6
    • Description: A division to the height value of low selection. Decreasing this value results in greater variation in elevation.
  • minHeightBoost
    • Type: float
    • Default: -4
    • Description: An offset to the height value of low selection. Decreasing this value results in lower terrain.
  • maxHeightDamp
    • Type: float
    • Default: 5
    • Description: A division to the height value of high selection. Decreasing this value results in greater variation in elevation.
  • maxHeightBoost
    • Type: float
    • Default: 6
    • Description: An offset to the height value of high selection. Decreasing this value results in lower terrain.
  • selectorOctaves
    • Type: int
    • Default: 6
    • Description: The amount of octaves of selector noise. Increasing this value results in more detailed cliff borders in addition to increasing the scale of selector noise.
  • heightUnderDamp
    • Type: float
    • Default: 1.25
    • Description: How much the height of terrain is compressed below the sea level. A value of one results in no compression, values greater than one results in flatter terrain and values lower than one result in deeper terrain.

finite_beaches

Control the beach generation in finite worlds. Two types of beaches generate in finite worlds: sand beaches and gravel beaches.

Properties:

  • sandThreshold
    • Type: float
    • Default: 8
    • Description: Controls the size of sand beaches. Lower values result in more beaches.
  • sandUnderAir
    • Type: bool
    • Default: true
    • Description: Allow sand beaches to generate beneath air.
  • sandUnderFluid
    • Type: bool
    • Default: false
    • Description: Allow sand beaches to generate beneath liquids.
  • gravelThreshold
    • Type: float
    • Default: 12
    • Description: Controls the size of gravel beaches. Lower values result in more beaches.
  • gravelUnderAir
    • Type: bool
    • Default: true
    • Description: Allow gravel beaches to generate beneath air.
  • gravelUnderFluid
    • Type: bool
    • Default: true
    • Description: Allow gravel beaches to generate beneath liquids.
  • prioritizeGravelBeaches
    • Type: bool
    • Default: false
    • Description: When a sand beach and a gravel beach can generate in the same spot, a gravel beach is generated if this property is set to true, otherwise a sand beach will take its place.

finite_pools

Control the generation of pools/lakes in finite worlds.

Properties:

  • waterRarity
    • Type: int
    • Default: 8000
    • Description: A 1 in X chance of water pools generating in each horizontal coordinate of the level.
  • lavaRarity
    • Type: int
    • Default: 20000
    • Description: A 1 in X chance of lava pools generating in each horizontal coordinate of the level.
  • uniformLavaHeights
    • Type: bool
    • Default: false
    • Description: Instead of generating more lava pools at lower levels of the world, give lava pools an even vertical spread.

spawn_indev_house

  • Type: bool
  • Default: true

For the Indev provider only. When set to true, a wooden house with a stone floor generates where the player spawns.

isles_properties

Without forced height, isles configuration allows for a survival island type experience or more restricted terrain with larger open oceans. This component is only effective on noise-based chunk providers.

Properties:

  • useIslands
    • Type: bool
    • Default: false
    • Description: Enable the generation of terrain as islands.
  • useOuterIslands
    • Type: bool
    • Default: true
    • Description: When enabled, more islands generate beyond the center island.
  • oceanSlideTarget
    • Type: float
    • Default: -200
    • Description: The target density for the depth of the ocean floor.
  • centerIslandShape
    • Type: string
    • Default: circle
    • Description: The shape of the center island.
    • Possible values:
      • circle
      • square
      • diamond
  • centerIslandRadius
    • Type: int
    • Default: 16
    • Description: The radius in chunks of the center island.
  • centerIslandFalloffDistance
    • Type: int
    • Default: 8
    • Description: The distance in chunks over which the center island transitions into the center ocean.
  • centerOceanRadius
    • Type: int
    • Default: 64
    • Description: The radius of the center ocean in chunks.
  • centerOceanFalloffDistance
    • Type: int
    • Default: 16
    • Description: The distance in chunks over which the center ocean transitions into outer islands.
  • outerIslandNoiseScale
    • Type: float
    • Default: 300
    • Description: The outer island/ocean size. Higher values result in larger islands and oceans.
  • outerIslandNoiseOffset
    • Type: float
    • Default: 0.25
    • Description: The proportion of outer islands to ocean. Higher values result in larger islands and less oceans.

Example: Legacy Console Edition style limited worlds can be imitated using isles settings. The settings shown here limit the main terrain to a 864x864 region.

json
{
  "useIslands": true,
  "useOuterIslands": false,
  "centerIslandShape": "square",
  "centerIslandRadius": 25,
  "centerIslandFalloffDistance": 2
}

Biome Components

provider

  • Type: string
  • Default: required

Controls what biome provider is used. This determines the distribution of biomes and climate.

Values:

  • moderner_beta:beta (climatic): Beta 1.7.3 biome generation generation. Biomes are distributed by noise and are determined by temperature, rainfall. No biomes can be added or removed, only replaced via climate mappings.
  • moderner_beta:single: Generate only a single biome throughout the entire world.
  • moderner_beta:pe (climatic): Same as the beta provider aside from the use of a Mersenne Twister for RNG instead of Java's built-in implementation.
  • moderner_beta:voronoi: Noise based like the beta provider, but 3D voronoi points sampled by temperature, rainfall and weirdness can be supplied.
  • moderner_beta:fractal: Generate biomes based on a series of fractal layers laid on top of each other. The fractal provider is the most versatile and it is also the most complex.
  • moderner_beta:beta_fractal (climatic): Same as the fractal provider but with layer-based climate akin to pre-1.2 generation.

single_biome

  • Type: identifier
  • Default: moderner_beta:beta_plains

Specifies the biome used for the single biome provider.

climate_scale

For noise-based providers, specifies the scale of different noise maps. Larger values result in smaller regions.

Properties:

  • temp
    • Type: float
    • Default: 0.025
    • Description: Temperature scale.
  • rain
    • Type: float
    • Default: 0.05
    • Description: Rainfall scale.
  • detail
    • Type: float
    • Default: 0.25
    • Description: Detail scale. This is not directly used for determining biomes, rather detail noise is used as an offset for other noises.
  • weird
    • Type: float
    • Default: 0.003125
    • Description: Weirdness scale. Only used for the voronoi provider.

climate_mappings

  • Type: map[string, climate-mapping]
  • Default: ...

For beta and PE providers, provides a map of climate zones to biomes. The following zones are supported:

  • desert
  • forest
  • ice_desert
  • plains
  • rainforest
  • savanna
  • shrubland
  • seasonal_forest
  • swampland
  • taiga
  • tundra

The syntax for a climate mapping map is as follows with all three fields being required for each mapping:

json
{
  "desert": {
    "biome": "moderner_beta:beta_desert",
    "oceanBiome": "moderner_beta:beta_ocean",
    "deepOceanBiome": "moderner_beta:beta_ocean"
  },
  "forest": {
    "biome": "moderner_beta:beta_forest",
    "oceanBiome": "moderner_beta:beta_ocean",
    "deepOceanBiome": "moderner_beta:beta_ocean"
  },
  // etc...
}

climate_distribution

For climatic providers, determines how climate is spread.

Properties:

  • fuzzyGrass

    • Type: bool
    • Default: true
    • Description: When enabled, short grass samples climate from more random positions, giving it more variation across biome transitions.
    DisabledEnabled
  • smoothBorders

    • Type: bool
    • Default: false
    • Description: When enabled, biomes with custom colors (e.g. swamps, badlands and cherry groves) have smooth transitions equivalent to 3x3 biome blending.
    DisabledEnabled

voronoi_points

  • Type: list[voronoi-point]
  • Default: none

For the voronoi provider, specify biomes at different climates via voronoi points. Each point must have an associated land biome, ocean biome and deep ocean biome as well as temperature, rainfall and weirdness values as floating point numbers between 0 and 1.

Example: Four biomes that cover the extremes of temperature and rainfall with an additional two biomes at the extremes of weirdness.

json
{
  "moderner_beta:voronoi_points": [
    {
      "biome": "minecraft:forest",
      "oceanBiome": "minecraft:warm_ocean",
      "deepOceanBiome": "minecraft:warm_ocean",
      "temp": 1.0,
      "rain": 1.0,
      "weird": 0.5
    },
    {
      "biome": "minecraft:desert",
      "oceanBiome": "minecraft:lukewarm_ocean",
      "deepOceanBiome": "minecraft:deep_lukewarm_ocean",
      "temp": 1.0,
      "rain": 0.0,
      "weird": 0.5
    },
    {
      "biome": "minecraft:taiga",
      "oceanBiome": "minecraft:cold_ocean",
      "deepOceanBiome": "minecraft:deep_cold_ocean",
      "temp": 0.0,
      "rain": 1.0,
      "weird": 0.5
    },
    {
      "biome": "minecraft:snowy_plains",
      "oceanBiome": "minecraft:frozen_ocean",
      "deepOceanBiome": "minecraft:deep_frozen_ocean",
      "temp": 0.0,
      "rain": 0.0,
      "weird": 0.5
    },
    {
      "biome": "minecraft:cherry_grove",
      "oceanBiome": "minecraft:ocean",
      "deepOceanBiome": "minecraft:ocean",
      "temp": 0.5,
      "rain": 0.5,
      "weird": 1.0
    },
    {
      "biome": "minecraft:plains",
      "oceanBiome": "minecraft:ocean",
      "deepOceanBiome": "minecraft:ocean",
      "temp": 0.5,
      "rain": 0.5,
      "weird": 0.0
    }
  ]
}

A preview of the result at 1:16 scale:

fractal_layers

Fractal layers are used with the fractal providers and are extremely customizable. The component consists of two parts: the pipeline which consists of the layers themselves, and the outputs which map different layers to different purposes.

Properties:

  • pipeline
    • Type: list[layer]
    • Default: land: constant_biome of plains
    • Description: All of the layers that result in the final biome generation. Learn more about layers at /reference/fractal-layers.
  • outputs
    • Type: map[string, string]
    • Default: "moderner_beta:biomes": "land"
    • Description: A map that assigns different layers to different purposes. Every fractal biome provider requires the moderner_beta:biomes output. Additionally, the beta fractal biome provider requires at least one moderner_beta:climate_x output with x being an index starting from zero with each index representing a 2x scale level.

use_ocean_biomes

  • Type: bool
  • Default: false

For noise-based providers, inject ocean biomes into bodies of water. Best used with chunk providers that do not have forced height.

temperature_height_scaling

  • Type: string
  • Default: none

Controls how temperature is calculated over varying Y levels. There are four formulas that can be used:

  • none: No scaling at all.
  • beta: Temperature decreases by 0.3 every 64 blocks upwards.
  • major_release: 1.7-1.17 behavior. Above Y=64, temperature decreases by roughly 0.1 every 64 blocks upwards with a slight noise offset of 8 blocks.
  • caves_and_cliffs: 1.18+ behavior. Above Y=80, temperature decreases by roughly 0.08 every 64 blocks upwards with a slight noise offset of 16 blocks.

Cave Biome Components

provider

  • Type: string
  • Default: required

Controls what cave biome provider is used. This determines the distribution of cave biomes over varying depths and coordinates.

Values:

  • moderner_beta:none: No cave biomes are generated.
  • moderner_beta:single: Generate only a single cave biome underground.
  • moderner_beta:voronoi: Noise-based with voronoi points spanning across different temperatures, rainfalls and depths.

single_biome

  • Type: identifier
  • Default: moderner_beta:beta_plains

Specifies the cave biome used for the single cave biome provider.

cave_biome_voronoi

For the voronoi cave biome provider, specifies noise scales and voronoi points for generation.

Properties:

  • horizontalScale
    • Type: float
    • Default: 32
    • Description: Controls the horizontal scale of "climate". Higher values makes cave biomes larger horizontally.
  • verticalScale
    • Type: float
    • Default: 16
    • Description: Controls the vertical scale of "climate". Higher values makes cave biomes larger vertically.
  • depthMinY
    • Type: float
    • Default: -64
    • Description: The lower anchor point for the normalized depth value used in voronoi points. Unlike what the name suggests, this property does not limit the range of depths where cave biomes can generate.
  • depthMaxY
    • Type: float
    • Default: 64
    • Description: The upper anchor point for the normalized depth value used in voronoi points. Unlike what the name suggests, this property does not limit the range of depths where cave biomes can generate.
  • points
    • Type: list[cave-voronoi-point]
    • Default: ...
    • Description: The voronoi points. Each point must have an identifier for a biome which can be empty for no cave biome as well as temp, rain and depth values between zero and one.