Files
minecraft-bedrock-json-schemas/behavior/biomes/biomes.json
2021-06-08 17:06:03 +02:00

665 lines
28 KiB
JSON
Vendored

{
"$id": "minecraft.behavior.biomes",
"type": "object",
"examples": [{ "plains": { "format_version": "1.12.0" } }],
"additionalProperties": {
"type": "object",
"title": "Biome",
"description": "A biome definition",
"allOf": [
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.12.0" } } }, "then": { "$ref": "#/definitions/A" } },
{ "properties": { "format_version": { "$ref": "#/definitions/BI" } } }
]
},
"definitions": {
"B": {
"title": "Climate",
"description": "Describes temperature, humidity, precipitation, etc. Biomes without this component will have default values.",
"type": "object",
"minProperties": 0,
"maxProperties": 7,
"additionalProperties": false,
"properties": {
"temperature": { "title": "Temperature", "description": "UNDOCUMENATED", "type": "number" },
"downfall": { "title": "Downfall", "description": "UNDOCUMENATED", "type": "number" },
"red_spores": { "title": "Red Spores", "description": "UNDOCUMENATED", "type": "number" },
"blue_spores": { "title": "Blue Spores", "description": "UNDOCUMENATED", "type": "number" },
"ash": { "title": "Ash", "description": "UNDOCUMENATED", "type": "number" },
"white_ash": { "title": "White Ash", "description": "UNDOCUMENATED", "type": "number" },
"snow_accumulation": {
"title": "Snow Accumulation",
"description": "UNDOCUMENATED",
"type": "array",
"items": [{ "type": "number" }, { "type": "number" }]
}
}
},
"C_coordinate": {
"oneOf": [
{
"type": "string",
"$ref": "#/definitions/D",
"description": "Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."
},
{
"type": "number",
"description": "Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."
},
{
"type": "object",
"description": "Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.",
"additionalProperties": false,
"required": ["distribution", "extent"],
"properties": {
"distribution": {
"title": "Distribution",
"description": "Type of distribution - uniform random, gaussian (centered in the range), or grid (either fixed-step or jittered)",
"type": "string",
"enum": ["uniform", "gaussian", "inverse_gaussian", "fixed_grid", "jittered_grid"]
},
"extent": {
"title": "Extent",
"description": "UNDOCUMENTATED",
"type": "array",
"items": [
{
"title": "Lower Bound",
"description": "Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around",
"$ref": "#/definitions/D"
},
{
"title": "Upper Bound",
"description": "Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around",
"$ref": "#/definitions/D"
}
]
},
"grid_offset": {
"title": "Step Size",
"description": "When the distribution type is grid, defines the offset along this axis",
"type": "integer",
"minimum": 0
},
"step_size": {
"title": "Step Size",
"description": "When the distribution type is grid, defines the distance between steps along this axis",
"type": "integer",
"minimum": 1
}
}
}
]
},
"C_iteration": {
"title": "Iteration",
"description": "UNDOCUMENTED",
"additionalProperties": false,
"required": ["iterations", "places_feature", "identifier"],
"properties": {
"coordinate_eval_order": {
"title": "Coordinate Eval Order",
"description": "The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.",
"type": "string",
"enum": ["xyz", "xzy", "yxz", "yzx", "zxy", "zyx"]
},
"identifier": { "title": "Identifier", "description": "UNDOCUMANTED", "type": "string" },
"iterations": { "title": "Iterations", "description": "Number of scattered positions to generate", "$ref": "#/definitions/D" },
"places_feature": { "title": "Places Feature", "description": "UNDOCUMANTED", "type": "string" },
"scatter_chance": {
"title": "Scatter Chance",
"oneOf": [
{
"type": "object",
"description": "Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.",
"additionalProperties": false,
"properties": {
"denominator": { "title": "Denominator", "description": "", "type": "integer", "minimum": 1 },
"numerator": { "title": "Numerator", "description": "", "type": "integer", "minimum": 1 }
}
},
{
"type": "string",
"description": "Probability (0-100) that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.",
"$ref": "#/definitions/D"
},
{
"type": "number",
"description": "Probability (0-100) that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will."
}
]
},
"x": { "title": "X", "$ref": "#/definitions/C_coordinate" },
"y": { "title": "X", "$ref": "#/definitions/C_coordinate" },
"z": { "title": "X", "$ref": "#/definitions/C_coordinate" }
}
},
"D": {
"title": "Molang Number",
"description": "The minecraft molang definition that results in a float",
"anyOf": [{ "type": "string", "minLength": 0 }, { "type": "number" }]
},
"C": {
"title": "Forced Features",
"description": "Force specific decorative features (trees, plants, etc.) to appear in this Biome, regardless of normal decoration rules.",
"type": "object",
"minProperties": 0,
"maxProperties": 11,
"additionalProperties": false,
"properties": {
"after_sky_pass": { "title": "First Pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/definitions/C_iteration" } },
"after_surface_pass": {
"title": "First Pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/definitions/C_iteration" }
},
"after_underground_pass": {
"title": "First Pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/definitions/C_iteration" }
},
"before_sky_pass": {
"title": "First Pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/definitions/C_iteration" }
},
"before_surface_pass": {
"title": "First Pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/definitions/C_iteration" }
},
"before_underground_pass": {
"title": "First Pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/definitions/C_iteration" }
},
"final_pass": { "title": "First Pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/definitions/C_iteration" } },
"first_pass": { "title": "First Pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/definitions/C_iteration" } },
"surface_pass": { "title": "First Pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/definitions/C_iteration" } },
"sky_pass": { "title": "First Pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/definitions/C_iteration" } },
"underground_pass": {
"title": "First Pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/definitions/C_iteration" }
}
}
},
"E": {
"title": "Overworld Height",
"description": "Noise parameters used to drive terrain height in the Overworld.",
"type": "object",
"minProperties": 0,
"maxProperties": 2,
"additionalProperties": false,
"properties": {
"noise_params": {
"title": "Noise Params",
"description": "UNDOCUMENATED",
"type": "array",
"items": [{ "type": "number" }, { "type": "number" }]
},
"noise_type": {
"title": "Noise Type",
"description": "UNDOCUMENATED",
"type": "string",
"enum": [
"stone_beach",
"deep_ocean",
"default",
"default_mutated",
"lowlands",
"river",
"ocean",
"taiga",
"mountains",
"highlands",
"mushroom",
"less_extreme",
"extreme",
"beach",
"swamp"
]
}
}
},
"F": {
"title": "Ignore Automatic Features",
"description": "No features will be automatically attached to this Biome, only features specified in the minecraft:forced_features component will appear.",
"type": "object",
"additionalProperties": false,
"properties": {}
},
"G": {
"title": "Surface Parameters",
"description": "Control the blocks used for the default Minecraft Overworld terrain generation.",
"type": "object",
"minProperties": 0,
"maxProperties": 6,
"additionalProperties": false,
"properties": {
"top_material": { "title": "Top Material", "description": "Controls the block type used for the surface of this biome.", "string": "string" },
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"string": "string"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"string": "boostringlean"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"string": "string"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"string": "string"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
}
}
},
"H": {
"title": "Surface Material Adjustments",
"description": "Specify fine-detail changes to blocks used in terrain generation (based on a noise function)",
"type": "object",
"additionalProperties": false,
"properties": {
"adjustments": {
"title": "Adjustments",
"description": "All adjustments that match the column's noise values will be applied in the order listed.",
"items": {
"title": "Adjustment",
"description": "UNDOCUMENTATED",
"type": "object",
"additionalProperties": false,
"properties": {
"height_range": {
"title": "Height Range",
"description": "Defines a range of noise values [min, max] for which this adjustment should be applied.",
"type": "array",
"items": [
{ "$ref": "#/definitions/D", "title": "Min" },
{ "$ref": "#/definitions/D", "title": "Max" }
]
},
"materials": {
"title": "Materials",
"description": "UNDOCUMENTATED",
"type": "object",
"additionalProperties": false,
"properties": {
"top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome when this adjustment is active.",
"type": "string"
},
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome when this adjustment is active.",
"type": "string"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome when this adjustment is active.",
"type": "string"
},
"foundation_material": {
"title": "Top Materials",
"description": "Controls the block type used deep underground in this biome when this adjustment is active.",
"type": "string"
},
"sea_material": {
"title": "Top Materials",
"description": "Controls the block type used in the bodies of water in this biome when this adjustment is active.",
"type": "string"
}
}
},
"noise_range": {
"title": "Noise Range",
"description": "Defines a range of noise values [min, max] for which this adjustment should be applied.",
"type": "array",
"items": [
{ "minimum": -1, "maximum": 1, "title": "Min" },
{ "minimum": -1, "maximum": 1, "title": "Max" }
]
}
}
}
}
}
},
"I": {
"title": "Swamp Surface",
"description": "Similar to overworld_surface. Adds swamp surface details.",
"type": "object",
"minProperties": 0,
"maxProperties": 6,
"additionalProperties": false,
"properties": {
"top_material": { "title": "Top Material", "description": "Controls the block type used for the surface of this biome.", "string": "string" },
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"string": "string"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"string": "boostringlean"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"string": "string"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"string": "string"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
}
}
},
"J": {
"title": "Frozen Ocean Surface",
"description": "Similar to overworld_surface. Adds icebergs.",
"type": "object",
"minProperties": 0,
"maxProperties": 6,
"additionalProperties": false,
"properties": {
"top_material": { "title": "Top Material", "description": "Controls the block type used for the surface of this biome.", "string": "string" },
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"string": "string"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"string": "boostringlean"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"string": "string"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"string": "string"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
}
}
},
"BA": {
"title": "Mesa Surface",
"description": "Similar to overworld_surface. Adds colored strata and optional pillars.",
"type": "object",
"minProperties": 0,
"maxProperties": 10,
"additionalProperties": false,
"properties": {
"top_material": { "title": "Top Material", "description": "Controls the block type used for the surface of this biome.", "string": "string" },
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"string": "string"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"string": "boostringlean"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"string": "string"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"string": "string"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
},
"clay_material": { "title": "Clay Material", "description": "UNDOCUMENTATED", "type": "string" },
"hard_clay_material": { "title": "Hard Clay Material", "description": "UNDOCUMENTATED", "type": "string" },
"bryce_pillars": { "title": "Bryce Pillars", "description": "UNDOCUMENTATED", "type": "boolean" },
"has_forest": { "title": "Has Forest", "description": "UNDOCUMENTATED", "type": "boolean" }
}
},
"BB": {
"title": "Mountain parameters",
"description": "Noise parameters used to drive mountain terrain generation in Overworld",
"type": "object",
"additionalProperties": false,
"minProperties": 0,
"maxProperties": 3,
"properties": {
"peaks_factor": { "type": "number", "title": "Peaks factor", "description": "UNDOCUMENTATED" },
"steep_material_adjustment": {
"type": "object",
"title": "Steep material adjustment",
"description": "Defines surface material for steep slopes",
"additionalProperties": false,
"properties": {
"material": { "type": "string", "title": "Material", "description": "Block type use as steep material." },
"north_slopes": { "type": "boolean", "title": "North slopes", "description": "Enable for north facing slopes" },
"south_slopes": { "type": "boolean", "title": "South slopes", "description": "Enable for south facing slopes" },
"west_slopes": { "type": "boolean", "title": "West slopes", "description": "Enable for west facing slopes" },
"east_slopes": { "type": "boolean", "title": "East slopes", "description": "Enable for east facing slopes" }
}
},
"top_slide": {
"title": "Top slide",
"description": "Controls the density tapering that happens at the top of the world to prevent terrain from reaching too high",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"title": "Enabled",
"description": "If false, top slide will be disabled. If true, other parameters will be taken into account"
}
}
}
}
},
"BC": {
"title": "Nether Surface",
"description": "Use default Minecraft Nether terrain generation.",
"type": "object",
"additionalProperties": false,
"properties": {}
},
"BD": {
"title": "End Surface",
"description": "Use default Minecraft End terrain generation.",
"type": "object",
"additionalProperties": false,
"properties": {}
},
"BE": {
"title": "Capped Surface",
"description": "Generates surface on blocks with non-solid blocks above or below.",
"type": "object",
"additionalProperties": false,
"required": ["floor_materials", "ceiling_materials", "sea_material", "foundation_material"],
"properties": {
"ceiling_materials": {
"title": "Ceiling Materials",
"description": "Materials used for the surface ceiling.",
"minItems": 1,
"items": { "title": "Block Reference", "description": "UNDOCUMENTATED", "type": "string" }
},
"floor_materials": {
"title": "Floor Materials",
"description": "Materials used for the surface floor.",
"minItems": 1,
"items": { "title": "Block Reference", "description": "UNDOCUMENTATED", "type": "string" }
},
"sea_material": { "title": "Sea Material", "description": "Material used to replace air blocks below sea level.", "type": "string" },
"foundation_material": {
"title": "Foundation Material",
"description": "Material used to repalce solid blocks that are not surface blocks.",
"type": "string"
},
"beach_material": { "title": "Beach Material", "description": "Material used to decorate surface near sea level.", "type": "string" }
}
},
"BF_transformation": {
"oneOf": [
{ "type": "string", "title": "Block Reference", "description": "UNDOCUMENTATED" },
{
"type": "array",
"description": "UNDOCUMENTATED",
"minItems": 1,
"items": {
"oneOf": [
{ "type": "string", "description": "UNDOCUMENTATED", "title": "Block Reference" },
{
"type": "array",
"description": "UNDOCUMENTATED",
"items": [
{ "title": "Biome Reference", "description": "UNDOCUMENTATED", "type": "string" },
{ "title": "_", "description": "UNDOCUMENTATED", "type": "integer" }
]
}
]
}
}
]
},
"BF": {
"title": "Overworld Generation Rules",
"description": "Control how this biome is instantiated (and then potentially modified) during world generation of the overworld.",
"type": "object",
"additionalProperties": false,
"properties": {
"hills_transformation": { "title": "Hills Transformation", "description": "UNDOCUMENTATED", "$ref": "#/definitions/BF_transformation" },
"mutate_transformation": { "title": "Mutate Transformation", "description": "UNDOCUMENTATED", "$ref": "#/definitions/BF_transformation" },
"river_transformation": { "title": "River Transformation", "description": "UNDOCUMENTATED", "$ref": "#/definitions/BF_transformation" },
"shore_transformation": { "title": "Shore Transformation", "description": "UNDOCUMENTATED", "$ref": "#/definitions/BF_transformation" },
"generate_for_climates": {
"title": "Generate For Climates",
"description": "Controls the world generation climate categories that this biome can spawn for. A single biome can be associated with multiple categories with different weightings.",
"type": "array",
"items": {
"title": "_",
"description": "UNDOCUMENTATED",
"type": "array",
"items": [
{
"title": "UNDOCUMENTATED",
"description": "Name of a climate category",
"type": "string",
"enum": ["medium", "warm", "lukewarm", "cold", "frozen"]
},
{
"title": "UNDOCUMENTATED",
"description": "Weight with which this biome should be selected, relative to other biomes in the same category",
"type": "integer"
}
]
}
}
}
},
"BG": {
"title": "Nether Generation Rules",
"description": "Controls how this biome is instantiated (and then potentially modified) during world generation of the nether.",
"type": "object",
"additionalProperties": false,
"properties": {
"target_temperature": {
"title": "Target Temperature",
"description": "Temperature with which this biome should selected, relative to other biomes.",
"type": "number"
},
"target_humidity": {
"title": "Target Humidity",
"description": "Humidity with which this biome should selected, relative to other biomes.",
"type": "number"
},
"target_altitude": {
"title": "Target Altitude",
"description": "Altitude with which this biome should selected, relative to other biomes.",
"type": "number"
},
"target_weirdness": {
"title": "Target Weirdness",
"description": "Weirdness with which this biome should selected, relative to other biomes.",
"type": "number"
},
"weight": { "title": "Weight", "description": "Weight with which this biome should selected, relative to other biomes.", "type": "number" }
}
},
"BH": {
"title": "Legacy World Generation Rules",
"description": "Additional world generation control applicable only to legacy limited worlds.",
"type": "object",
"additionalProperties": false,
"properties": {}
},
"A": {
"type": "object",
"title": "Biomes",
"description": "The definition of a biome",
"additionalProperties": {
"title": "Tag",
"type": "object",
"description": "Components with no namespace are treated as `tags': any name consisting of alphanumeric characters, `.` and `_` is permitted; the tag is attached to the biome so that either code or data may check for its existence; tag components may not have member fields.",
"additionalProperties": false
},
"properties": {
"minecraft:climate": { "$ref": "#/definitions/B" },
"minecraft:forced_features": { "$ref": "#/definitions/C" },
"minecraft:overworld_height": { "$ref": "#/definitions/E" },
"minecraft:ignore_automatic_features": { "$ref": "#/definitions/F" },
"minecraft:surface_parameters": { "$ref": "#/definitions/G" },
"minecraft:surface_material_adjustments": { "$ref": "#/definitions/H" },
"minecraft:swamp_surface": { "$ref": "#/definitions/I" },
"minecraft:frozen_ocean_surface": { "$ref": "#/definitions/J" },
"minecraft:mesa_surface": { "$ref": "#/definitions/BA" },
"minecraft:mountain_parameters": { "$ref": "#/definitions/BB" },
"minecraft:nether_surface": { "$ref": "#/definitions/BC" },
"minecraft:the_end_surface": { "$ref": "#/definitions/BD" },
"minecraft:capped_surface": { "$ref": "#/definitions/BE" },
"minecraft:overworld_generation_rules": { "$ref": "#/definitions/BF" },
"minecraft:nether_generation_rules": { "$ref": "#/definitions/BG" },
"minecraft:legacy_world_generation_rules": { "$ref": "#/definitions/BH" }
}
},
"BI": {
"title": "Format Version",
"description": "A version that tells minecraft what type of data format can be expected when reading this file.",
"pattern": "^(1)\\.([0-9]+)\\.([0-9]+)$",
"type": "string"
}
}
}