Added biomes schema

This commit is contained in:
DaanV2
2021-02-06 14:00:02 +01:00
parent 3e788aedcf
commit 2dac416125
14 changed files with 675 additions and 3 deletions

View File

@@ -13,6 +13,18 @@
"properties": {
"minecraft:climate": { "$ref": "./components/minecraft.climate.json" },
"minecraft:forced_features": { "$ref": "./components/minecraft.forced_features.json" },
"minecraft:overworld_height": { "$ref": "./components/minecraft.overworld_height.json" }
"minecraft:overworld_height": { "$ref": "./components/minecraft.overworld_height.json" },
"minecraft:ignore_automatic_features": { "$ref": "./components/minecraft.ignore_automatic_features.json" },
"minecraft:surface_parameters": { "$ref": "./components/minecraft.surface_parameters.json" },
"minecraft:surface_material_adjustments": { "$ref": "./components/minecraft.surface_material_adjustments.json" },
"minecraft:swamp_surface": { "$ref": "./components/minecraft.swamp_surface.json" },
"minecraft:frozen_ocean_surface": { "$ref": "./components/minecraft.frozen_ocean_surface.json" },
"minecraft:mesa_surface": { "$ref": "./components/minecraft.mesa_surface.json" },
"minecraft:nether_surface": { "$ref": "./components/minecraft.nether_surface.json" },
"minecraft:the_end_surface": { "$ref": "./components/minecraft.the_end_surface.json" },
"minecraft:capped_surface": { "$ref": "./components/minecraft.capped_surface.json" },
"minecraft:overworld_generation_rules": { "$ref": "./components/minecraft.overworld_generation_rules.json" },
"minecraft:nether_generation_rules": { "$ref": "./components/minecraft.nether_generation_rules.json" },
"minecraft:legacy_world_generation_rules": { "$ref": "./components/minecraft.legacy_world_generation_rules.json" }
}
}

View File

@@ -0,0 +1,46 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.capped_surface",
"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"
}
}
}

View File

@@ -5,9 +5,197 @@
"description": "Force specific decorative features (trees, plants, etc.) to appear in this Biome, regardless of normal decoration rules.",
"type": "object",
"minProperties": 0,
"maxProperties": 2,
"maxProperties": 11,
"additionalProperties": false,
"definitions": {
"coordinate": {
"oneOf": [
{
"type": "string",
"$ref": "../../../../molang/1.8.0/number.json",
"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": "../../../../molang/1.8.0/number.json"
},
{
"title": "Upper bound",
"description": "Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around",
"$ref": "../../../../molang/1.8.0/number.json"
}
]
},
"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
}
}
}
]
},
"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": "../../../../molang/1.8.0/number.json"
},
"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": "../../../../molang/1.8.0/number.json"
},
{
"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/coordinate" },
"y": { "title": "X", "$ref": "#/definitions/coordinate" },
"z": { "title": "X", "$ref": "#/definitions/coordinate" }
}
}
},
"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" }
}
}
}

View File

@@ -0,0 +1,42 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.frozen_ocean_surface",
"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"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.ignore_automatic_features",
"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": { }
}

View File

@@ -0,0 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.legacy_world_generation_rules",
"title": "Legacy world generation rules",
"description": "Additional world generation control applicable only to legacy limited worlds.",
"type": "object",
"additionalProperties": false,
"properties": { }
}

View File

@@ -0,0 +1,62 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.mesa_surface",
"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"
}
}
}

View File

@@ -0,0 +1,35 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.nether_generation_rules",
"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"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.nether_surface",
"title": "Nether surface",
"description": "Use default Minecraft Nether terrain generation.",
"type": "object",
"additionalProperties": false,
"properties": { }
}

View File

@@ -0,0 +1,94 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.overworld_generation_rules",
"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,
"definitions": {
"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"
}
]
}
]
}
}
]
}
},
"properties": {
"hills_transformation": {
"title": "Hills transformation",
"description": "UNDOCUMENTATED",
"$ref": "#/definitions/transformation"
},
"mutate_transformation": {
"title": "Mutate transformation",
"description": "UNDOCUMENTATED",
"$ref": "#/definitions/transformation"
},
"river_transformation": {
"title": "River transformation",
"description": "UNDOCUMENTATED",
"$ref": "#/definitions/transformation"
},
"shore_transformation": {
"title": "Shore transformation",
"description": "UNDOCUMENTATED",
"$ref": "#/definitions/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"
}
]
}
}
}
}

View File

@@ -0,0 +1,73 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.surface_material_adjustments",
"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": "../../../../molang/1.8.0/number.json", "title": "Min" },
{ "$ref": "../../../../molang/1.8.0/number.json", "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" }
]
}
}
}
}
}
}

View File

@@ -0,0 +1,42 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.surface_parameters",
"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"
}
}
}

View File

@@ -0,0 +1,42 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.swamp_surface",
"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"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.the_end_surface",
"title": "The end surface",
"description": "Use default Minecraft End terrain generation.",
"type": "object",
"additionalProperties": false,
"properties": { }
}