464 lines
25 KiB
JSON
464 lines
25 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" }
|
|
}
|
|
}
|
|
}
|
|
}
|