Files
minecraft-bedrock-json-schemas/behaviour/biomes/biomes.json
2021-02-24 22:48:32 +01:00

610 lines
26 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$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" } }]
},
"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, "format": "molang" }, { "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": "#/defintions/iteration" } },
"after_surface_pass": {
"title": "First pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/defintions/iteration" }
},
"after_underground_pass": {
"title": "First pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/defintions/iteration" }
},
"before_sky_pass": { "title": "First pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/defintions/iteration" } },
"before_surface_pass": {
"title": "First pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/defintions/iteration" }
},
"before_underground_pass": {
"title": "First pass",
"description": "UNDOCUMENTED",
"type": "array",
"items": { "$ref": "#/defintions/iteration" }
},
"final_pass": { "title": "First pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/defintions/iteration" } },
"first_pass": { "title": "First pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/defintions/iteration" } },
"surface_pass": { "title": "First pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/defintions/iteration" } },
"sky_pass": { "title": "First pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/defintions/iteration" } },
"underground_pass": { "title": "First pass", "description": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/defintions/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": "Nether surface",
"description": "Use default Minecraft Nether terrain generation.",
"type": "object",
"additionalProperties": false,
"properties": {}
},
"BC": {
"title": "The end surface",
"description": "Use default Minecraft End terrain generation.",
"type": "object",
"additionalProperties": false,
"properties": {}
},
"BD": {
"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" }
}
},
"BE_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" }
]
}
]
}
}
]
},
"BE": {
"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/BE_transformation" },
"mutate_transformation": { "title": "Mutate transformation", "description": "UNDOCUMENTATED", "$ref": "#/definitions/BE_transformation" },
"river_transformation": { "title": "River transformation", "description": "UNDOCUMENTATED", "$ref": "#/definitions/BE_transformation" },
"shore_transformation": { "title": "Shore transformation", "description": "UNDOCUMENTATED", "$ref": "#/definitions/BE_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"
}
]
}
}
}
},
"BF": {
"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" }
}
},
"BG": {
"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:nether_surface": { "$ref": "#/definitions/BB" },
"minecraft:the_end_surface": { "$ref": "#/definitions/BC" },
"minecraft:capped_surface": { "$ref": "#/definitions/BD" },
"minecraft:overworld_generation_rules": { "$ref": "#/definitions/BE" },
"minecraft:nether_generation_rules": { "$ref": "#/definitions/BF" },
"minecraft:legacy_world_generation_rules": { "$ref": "#/definitions/BG" }
}
}
}
}