Biome definition

(Redirected from Biome JSON format)
Jump to navigation Jump to search
This feature is exclusive to Java Edition.
 

Biomes stored as JSON files within a data pack in the path data/<namespace>/worldgen/biome.

JSON format[edit | edit source]

  • [NBT Compound / JSON Object]: The root object.
    • [Boolean] has_precipitation: Determines whether or not the biome has precipitation.
    • [Float] temperature: Controls gameplay features like grass and foliage color, and a height adjusted temperature (which controls whether raining or snowing occurs if [Boolean] has_precipitation is true, and generation details of some features).
    • [String] temperature_modifier: (optional, defaults to none) Either none or frozen. Modifies temperature before calculating the height adjusted temperature. If frozen, makes some places' temperature high enough to rain (0.2).
    • [Float] downfall: Controls grass and foliage color.
    • [NBT Compound / JSON Object] effects: Ambient effects in this biome.
      • [Int] fog_color: (Required, but the normal value for the overworld is 12638463) Decimal value converted from Hex color to use for fog.
      • [Int] sky_color: Decimal value converted from Hex color to use for the sky.
      • [Int] water_color: (Required, but the normal value is 4159204) Decimal value converted from Hex color to use for water blocks and cauldrons.
      • [Int] water_fog_color: (Required, but the normal value is 329011) Decimal value converted from Hex color to use for fog underwater.
      • [Int] foliage_color: (optional) Decimal value converted from Hex color to use for tree leaves and vines. If not present, the value depends on downfall and the temperature.
      • [Int] grass_color: (optional) Decimal value converted from Hex color to use for grass blocks, short grass, tall grass, ferns, tall ferns, and sugar cane. If not present, the value depends on downfall and temperature.
      • [String] grass_color_modifier: (optional, defaults to none) Can be none, dark_forest or swamp.
      • [NBT Compound / JSON Object] particle: (optional) The particle to use throughout this biome.
        • [Float] probability: Controls how often the particle spawns. Value higher than 1 is regarded as 1, lower than 0 is regarded as 0.
        • [NBT Compound / JSON Object] options: Controls what particle to use. See also Commands/particle.
      • [String][NBT Compound / JSON Object] ambient_sound: One sound event (an [String] ID, or a new [NBT Compound / JSON Object] sound event definition) — Optional. The ambient sound.
      • [NBT Compound / JSON Object] mood_sound: (optional) Settings for mood sound.
        • [String][NBT Compound / JSON Object] sound: One sound event (an [String] ID, or a new [NBT Compound / JSON Object] sound event definition) — The mood sound.
        • [Int] tick_delay: The mininum delay between two plays. See also Ambience#Mood_algorithm.
        • [Int] block_search_extent: Determines the cubic range of possible positions to find place to play the mood sound. The player is at the center of the cubic range, and the edge length is 2 * block_search_extent.
        • [Double] offset: The higher the value makes the sound source further away from the player.
      • [NBT Compound / JSON Object] additions_sound: (optional) Settings for additions sound.
        • [String][NBT Compound / JSON Object] sound: One sound event (an [String] ID, or a new [NBT Compound / JSON Object] sound event definition) — The additions sound.
        • [Double] tick_chance: The propability to start playing the sound per tick. Value higher than 1 is regarded as 1, lower than 0 is regarded as 0.
      • [NBT List / JSON Array] music: (optional) Specific music that should be played in the biome. Represent each individual music with a chance to play based on weight.
        • [NBT Compound / JSON Object] Each element of the list:
          • [NBT Compound / JSON Object] data The actual data pertaining to the music.
            • [String][NBT Compound / JSON Object] sound: One sound event (an [String] ID, or a new [NBT Compound / JSON Object] sound event definition) — The music sound.
            • [Int] min_delay: The min delay between two music.
            • [Int] max_delay: The max delay between two music.
            • [Boolean] replace_current_music: Whether or not to replace music which is already playing.
          • [Int] weight: The weight chance of the music playing.
    • [String][NBT Compound / JSON Object][NBT List / JSON Array] carvers: Any number of carver(s) (a [String] tag with #, or an [NBT List / JSON Array] array containing [String] IDs) (Required, but can be empty)
    • [NBT List / JSON Array] features: List of generation steps (Can be empty). Usually there are 11 steps, but any amount is possible.
      • [String][NBT Compound / JSON Object][NBT List / JSON Array] each entry of the list: Any number of placed feature(s) (a [String] tag with #, or an [NBT List / JSON Array] array containing either [String] IDs or new [NBT Compound / JSON Object] definitions in the same data type) — Features to place during that generation step. The same placed features in the same step in two biomes cannot be in different orders. In each step, all feature IDs need to be ordered consistently across biomes. For example, in the UNDERGROUND_ORES step of minecraft:plains, ore_dirt is before ore_gravel. In other biomes' UNDERGROUND_ORES step, if both ore_dirt and ore_gravel as present, ore_gravel cannot be before ore_dirt.
      These generation steps are also referred to by name for structure generation. They are, in order:
      • RAW_GENERATION: Used by small end island features in vanilla.
      • LAKES: Used by lava lakes in vanilla.
      • LOCAL_MODIFICATIONS: Used for amethyst geodes and icebergs in vanilla.
      • UNDERGROUND_STRUCTURES: Used for dungeons and overworld fossils in vanilla.
      • SURFACE_STRUCTURES: Used for desert wells and blue ice patches in vanilla.
      • STRONGHOLDS: Not used for features in vanilla.
      • UNDERGROUND_ORES: Used for overworld ore blobs, overworld dirt/gravel/stone variant blobs, and sand/gravel/clay disks in vanilla.
      • UNDERGROUND_DECORATION: Used for infested block blobs, nether gravel and blackstone blobs, and all nether ore blobs in vanilla.
      • FLUID_SPRINGS: Used for water and lava springs in vanilla.
      • VEGETAL_DECORATION: Used for trees, bamboo, cacti, kelp, and other ground and ocean vegetation in vanilla.
      • TOP_LAYER_MODIFICATION: Used for surface freezing in vanilla.
    • [Float] creature_spawn_probability: (optional) Higher value results in more creatures spawned in world generation. Must be between 0.0 and 0.9999999 (both inclusive).
    • [NBT Compound / JSON Object] spawners: (Required, but can be empty. If this object doesn't contain a certain category, mobs in this category do not spawn.) Entity spawning settings.
      • [NBT List / JSON Array] <mob category>: (Can be empty. If empty, mobs in this category do not spawn.) The key must be one of monster, creature, ambient, water_creature, underground_water_creature, water_ambient, misc, or axolotls. A list of spawner data objects, one for each mob which should spawn in this biome.
        • [NBT Compound / JSON Object]: The spawner data for a single mob.
          • [String] type: The namespaced entity id of the mob.
          • [Int] weight: How often this mob should spawn, higher values produce more spawns.
          • [Int] minCount: The minimum count of mobs to spawn in a pack. Must be greater than 0.
          • [Int] maxCount: The maximum count of mobs to spawn in a pack. Must be greater than 0. And must be not less than [Int] minCount.
    • [NBT Compound / JSON Object] spawn_costs: (Required, but can be empty. Only mobs listed here use the spawn cost mechanism) See Mob spawning#Spawn costs for details.
      • [NBT Compound / JSON Object] <entity id>: The namespaced entity id of the mob.
        • [Double] energy_budget: New mob's maximum potential.
        • [Double] charge: New mob's charge.
An interactive widget is being loaded. If this does not work for you, please reload the page or check if JavaScript is enabled.

History[edit | edit source]

Java Edition
1.16.220w28aAdded experimental support for biomes in data packs.
1.16.220w30aAdded the grass_color, foliage_color, water_color, and water_fog_color effects properties.
1.16.2pre2Added the player_spawn_friendly property.
1.1922w11aRemoved the category field. Functionality has been moved to biome tags.
1.19.3Pre-release 3Now when specifying a sound event, a fixed audible range can be also specified within an object.
1.19.423w03aRenamed the precipitation field to has_precipitation. And now it is a boolean, and when it is true, whether it rains or snows are determined only by temperature. Before, it can be one of "none", "rain" and "snow".[1]
Pre-release 1Now [Int] minCount and [Int] maxCount in [NBT Compound / JSON Object] spawners must be a positive integer. And [Int] maxCount must be not less than [Int] minCount.
1.21.2Carver types have been removed. The carvers field now lists carvers directly instead of having to specify the type.

External links[edit | edit source]

References[edit | edit source]

Navigation[edit | edit source]