* - Updated old biome format

* - Added biome tags component

* - Added dismount mode, and rider enter/exit event

* - Made surface_color not required

* - Update float wander goal

* - Update follow mob behavior

* - Added music def field

* - Added camera fields to rideable

* - Add array snippet

* - Updated leashable component with presets

* - Made texture field optional in destruction particles

* - Marked isotropic as stable

* - Moved can_be_stolen back

* - Updated tempt goal

* - Added float tempt behavior

* - Made heightmap project optional

* - Added distance based render methods

* - Marked tint method as stable

* - Added droop item y offset

* - Added has_equipment_tag filter

* - Remove unnused test.json

* - Allow for custom components

* - Add new block culling support

* - Removed enum for biome tags in support of custom biomes

* - Added replace_biomes component

* - Fix errors
This commit is contained in:
Xterionix
2025-04-29 12:02:06 +05:00
committed by GitHub
parent 9a916b580b
commit ae9e79c04d
50 changed files with 799 additions and 568 deletions

View File

@@ -11,6 +11,10 @@
"prefix": "json.object", "prefix": "json.object",
"body": "\"title\": \"\",\n\"description\": \"\",\n\"type\": \"object\", \n\"additionalProperties\": false,\n\"properties\": {}" "body": "\"title\": \"\",\n\"description\": \"\",\n\"type\": \"object\", \n\"additionalProperties\": false,\n\"properties\": {}"
}, },
"array": {
"prefix": "json.array",
"body": "\"title\": \"\",\n\"description\": \"\",\n\"type\": \"array\", \n\"items\": {\n \"type\": \"\"\n}"
},
"number": { "number": {
"prefix": "json.number", "prefix": "json.number",
"body": "\"title\": \"\",\n\"description\": \"\",\n\"type\": \"number\", \n\"minimum\": 0" "body": "\"title\": \"\",\n\"description\": \"\",\n\"type\": \"number\", \n\"minimum\": 0"

View File

@@ -1,39 +1,27 @@
{ {
"$schema": "http://json-schema.org/draft-07/schema", "$schema": "http://json-schema.org/draft-07/schema",
"$id": "minecraft.behavior.biomes", "$id": "blockception.minecraft.behavior.biome",
"required": ["format_version", "minecraft:biome"],
"type": "object", "type": "object",
"examples": [{ "plains": { "format_version": "1.20.80" } }], "title": "Biome Behavior",
"additionalProperties": { "description": "The minecraft biome behavior specification.",
"type": "object", "additionalProperties": false,
"title": "Biomes", "properties": {
"description": "The definition of a biome.", "format_version": { "$ref": "../../general/format_version.json" },
"additionalProperties": { "minecraft:biome": { "$ref": "./format/minecraft.biome.json" }
"title": "Tag", },
"type": "object", "defaultSnippets": [
"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 "label": "New biome",
}, "body": {
"properties": { "format_version": "${1:1.21.80}",
"format_version": { "$ref": "../../general/format_version.json" }, "minecraft:biome": {
"description": {
"minecraft:capped_surface": { "$ref": "./components/capped_surface.json" }, "identifier": "$2:${3:${TM_FILENAME/[\\.].*//}}"
"minecraft:climate": { "$ref": "./components/climate.json" }, },
"minecraft:consolidated_features": { "$ref": "./components/consolidated_features.json" }, "components": "^{$4}"
"minecraft:creature_spawn_probability": { "$ref": "./components/creature_spawn_probability.json" }, }
"minecraft:frozen_ocean_surface": { "$ref": "./components/frozen_ocean_surface.json" }, }
"minecraft:legacy_world_generation_rules": {
"$ref": "./components/legacy_world_generation_rules.json"
},
"minecraft:mesa_surface": { "$ref": "./components/mesa_surface.json" },
"minecraft:mountain_parameters": { "$ref": "./components/mountain_parameters.json" },
"minecraft:nether_generation_rules": { "$ref": "./components/nether_generation_rules.json" },
"minecraft:nether_surface": { "$ref": "./components/nether_surface.json" },
"minecraft:overworld_generation_rules": { "$ref": "./components/overworld_generation_rules.json" },
"minecraft:overworld_height": { "$ref": "./components/overworld_height.json" },
"minecraft:surface_material_adjustments": { "$ref": "./components/surface_material_adjustments.json" },
"minecraft:surface_parameters": { "$ref": "./components/surface_parameters.json" },
"minecraft:swamp_surface": { "$ref": "./components/swamp_surface.json" },
"minecraft:the_end_surface": { "$ref": "./components/the_end_surface.json" }
} }
} ]
} }

View File

@@ -1,31 +0,0 @@
{
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.climate",
"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": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" },
"downfall": { "title": "Downfall", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" },
"red_spores": { "title": "Red Spores", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" },
"blue_spores": { "title": "Blue Spores", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" },
"ash": { "title": "Ash", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" },
"white_ash": { "title": "White Ash", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" },
"snow_accumulation": {
"title": "Snow Accumulation",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
}

View File

@@ -1,8 +0,0 @@
{
"$id": "minecraft.behavior.biomes.components.minecraft.consolidated_features",
"title": "Consolidated Features",
"description": "UNDOCUMENTED",
"type": "object",
"additionalProperties": false,
"properties": {}
}

View File

@@ -1,8 +0,0 @@
{
"$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

@@ -1,41 +0,0 @@
{
"$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": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" },
"hard_clay_material": { "title": "Hard Clay Material", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" },
"bryce_pillars": { "title": "Bryce Pillars", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" },
"has_forest": { "title": "Has Forest", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }
}
}

View File

@@ -1,8 +0,0 @@
{
"$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

@@ -1,32 +0,0 @@
{
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.overworld_height",
"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": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
},
"noise_type": {
"title": "Noise Type",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"type": "string",
"enum": ["stone_beach", "deep_ocean", "default", "default_mutated", "lowlands", "river", "ocean", "taiga", "mountains", "highlands", "mushroom", "less_extreme", "extreme", "beach", "swamp"]
}
}
}

View File

@@ -1,5 +1,5 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.capped_surface", "$id": "blockception.minecraft.behavior.biomes.minecraft.capped_surface",
"title": "Capped Surface", "title": "Capped Surface",
"description": "Generates surface on blocks with non-solid blocks above or below.", "description": "Generates surface on blocks with non-solid blocks above or below.",
"type": "object", "type": "object",
@@ -11,10 +11,7 @@
"description": "Materials used for the surface ceiling.", "description": "Materials used for the surface ceiling.",
"minItems": 1, "minItems": 1,
"items": { "items": {
"title": "Block Reference", "$ref": "../../../../general/block/reference.json"
"description": "A block reference.",
"$comment": "UNDOCUMENTED",
"type": "string"
} }
}, },
"floor_materials": { "floor_materials": {
@@ -22,18 +19,23 @@
"description": "Materials used for the surface floor.", "description": "Materials used for the surface floor.",
"minItems": 1, "minItems": 1,
"items": { "items": {
"title": "Block Reference", "$ref": "../../../../general/block/reference.json"
"description": "A block reference.",
"$comment": "UNDOCUMENTED",
"type": "string"
} }
}, },
"sea_material": { "title": "Sea Material", "description": "Material used to replace air blocks below sea level.", "type": "string" }, "sea_material": {
"title": "Sea Material",
"description": "Material used to replace air blocks below sea level.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": { "foundation_material": {
"title": "Foundation Material", "title": "Foundation Material",
"description": "Material used to repalce solid blocks that are not surface blocks.", "description": "Material used to repalce solid blocks that are not surface blocks.",
"type": "string" "$ref": "../../../../general/block/reference.json"
}, },
"beach_material": { "title": "Beach Material", "description": "Material used to decorate surface near sea level.", "type": "string" } "beach_material": {
"title": "Beach Material",
"description": "Material used to decorate surface near sea level.",
"$ref": "../../../../general/block/reference.json"
}
} }
} }

View File

@@ -0,0 +1,52 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.climate",
"title": "Climate",
"description": "Describes temperature, humidity, precipitation, etc. Biomes without this component will have default values.",
"type": "object",
"additionalProperties": false,
"properties": {
"ash": {
"title": "Ash",
"description": "Density of ash precipitation visuals.",
"type": "number"
},
"blue_spores": {
"title": "Blue Spores",
"description": "Density of blue spore precipitation visuals.",
"type": "number"
},
"downfall": {
"title": "Downfall",
"description": "Amount that precipitation affects colors and block changes.",
"type": "number"
},
"red_spores": {
"title": "Red Spores",
"description": "Density of blue spore precipitation visuals.",
"type": "number"
},
"snow_accumulation": {
"title": "Snow Accumulation",
"description": "Minimum and maximum snow level, each multiple of 0.125 is another snow layer.",
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
},
"temperature": {
"title": "Temperature",
"description": "Temperature affects a variety of visual and behavioral things, including snow and ice placement, sponge drying, and sky color.",
"type": "number"
},
"white_ash": {
"title": "White Ash",
"description": "Density of white ash precipitation visuals.",
"type": "number"
}
}
}

View File

@@ -1,5 +1,5 @@
{ {
"$id": "minecraft.behavior.biomes.components.minecraft.creature_spawn_probability", "$id": "blockception.minecraft.behavior.biomes.minecraft.creature_spawn_probability",
"title": "Creature Spawn Probability", "title": "Creature Spawn Probability",
"description": "Probability that creatures will spawn within the biome when a chunk is generated.", "description": "Probability that creatures will spawn within the biome when a chunk is generated.",
"type": "object", "type": "object",

View File

@@ -1,32 +1,35 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.frozen_ocean_surface", "$id": "blockception.minecraft.behavior.biomes.minecraft.frozen_ocean_surface",
"title": "Frozen Ocean Surface", "title": "Frozen Ocean Surface",
"description": "Similar to overworld_surface. Adds icebergs.", "description": "Similar to overworld_surface. Adds icebergs.",
"type": "object", "type": "object",
"minProperties": 0,
"maxProperties": 6,
"additionalProperties": false, "additionalProperties": false,
"required": ["top_material", "mid_material", "sea_floor_material", "foundation_material", "sea_material", "sea_floor_depth"],
"properties": { "properties": {
"top_material": { "title": "Top Material", "description": "Controls the block type used for the surface of this biome.", "string": "string" }, "top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": { "mid_material": {
"title": "Mid Material", "title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.", "description": "Controls the block type used in a layer below the surface of this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_floor_material": { "sea_floor_material": {
"title": "Sea Floor Material", "title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.", "description": "Controls the block type used as a floor for bodies of water in this biome.",
"string": "boostringlean" "$ref": "../../../../general/block/reference.json"
}, },
"foundation_material": { "foundation_material": {
"title": "Foundation Material", "title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.", "description": "Controls the block type used deep underground in this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_material": { "sea_material": {
"title": "Sea Material", "title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.", "description": "Controls the block type used for the bodies of water in this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_floor_depth": { "sea_floor_depth": {
"title": "Sea Floor Depth", "title": "Sea Floor Depth",

View File

@@ -0,0 +1,71 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.mesa_surface",
"title": "Mesa Surface",
"description": "Similar to overworld_surface. Adds colored strata and optional pillars.",
"type": "object",
"additionalProperties": false,
"required": [
"top_material",
"mid_material",
"bryce_pillars",
"clay_material",
"foundation_material",
"hard_clay_material",
"has_forest",
"sea_floor_depth",
"sea_floor_material",
"sea_material"
],
"properties": {
"top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"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": "Base clay block to use.",
"$ref": "../../../../general/block/reference.json"
},
"hard_clay_material": {
"title": "Hard Clay Material",
"description": "Hardened clay block to use.",
"$ref": "../../../../general/block/reference.json"
},
"bryce_pillars": {
"title": "Bryce Pillars",
"description": "Whether the mesa generates with pillars.",
"type": "boolean"
},
"has_forest": {
"title": "Has Forest",
"description": "Places coarse dirt and grass at high altitudes.",
"type": "boolean"
}
}
}

View File

@@ -1,50 +1,49 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.mountain_parameters", "$id": "blockception.minecraft.behavior.biomes.minecraft.mountain_parameters",
"title": "Mountain parameters", "title": "Mountain Parameters",
"description": "Noise parameters used to drive mountain terrain generation in Overworld.", "description": "Noise parameters used to drive mountain terrain generation in Overworld.",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"minProperties": 0,
"maxProperties": 3,
"properties": { "properties": {
"steep_material_adjustment": { "steep_material_adjustment": {
"type": "object", "type": "object",
"title": "Steep material adjustment", "title": "Steep Material Adjustment",
"description": "Defines surface material for steep slopes.", "description": "Defines surface material for steep slopes.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"material": { "material": {
"type": "string",
"title": "Material", "title": "Material",
"description": "Block type use as steep material." "description": "Block type use as steep material.",
"$ref": "../../../../general/block/reference.json"
}, },
"north_slopes": { "north_slopes": {
"type": "boolean", "type": "boolean",
"title": "North slopes", "title": "North Slopes",
"description": "Enable for north facing slopes." "description": "Enable for north-facing slopes."
}, },
"south_slopes": { "south_slopes": {
"type": "boolean", "type": "boolean",
"title": "South slopes", "title": "South Slopes",
"description": "Enable for south facing slopes." "description": "Enable for south-facing slopes."
}, },
"west_slopes": { "west_slopes": {
"type": "boolean", "type": "boolean",
"title": "West slopes", "title": "West Slopes",
"description": "Enable for west facing slopes." "description": "Enable for west-facing slopes."
}, },
"east_slopes": { "east_slopes": {
"type": "boolean", "type": "boolean",
"title": "East slopes", "title": "East Slopes",
"description": "Enable for east facing slopes." "description": "Enable for east-facing slopes."
} }
} }
}, },
"top_slide": { "top_slide": {
"title": "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.", "description": "Controls the density tapering that happens at the top of the world to prevent terrain from reaching too high.",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"required": ["enabled"],
"properties": { "properties": {
"enabled": { "enabled": {
"title": "Enabled", "title": "Enabled",

View File

@@ -1,5 +1,5 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.nether_generation_rules", "$id": "blockception.minecraft.behavior.biomes.minecraft.multinoise_generation_rules",
"title": "Nether Generation Rules", "title": "Nether Generation Rules",
"description": "Controls how this biome is instantiated (and then potentially modified) during world generation of the nether.", "description": "Controls how this biome is instantiated (and then potentially modified) during world generation of the nether.",
"type": "object", "type": "object",
@@ -25,6 +25,10 @@
"description": "Weirdness with which this biome should selected, relative to other biomes.", "description": "Weirdness with which this biome should selected, relative to other biomes.",
"type": "number" "type": "number"
}, },
"weight": { "title": "Weight", "description": "Weight 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

@@ -1,5 +1,5 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.overworld_generation_rules", "$id": "blockception.minecraft.behavior.biomes.minecraft.overworld_generation_rules",
"title": "Overworld Generation Rules", "title": "Overworld Generation Rules",
"description": "Control how this biome is instantiated (and then potentially modified) during world generation of the overworld.", "description": "Control how this biome is instantiated (and then potentially modified) during world generation of the overworld.",
"type": "object", "type": "object",
@@ -9,39 +9,32 @@
"oneOf": [ "oneOf": [
{ {
"type": "string", "type": "string",
"title": "Block Reference", "title": "Biome",
"description": "UNDOCUMENTED.", "description": "String name of a Biome."
"$comment": "UNDOCUMENTED"
}, },
{ {
"type": "array", "type": "array",
"description": "UNDOCUMENTED.", "description": "Array of any size. If an array, each entry can be a Biome name string, or an array of size 2, where the first entry is a Biome name and the second entry is a positive integer representing how that Biome is weighted against other entries. If no weight is provided, a weight of 1 is used..",
"$comment": "UNDOCUMENTED",
"title": "Block Reference", "title": "Block Reference",
"minItems": 1, "minItems": 1,
"items": { "items": {
"oneOf": [ "oneOf": [
{ {
"type": "string", "type": "string",
"description": "UNDOCUMENTED.", "title": "Biome",
"$comment": "UNDOCUMENTED", "description": "String name of a Biome."
"title": "Block Reference"
}, },
{ {
"type": "array", "type": "array",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"items": [ "items": [
{ {
"title": "Biome Reference", "type": "string",
"description": "UNDOCUMENTED.", "title": "Biome",
"$comment": "UNDOCUMENTED", "description": "String name of a Biome."
"type": "string"
}, },
{ {
"title": "_", "title": "Weight",
"description": "UNDOCUMENTED.", "description": "A positive integer representing how that Biome is weighted against other entries..",
"$comment": "UNDOCUMENTED",
"type": "integer" "type": "integer"
} }
] ]
@@ -55,36 +48,30 @@
"properties": { "properties": {
"hills_transformation": { "hills_transformation": {
"title": "Hills Transformation", "title": "Hills Transformation",
"description": "UNDOCUMENTED.", "description": "What biome to switch to when converting to a hilly biome.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/transformation" "$ref": "#/definitions/transformation"
}, },
"mutate_transformation": { "mutate_transformation": {
"title": "Mutate Transformation", "title": "Mutate Transformation",
"description": "UNDOCUMENTED.", "description": "What biome to switch to when converting to a mutated biome.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/transformation" "$ref": "#/definitions/transformation"
}, },
"river_transformation": { "river_transformation": {
"title": "River Transformation", "title": "River Transformation",
"description": "UNDOCUMENTED.", "description": "What biome to switch to when converting to a river biome (if not the Vanilla 'river' biome).",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/transformation" "$ref": "#/definitions/transformation"
}, },
"shore_transformation": { "shore_transformation": {
"title": "Shore Transformation", "title": "Shore Transformation",
"description": "UNDOCUMENTED.", "description": "What biome to switch to when adjacent to an ocean biome.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/transformation" "$ref": "#/definitions/transformation"
}, },
"generate_for_climates": { "generate_for_climates": {
"title": "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.", "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", "type": "array",
"items": { "items": {
"title": "_", "description": "An array of any size containing arrays of exactly two elements where the first entry is the climate category and the second is a positive integer.",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"type": "array", "type": "array",
"items": [ "items": [
{ {
@@ -96,7 +83,8 @@
{ {
"title": "Weight", "title": "Weight",
"description": "Weight with which this biome should be selected, relative to other biomes in the same category.", "description": "Weight with which this biome should be selected, relative to other biomes in the same category.",
"type": "integer" "type": "integer",
"minimum": 1
} }
] ]
} }

View File

@@ -0,0 +1,48 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.overworld_height",
"title": "Overworld Height",
"description": "Noise parameters used to drive terrain height in the Overworld.",
"type": "object",
"additionalProperties": false,
"properties": {
"noise_params": {
"title": "Noise Params",
"description": "Array of 2 Floats.",
"type": "array",
"items": [
{
"title": "Depth",
"type": "number",
"description": "More negative means deeper underwater, while more positive means higher."
},
{
"title": "Scale",
"type": "number",
"description": "Affects how much noise changes as it moves from the surface."
}
]
},
"noise_type": {
"title": "Noise Type",
"description": "Specifies a preset based on a built-in setting rather than manually using noise_params.",
"type": "string",
"enum": [
"default",
"default_mutated",
"river",
"ocean",
"deep_ocean",
"lowlands",
"taiga",
"mountains",
"highlands",
"extreme",
"less_extreme",
"beach",
"stone_beach",
"mushroom",
"swamp"
]
}
}
}

View File

@@ -0,0 +1,47 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.replace_biomes",
"title": "Replace Biomes",
"description": "Replaces a specified portion of one or more Minecraft biomes.",
"type": "object",
"additionalProperties": false,
"properties": {
"replacements": {
"description": "List of biome replacement configurations. Retroactively adding a new replacement to the front of this list will cause the world generation to change. Please add any new replacements to the end of the list.",
"type": "array",
"items": {
"title": "Biome Replacement",
"description": "Represents the replacement information used to determine the placement of the overriding biome.",
"type": "object",
"properties": {
"dimension": {
"description": "Dimension in which this replacement can happen.",
"type": "string",
"const": "minecraft:overworld"
},
"amount": {
"description": "Noise value used to determine whether or not the replacement is attempted, similar to a percentage. Must be in the range (0.0, 1.0].",
"type": "number",
"exclusiveMinimum": 0.0,
"maximum": 1.0
},
"targets": {
"description": "Biomes that are going to be replaced by the overriding biome.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"noise_frequency_scale": {
"description": "Scaling value used to alter the frequency of replacement attempts. A lower frequency will mean a bigger contiguous biome area that occurs less often. A higher frequency will mean smaller contiguous biome areas that occur more often. Must be in the range (0.0, 100.0].",
"type": "number",
"exclusiveMinimum": 0.0,
"maximum": 100.0
}
},
"required": ["dimension", "targets", "amount", "noise_frequency_scale"]
}
}
},
"required": ["replacements"]
}

View File

@@ -1,5 +1,5 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.surface_material_adjustments", "$id": "blockception.minecraft.behavior.biomes.minecraft.surface_material_adjustments",
"title": "Surface Material Adjustments", "title": "Surface Material Adjustments",
"description": "Specify fine-detail changes to blocks used in terrain generation (based on a noise function).", "description": "Specify fine-detail changes to blocks used in terrain generation (based on a noise function).",
"type": "object", "type": "object",
@@ -10,8 +10,7 @@
"description": "All adjustments that match the column's noise values will be applied in the order listed.", "description": "All adjustments that match the column's noise values will be applied in the order listed.",
"items": { "items": {
"title": "Adjustment", "title": "Adjustment",
"description": "UNDOCUMENTED.", "description": "The specific blocks used for this surface adjustment.",
"$comment": "UNDOCUMENTED",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
@@ -21,46 +20,45 @@
"type": "array", "type": "array",
"items": [ "items": [
{ {
"$ref": "../../../molang/number.json", "$ref": "../../../../molang/number.json",
"title": "Min" "title": "Min"
}, },
{ {
"$ref": "../../../molang/number.json", "$ref": "../../../../molang/number.json",
"title": "Max" "title": "Max"
} }
] ]
}, },
"materials": { "materials": {
"title": "Materials", "title": "Materials",
"description": "UNDOCUMENTED.", "description": "The specific blocks used for this surface adjustment.",
"$comment": "UNDOCUMENTED",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"top_material": { "top_material": {
"title": "Top Material", "title": "Top Material",
"description": "Controls the block type used for the surface of this biome when this adjustment is active.", "description": "Controls the block type used for the surface of this biome when this adjustment is active.",
"type": "string" "$ref": "../../../../general/block/reference.json"
}, },
"mid_material": { "mid_material": {
"title": "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.", "description": "Controls the block type used in a layer below the surface of this biome when this adjustment is active.",
"type": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_floor_material": { "sea_floor_material": {
"title": "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.", "description": "Controls the block type used as a floor for bodies of water in this biome when this adjustment is active.",
"type": "string" "$ref": "../../../../general/block/reference.json"
}, },
"foundation_material": { "foundation_material": {
"title": "Top Materials", "title": "Top Materials",
"description": "Controls the block type used deep underground in this biome when this adjustment is active.", "description": "Controls the block type used deep underground in this biome when this adjustment is active.",
"type": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_material": { "sea_material": {
"title": "Top Materials", "title": "Top Materials",
"description": "Controls the block type used in the bodies of water in this biome when this adjustment is active.", "description": "Controls the block type used in the bodies of water in this biome when this adjustment is active.",
"type": "string" "$ref": "../../../../general/block/reference.json"
} }
} }
}, },
@@ -80,6 +78,11 @@
"title": "Max" "title": "Max"
} }
] ]
},
"noise_frequency_scale": {
"title": "Noise Frequency Scale",
"description": "The scale to multiply by the position when accessing the noise value for the material adjustments.",
"type": "number"
} }
} }
} }

View File

@@ -1,32 +1,35 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.surface_parameters", "$id": "blockception.minecraft.behavior.biomes.minecraft.surface_parameters",
"title": "Surface Parameters", "title": "Surface Parameters",
"description": "Control the blocks used for the default Minecraft Overworld terrain generation.", "description": "Control the blocks used for the default Minecraft Overworld terrain generation.",
"type": "object", "type": "object",
"minProperties": 0, "required": ["foundation_material", "mid_material", "sea_floor_depth", "sea_floor_material", "sea_material", "top_material"],
"maxProperties": 6,
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"top_material": { "title": "Top Material", "description": "Controls the block type used for the surface of this biome.", "string": "string" }, "top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": { "mid_material": {
"title": "Mid Material", "title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.", "description": "Controls the block type used in a layer below the surface of this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_floor_material": { "sea_floor_material": {
"title": "Sea Floor Material", "title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.", "description": "Controls the block type used as a floor for bodies of water in this biome.",
"string": "boostringlean" "$ref": "../../../../general/block/reference.json"
}, },
"foundation_material": { "foundation_material": {
"title": "Foundation Material", "title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.", "description": "Controls the block type used deep underground in this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_material": { "sea_material": {
"title": "Sea Material", "title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.", "description": "Controls the block type used for the bodies of water in this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_floor_depth": { "sea_floor_depth": {
"title": "Sea Floor Depth", "title": "Sea Floor Depth",

View File

@@ -1,36 +1,35 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.swamp_surface", "$id": "blockception.minecraft.behavior.biomes.minecraft.swamp_surface",
"title": "Swamp Surface", "title": "Swamp Surface",
"description": "Similar to overworld_surface. Adds swamp surface details.", "description": "Similar to overworld_surface. Adds swamp surface details.",
"type": "object", "type": "object",
"minProperties": 0, "required": ["foundation_material", "mid_material", "sea_floor_depth", "sea_floor_material", "sea_material", "top_material"],
"maxProperties": 6,
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"top_material": { "top_material": {
"title": "Top Material", "title": "Top Material",
"description": "Controls the block type used for the surface of this biome.", "description": "Controls the block type used for the surface of this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"mid_material": { "mid_material": {
"title": "Mid Material", "title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.", "description": "Controls the block type used in a layer below the surface of this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_floor_material": { "sea_floor_material": {
"title": "Sea Floor Material", "title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.", "description": "Controls the block type used as a floor for bodies of water in this biome.",
"string": "boostringlean" "$ref": "../../../../general/block/reference.json"
}, },
"foundation_material": { "foundation_material": {
"title": "Foundation Material", "title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.", "description": "Controls the block type used deep underground in this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_material": { "sea_material": {
"title": "Sea Material", "title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.", "description": "Controls the block type used for the bodies of water in this biome.",
"string": "string" "$ref": "../../../../general/block/reference.json"
}, },
"sea_floor_depth": { "sea_floor_depth": {
"title": "Sea Floor Depth", "title": "Sea Floor Depth",

View File

@@ -0,0 +1,20 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.tags",
"title": "Tags",
"description": "Attach arbitrary string tags to this biome.",
"type": "object",
"additionalProperties": false,
"required": ["tags"],
"properties": {
"tags": {
"title": "Tags",
"description": "Array of string tags used by other systems such as entity spawning",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string"
}
}
}
}

View File

@@ -1,5 +1,5 @@
{ {
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.the_end_surface", "$id": "blockception.minecraft.behavior.biomes.minecraft.the_end_surface",
"title": "End Surface", "title": "End Surface",
"description": "Use default Minecraft End terrain generation.", "description": "Use default Minecraft End terrain generation.",
"type": "object", "type": "object",

View File

@@ -0,0 +1,51 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.biomes",
"title": "Biome Definition",
"description": "A custom biome definition.",
"type": "object",
"additionalProperties": false,
"required": ["description", "components"],
"definitions": {
"components_ref": {
"type": "object",
"title": "Components",
"additionalProperties": false,
"properties": {
"minecraft:capped_surface": { "$ref": "./components/capped_surface.json" },
"minecraft:climate": { "$ref": "./components/climate.json" },
"minecraft:creature_spawn_probability": { "$ref": "./components/creature_spawn_probability.json" },
"minecraft:frozen_ocean_surface": { "$ref": "./components/frozen_ocean_surface.json" },
"minecraft:mesa_surface": { "$ref": "./components/mesa_surface.json" },
"minecraft:mountain_parameters": { "$ref": "./components/mountain_parameters.json" },
"minecraft:multinoise_generation_rules": { "$ref": "./components/multinoise_generation_rules.json" },
"minecraft:overworld_generation_rules": { "$ref": "./components/overworld_generation_rules.json" },
"minecraft:overworld_height": { "$ref": "./components/overworld_height.json" },
"minecraft:replace_biomes": { "$ref": "./components/replace_biomes.json" },
"minecraft:surface_material_adjustments": { "$ref": "./components/surface_material_adjustments.json" },
"minecraft:surface_parameters": { "$ref": "./components/surface_parameters.json" },
"minecraft:swamp_surface": { "$ref": "./components/swamp_surface.json" },
"minecraft:tags": { "$ref": "./components/tags.json" },
"minecraft:the_end_surface": { "$ref": "./components/the_end_surface.json" }
}
}
},
"properties": {
"description": {
"title": "Biome Description",
"description": "The description for this biome.",
"type": "object",
"additionalProperties": false,
"required": ["identifier"],
"properties": {
"identifier": {
"title": "Identifier",
"description": "The identifier for this biome. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla biome.",
"type": "string",
"$ref": "../../../general/identifier.json"
}
}
},
"components": { "$ref": "#/definitions/components_ref" }
}
}

View File

@@ -1,21 +1,20 @@
{ {
"$id": "blockception.minecraft.behavior.blocks.minecraft.destruction_particles", "$id": "blockception.minecraft.behavior.blocks.minecraft.destruction_particles",
"title": "Destruction Particles", "title": "Destruction Particles",
"description": "[Experimental] Sets the particles that will be used when block is destroyed. This component can be omitted.", "description": "[Experimental] Sets the particles that will be used when block is destroyed. This component can be omitted.",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"required": ["texture"], "properties": {
"properties": { "texture": {
"texture": { "title": "Texture",
"title": "Texture", "description": "The texture name used for the particle.",
"description": "The texture name used for the particle.", "type": "string"
"type": "string" },
}, "tint_method": {
"tint_method": { "title": "Tint Method",
"title": "Tint Method", "description": "Tint multiplied to the color. Tint method logic varies, but often refers to the \"rain\" and \"temperature\" of the biome the block is placed in to compute the tint.",
"description": "Tint multiplied to the color. Tint method logic varies, but often refers to the \"rain\" and \"temperature\" of the biome the block is placed in to compute the tint.", "type": "string",
"type": "string", "$ref": "../../../../general/vanilla/tint_methods.json"
"$ref": "../../../../general/vanilla/tint_methods.json"
}
} }
}
} }

View File

@@ -32,6 +32,12 @@
"title": "Block Culling Rule", "title": "Block Culling Rule",
"description": "The description identifer of the block culling rule used to cull this block. This identifier must match an existing geometry identifier in any of the currently loaded resource packs.", "description": "The description identifer of the block culling rule used to cull this block. This identifier must match an existing geometry identifier in any of the currently loaded resource packs.",
"type": "string" "type": "string"
},
"culling_layer": {
"title": "Culling Layer",
"description": "A string that allows culling rule to group multiple blocks together when comparing them.",
"type": "string",
"examples": ["minecraft:culling_layer.undefined", "minecraft:culling_layer.leaves"]
} }
} }
} }

View File

@@ -2,13 +2,13 @@
"$id": "blockception.minecraft.behavior.blocks.minecraft.material_instances", "$id": "blockception.minecraft.behavior.blocks.minecraft.material_instances",
"title": "Material Instances", "title": "Material Instances",
"description": "The material instances for a block. Maps face or material_instance names in a geometry file to an actual material instance. You can assign a material instance object to any of these faces: \"up\", \"down\", \"north\", \"south\", \"east\", \"west\", or \"*\". You can also give an instance the name of your choosing such as \"my_instance\", and then assign it to a face by doing \"north\":\"my_instance\".", "description": "The material instances for a block. Maps face or material_instance names in a geometry file to an actual material instance. You can assign a material instance object to any of these faces: \"up\", \"down\", \"north\", \"south\", \"east\", \"west\", or \"*\". You can also give an instance the name of your choosing such as \"my_instance\", and then assign it to a face by doing \"north\":\"my_instance\".",
"required": [ ], "required": [],
"examples": [ "examples": [
{ "*": { } }, { "*": {} },
{ "custom_sides": { } }, { "custom_sides": {} },
{ "up": { } }, { "up": {} },
{ "down": { } }, { "down": {} },
{ "north": { } }, { "north": {} },
{ "south": "custom_sides" }, { "south": "custom_sides" },
{ "east": "custom_sides" }, { "east": "custom_sides" },
{ "west": "custom_sides" } { "west": "custom_sides" }
@@ -51,7 +51,7 @@
"default": "opaque", "default": "opaque",
"description": "The render method to use. Must be one of these options: opaque - Used for a regular block texture without an alpha layer. Does not allow for transparency or translucency. double_sided - Used for completely disabling backface culling. blend - Used for a block like stained glass. Allows for transparency and translucency (slightly transparent textures). alpha_test - Used for a block like the vanilla (unstained) glass. Does not allow for translucency, only fully opaque or fully transparent textures. Also disables backface culling.", "description": "The render method to use. Must be one of these options: opaque - Used for a regular block texture without an alpha layer. Does not allow for transparency or translucency. double_sided - Used for completely disabling backface culling. blend - Used for a block like stained glass. Allows for transparency and translucency (slightly transparent textures). alpha_test - Used for a block like the vanilla (unstained) glass. Does not allow for translucency, only fully opaque or fully transparent textures. Also disables backface culling.",
"markdownDescription": "The render method to use. Must be one of these options: \nopaque - Used for a regular block texture without an alpha layer. Does not allow for transparency or translucency.\ndouble_sided - Used for completely disabling backface culling.\nblend - Used for a block like stained glass. Allows for transparency and translucency (slightly transparent textures).\nalpha_test - Used for a block like the vanilla (unstained) glass. Does not allow for translucency, only fully opaque or fully transparent textures. Also disables backface culling.", "markdownDescription": "The render method to use. Must be one of these options: \nopaque - Used for a regular block texture without an alpha layer. Does not allow for transparency or translucency.\ndouble_sided - Used for completely disabling backface culling.\nblend - Used for a block like stained glass. Allows for transparency and translucency (slightly transparent textures).\nalpha_test - Used for a block like the vanilla (unstained) glass. Does not allow for translucency, only fully opaque or fully transparent textures. Also disables backface culling.",
"enum": [ "opaque", "double_sided", "blend", "alpha_test", "alpha_test_single_sided" ] "enum": ["opaque", "double_sided", "blend", "alpha_test", "alpha_test_single_sided", "blend_to_opaque", "alpha_test_to_opaque", "alpha_test_single_sided_to_opaque"]
}, },
"texture": { "texture": {
"title": "Texture", "title": "Texture",
@@ -60,12 +60,12 @@
}, },
"isotropic": { "isotropic": {
"title": "Isotropic", "title": "Isotropic",
"description": "[Experimental] Controls rotating the face UVs randomly based on BlockPos", "description": "Controls rotating the face UVs randomly based on BlockPos",
"type": "boolean" "type": "boolean"
}, },
"tint_method": { "tint_method": {
"title": "Tint Method", "title": "Tint Method",
"description": "[Experimental] Tint multiplied to the color. Tint method logic varies, but often refers to the \"rain\" and \"temperature\" of the biome the block is placed in to compute the tint.", "description": "Tint multiplied to the color. Tint method logic varies, but often refers to the \"rain\" and \"temperature\" of the biome the block is placed in to compute the tint.",
"type": "string", "type": "string",
"$ref": "../../../../general/vanilla/tint_methods.json" "$ref": "../../../../general/vanilla/tint_methods.json"
} }

View File

@@ -5,14 +5,13 @@
"description": "A custom block definition.", "description": "A custom block definition.",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"required": [ "description", "components" ], "required": ["description", "components"],
"definitions": { "definitions": {
"components_ref": { "components_ref": {
"type": "object", "type": "object",
"title": "Component", "title": "Component",
"description": "UNDOCUMENTED.", "description": "The components of this block.",
"$comment": "UNDOCUMENTED", "additionalProperties": true,
"additionalProperties": false,
"properties": { "properties": {
//Components //Components
"minecraft:collision_box": { "$ref": "./components/collision_box.json" }, "minecraft:collision_box": { "$ref": "./components/collision_box.json" },
@@ -40,17 +39,17 @@
"minecraft:tick": { "$ref": "./components/tick.json" }, "minecraft:tick": { "$ref": "./components/tick.json" },
"minecraft:entity_fall_on": { "$ref": "./components/entity_fall_on.json" }, "minecraft:entity_fall_on": { "$ref": "./components/entity_fall_on.json" },
// Tags // Tags
"tag:minecraft:diamond_tier_destructible": { }, "tag:minecraft:diamond_tier_destructible": {},
"tag:minecraft:iron_tier_destructible": { }, "tag:minecraft:iron_tier_destructible": {},
"tag:minecraft:is_axe_item_destructible": { }, "tag:minecraft:is_axe_item_destructible": {},
"tag:minecraft:is_hoe_item_destructible": { }, "tag:minecraft:is_hoe_item_destructible": {},
"tag:minecraft:is_mace_item_destructible": { }, "tag:minecraft:is_mace_item_destructible": {},
"tag:minecraft:is_pickaxe_item_destructible": { }, "tag:minecraft:is_pickaxe_item_destructible": {},
"tag:minecraft:is_shears_item_destructible": { }, "tag:minecraft:is_shears_item_destructible": {},
"tag:minecraft:is_shovel_item_destructible": { }, "tag:minecraft:is_shovel_item_destructible": {},
"tag:minecraft:is_sword_item_destructible": { }, "tag:minecraft:is_sword_item_destructible": {},
"tag:minecraft:netherite_tier_destructible": { }, "tag:minecraft:netherite_tier_destructible": {},
"tag:minecraft:stone_tier_destructible": { } "tag:minecraft:stone_tier_destructible": {}
}, },
"patternProperties": { "patternProperties": {
"tag:.+": { "tag:.+": {
@@ -94,7 +93,7 @@
"description": "The description for this block.", "description": "The description for this block.",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"required": [ "identifier" ], "required": ["identifier"],
"properties": { "properties": {
"identifier": { "identifier": {
"title": "Identifier", "title": "Identifier",
@@ -106,9 +105,9 @@
"title": "Menu Category", "title": "Menu Category",
"description": "Specifies the menu category and group for the block, which determine where this block is placed in the inventory and crafting table container screens. If this field is omitted, the block will not appear in the inventory or crafting table container screens.", "description": "Specifies the menu category and group for the block, which determine where this block is placed in the inventory and crafting table container screens. If this field is omitted, the block will not appear in the inventory or crafting table container screens.",
"type": "object", "type": "object",
"examples": [ { "category": "construction" } ], "examples": [{ "category": "construction" }],
"additionalProperties": false, "additionalProperties": false,
"required": [ "category" ], "required": ["category"],
"properties": { "properties": {
"category": { "category": {
"$ref": "../../../general/vanilla/creative_category.json" "$ref": "../../../general/vanilla/creative_category.json"

View File

@@ -2,7 +2,7 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.filters", "$id": "blockception.minecraft.behavior.entities.minecraft.filters",
"title": "Filters", "title": "Filters",
"$ref": "#/definitions/groups_spec", "$ref": "#/definitions/groups_spec",
"examples": [ { "test": "is_family", "subject": "other", "value": "example" }, { "test": "has_tag", "value": "example" }, [ ] ], "examples": [{ "test": "is_family", "subject": "other", "value": "example" }, { "test": "has_tag", "value": "example" }, []],
"definitions": { "definitions": {
"filters_spec": { "filters_spec": {
"defaultSnippets": [ "defaultSnippets": [
@@ -38,10 +38,10 @@
} }
} }
], ],
"examples": [ { "all_of": [ { } ] }, { "any_of": [ { } ] }, { "none_of": [ { } ] } ], "examples": [{ "all_of": [{}] }, { "any_of": [{}] }, { "none_of": [{}] }],
"oneOf": [ "oneOf": [
{ {
"propertyNames": { "enum": [ "all_of", "any_of", "none_of" ] }, "propertyNames": { "enum": ["all_of", "any_of", "none_of"] },
"properties": { "properties": {
"all_of": { "all_of": {
"title": "All Of", "title": "All Of",
@@ -61,7 +61,7 @@
} }
}, },
{ {
"required": [ "test" ], "required": ["test"],
"properties": { "properties": {
"all_of": { "all_of": {
"title": "All Of", "title": "All Of",
@@ -94,6 +94,7 @@
{ "if": { "properties": { "test": { "const": "has_container_open" } } }, "then": { "$ref": "./filters/has_container_open.json" } }, { "if": { "properties": { "test": { "const": "has_container_open" } } }, "then": { "$ref": "./filters/has_container_open.json" } },
{ "if": { "properties": { "test": { "const": "has_damage" } } }, "then": { "$ref": "./filters/has_damage.json" } }, { "if": { "properties": { "test": { "const": "has_damage" } } }, "then": { "$ref": "./filters/has_damage.json" } },
{ "if": { "properties": { "test": { "const": "has_equipment" } } }, "then": { "$ref": "./filters/has_equipment.json" } }, { "if": { "properties": { "test": { "const": "has_equipment" } } }, "then": { "$ref": "./filters/has_equipment.json" } },
{ "if": { "properties": { "test": { "const": "has_equipment_tag" } } }, "then": { "$ref": "./filters/has_equipment_tag.json" } },
{ "if": { "properties": { "test": { "const": "has_damaged_equipment" } } }, "then": { "$ref": "./filters/has_damaged_equipment.json" } }, { "if": { "properties": { "test": { "const": "has_damaged_equipment" } } }, "then": { "$ref": "./filters/has_damaged_equipment.json" } },
{ "if": { "properties": { "test": { "const": "has_mob_effect" } } }, "then": { "$ref": "./filters/has_mob_effect.json" } }, { "if": { "properties": { "test": { "const": "has_mob_effect" } } }, "then": { "$ref": "./filters/has_mob_effect.json" } },
{ "if": { "properties": { "test": { "const": "has_nametag" } } }, "then": { "$ref": "./filters/has_nametag.json" } }, { "if": { "properties": { "test": { "const": "has_nametag" } } }, "then": { "$ref": "./filters/has_nametag.json" } },

View File

@@ -3,7 +3,7 @@
"type": "object", "type": "object",
"title": "Has Biome Tag", "title": "Has Biome Tag",
"description": "Tests whether the biome the subject is in has the specified tag.", "description": "Tests whether the biome the subject is in has the specified tag.",
"required": [ "value" ], "required": ["value"],
"properties": { "properties": {
"test": { "test": {
"type": "string", "type": "string",
@@ -19,14 +19,7 @@
"value": { "value": {
"description": "The tag to look for.", "description": "The tag to look for.",
"title": "Value", "title": "Value",
"anyOf": [ "type": "string"
{
"$ref": "../../../../general/vanilla/biome_tag.json"
},
{
"$ref": "../../../../general/vanilla/biome.json"
}
]
} }
} }
} }

View File

@@ -0,0 +1,39 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_equipment_tag",
"type": "object",
"title": "Has Equipment Tag",
"description": "Tests for the presence of an item with the named tag in the designated slot of the subject entity.",
"required": ["value"],
"properties": {
"test": {
"type": "string",
"const": "has_equipment_tag",
"description": "Tests for the presence of an item with the named tag in the designated slot of the subject entity.",
"title": "Test"
},
"domain": {
"description": "The equipment location to test.",
"default": "any",
"enum": ["any", "inventory", "armor", "feet", "hand", "head", "leg", "torso"],
"title": "Domain"
},
"operator": {
"$ref": "./types/operator.json"
},
"subject": {
"$ref": "./types/subject.json"
},
"value": {
"description": "The item name to look for.",
"type": "string",
"$ref": "../../../../general/item/identifier.json",
"title": "Value"
}
},
"examples": [
{
"test": "has_equipment_tag",
"value": "example"
}
]
}

View File

@@ -18,8 +18,8 @@
}, },
"value": { "value": {
"description": "The biome type to test.", "description": "The biome type to test.",
"$ref": "../../../../general/vanilla/biome.json", "title": "Value",
"title": "Value" "type": "string"
} }
} }
} }

View File

@@ -1,60 +0,0 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.test",
"title": "Test",
"type": "string",
"description": "The test operation.",
"enum": [
"clock_time",
"distance_to_nearest_player",
"has_ability",
"has_biome_tag",
"has_component",
"has_damage",
"has_equipment",
"has_mob_effect",
"has_tag",
"has_trade_supply",
"hourly_clock_time",
"in_block",
"in_caravan",
"in_clouds",
"in_lava",
"in_water",
"in_water_or_rain",
"in_contact_with_water",
"is_altitude",
"is_avoiding_mobs",
"is_biome",
"is_brightness",
"is_climbing",
"is_color",
"is_daytime",
"is_difficulty",
"is_family",
"is_game_rule",
"is_humid",
"is_immobile",
"is_in_village",
"is_leashed",
"is_mark_variant",
"is_moving",
"is_navigating",
"is_owner",
"is_riding",
"is_skin_id",
"is_sneaking",
"is_snow_covered",
"is_target",
"is_temperature_type",
"is_temperature_value",
"is_underground",
"is_underwater",
"is_variant",
"is_visible",
"moon_intensity",
"moon_phase",
"on_ground",
"on_ladder",
"owner_distance"
]
}

View File

@@ -0,0 +1,90 @@
{
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.float_tempt",
"description": "Allows an entity to be tempted by a set item.",
"type": "object",
"title": "Float Tempt",
"additionalProperties": false,
"properties": {
"priority": { "$ref": "types/priority.json" },
"speed_multiplier": { "$ref": "types/speed_multiplier.json" },
"can_get_scared": {
"type": "boolean",
"default": false,
"description": "If true, the mob can stop being tempted if the player moves too fast while close to this mob.",
"title": "Can Get Scared"
},
"can_tempt_while_ridden": {
"type": "boolean",
"default": false,
"title": "Can Tempt While Ridden",
"description": "If true, the mob can be tempted even if it has a passenger (i.e. if being ridden)."
},
"can_tempt_vertically": {
"type": "boolean",
"default": false,
"title": "Can Tempt Vertically",
"description": "If true, vertical distance to the player will be considered when tempting."
},
"items": {
"type": "array",
"title": "Items",
"description": "List of items this mob is tempted by.",
"items": {
"$ref": "../../../../general/item/descriptor.json"
}
},
"sound_interval": {
"description": "Range of random ticks to wait between tempt sounds.",
"title": "Sound Interval",
"oneOf": [
{
"type": "number",
"minimum": 0
},
{
"items": [
{ "type": "integer", "minimum": 0, "title": "Minimum" },
{ "type": "integer", "minimum": 0, "title": "Maximum" }
]
}
]
},
"stop_distance": {
"title": "Stop Distance",
"description": "The distance at which the mob will stop following the player.",
"type": "number",
"default": 1.5,
"minimum": 0
},
"tempt_sound": {
"$ref": "../../../../general/sound_event.json",
"description": "Sound to play while the mob is being tempted.",
"title": "Tempt Sound"
},
"within_radius": {
"type": "number",
"default": 0,
"description": "Distance in blocks this mob can get tempted by a player holding an item they like.",
"title": "Within Radius"
},
"on_start": {
"title": "On Start",
"description": "Specifies the event to trigger when the goal starts",
"$ref": "../types/trigger.json"
},
"on_end": {
"title": "On End",
"description": "Specifies the event to trigger when the goal ends",
"$ref": "../types/trigger.json"
}
},
"examples": [
{
"can_get_scared": false,
"can_tempt_while_ridden": true,
"can_tempt_vertically": true,
"items": [],
"within_radius": 0
}
]
}

View File

@@ -9,6 +9,18 @@
"priority": { "priority": {
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
}, },
"additional_collision_buffer": {
"title": "Additional Collision Buffer",
"description": "If true, the mob will have an additional buffer zone around it to avoid collisions with blocks when picking a position to wander to.",
"type": "boolean",
"default": false
},
"allow_navigating_through_liquids": {
"title": "Allow Navigating Through Liquids",
"description": "If true allows the mob to navigate through liquids on its way to the target position.",
"type": "boolean",
"default": false
},
"xz_dist": { "xz_dist": {
"type": "integer", "type": "integer",
"default": 10, "default": 10,
@@ -39,12 +51,32 @@
"type": "boolean", "type": "boolean",
"default": true "default": true
}, },
"navigate_around_surface": {
"title": "Navigate Around Surface",
"description": "If true, will prioritize finding random positions in the vicinity of surfaces, i.e. blocks that are not Air or Liquid.",
"type": "boolean",
"default": false
},
"random_reselect": { "random_reselect": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "If true, the mob will randomly pick a new point while moving to the previously selected one.", "description": "If true, the mob will randomly pick a new point while moving to the previously selected one.",
"title": "Random Reselect" "title": "Random Reselect"
}, },
"surface_xz_dist": {
"title": "Surface XZ Dist",
"description": "The horizontal distance in blocks that the goal will check for a surface from a candidate position. Only valid when `navigate_around_surface` is true.",
"type": "integer",
"minimum": 0,
"default": 0
},
"surface_y_dist": {
"title": "Surface Y Dist",
"description": "The vertical distance in blocks that the goal will check for a surface from a candidate position. Only valid when `navigate_around_surface` is true.",
"type": "integer",
"minimum": 0,
"default": 0
},
"use_home_position_restriction": { "use_home_position_restriction": {
"title": "Use Home Position Restriction", "title": "Use Home Position Restriction",
"description": "If true, the mob will respect home position restrictions when choosing new target positions. If false, it will choose target position without considering home restrictions.", "description": "If true, the mob will respect home position restrictions when choosing new target positions. If false, it will choose target position without considering home restrictions.",

View File

@@ -4,11 +4,20 @@
"title": "Follow Mob", "title": "Follow Mob",
"description": "Allows the mob to follow other mobs.", "description": "Allows the mob to follow other mobs.",
"additionalProperties": false, "additionalProperties": false,
"required": [],
"properties": { "properties": {
"priority": { "priority": {
"$ref": "types/priority.json" "$ref": "types/priority.json"
}, },
"filters": {
"title": "Filters",
"description": "If non-empty, provides criteria for filtering which nearby Mobs can be followed. If empty default criteria will be used, which will exclude Players, Squid variants, Fish variants, Tadpoles, Dolphins, and mobs of the same type as the owner of the Goal.",
"$ref": "../../filters/filters.json"
},
"preferred_actor_type": {
"title": "Preferred Actor Type",
"description": "The type of actor to prefer following. If left unspecified, a random actor among those in range will be chosen.",
"type": "string"
},
"speed_multiplier": { "speed_multiplier": {
"$ref": "./types/speed_multiplier.json" "$ref": "./types/speed_multiplier.json"
}, },
@@ -23,6 +32,12 @@
"default": 2, "default": 2,
"description": "The distance in blocks this mob stops from the mob it is following.", "description": "The distance in blocks this mob stops from the mob it is following.",
"title": "Stop Distance" "title": "Stop Distance"
},
"use_home_position_restriction": {
"title": "Use Home Position Restriction",
"description": "If true, the mob will respect the 'minecraft:home' component's 'restriction_radius' field when choosing a target to follow. If false, it will choose target position without considering home restrictions.",
"type": "boolean",
"default": true
} }
}, },
"examples": [ "examples": [

View File

@@ -49,6 +49,13 @@
} }
] ]
}, },
"stop_distance": {
"title": "Stop Distance",
"description": "The distance at which the mob will stop following the player.",
"type": "number",
"default": 1.5,
"minimum": 0
},
"tempt_sound": { "tempt_sound": {
"$ref": "../../../../general/sound_event.json", "$ref": "../../../../general/sound_event.json",
"description": "Sound to play while the mob is being tempted.", "description": "Sound to play while the mob is being tempted.",
@@ -59,6 +66,16 @@
"default": 0, "default": 0,
"description": "Distance in blocks this mob can get tempted by a player holding an item they like.", "description": "Distance in blocks this mob can get tempted by a player holding an item they like.",
"title": "Within Radius" "title": "Within Radius"
},
"on_start": {
"title": "On Start",
"description": "Specifies the event to trigger when the goal starts",
"$ref": "../types/trigger.json"
},
"on_end": {
"title": "On End",
"description": "Specifies the event to trigger when the goal ends",
"$ref": "../types/trigger.json"
} }
}, },
"examples": [ "examples": [

View File

@@ -250,6 +250,7 @@
"minecraft:behavior.flee_sun": { "$ref": "./behaviors/flee_sun.json" }, "minecraft:behavior.flee_sun": { "$ref": "./behaviors/flee_sun.json" },
"minecraft:behavior.float_wander": { "$ref": "./behaviors/float_wander.json" }, "minecraft:behavior.float_wander": { "$ref": "./behaviors/float_wander.json" },
"minecraft:behavior.float": { "$ref": "./behaviors/float.json" }, "minecraft:behavior.float": { "$ref": "./behaviors/float.json" },
"minecraft:behavior.float_tempt": { "$ref": "./behaviors/float_tempt.json" },
"minecraft:behavior.follow_caravan": { "$ref": "./behaviors/follow_caravan.json" }, "minecraft:behavior.follow_caravan": { "$ref": "./behaviors/follow_caravan.json" },
"minecraft:behavior.follow_mob": { "$ref": "./behaviors/follow_mob.json" }, "minecraft:behavior.follow_mob": { "$ref": "./behaviors/follow_mob.json" },
"minecraft:behavior.follow_owner": { "$ref": "./behaviors/follow_owner.json" }, "minecraft:behavior.follow_owner": { "$ref": "./behaviors/follow_owner.json" },

View File

@@ -157,24 +157,20 @@
"drop_item_slot": { "drop_item_slot": {
"title": "Drop Item Slot", "title": "Drop Item Slot",
"type": "string", "type": "string",
"examples": [ "examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"],
"slot.armor.head",
"slot.armor.chest",
"slot.armor.legs",
"slot.armor.feet"
],
"description": "The entity's equipment slot to remove and drop the item from, if any, upon successful interaction." "description": "The entity's equipment slot to remove and drop the item from, if any, upon successful interaction."
}, },
"drop_item_y_offset": {
"title": "Drop Item Y Offset",
"description": "Will offset the item drop position this amount in the y direction. Requires \"drop_item_slot\" to be specified.",
"type": "number",
"default": 0
},
"equip_item_slot": { "equip_item_slot": {
"title": "Equip Item Slot", "title": "Equip Item Slot",
"type": "string", "type": "string",
"description": "The entity's equipment slot to equip the item to, if any, upon successful interaction.", "description": "The entity's equipment slot to equip the item to, if any, upon successful interaction.",
"examples": [ "examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"]
"slot.armor.head",
"slot.armor.chest",
"slot.armor.legs",
"slot.armor.feet"
]
}, },
"repair_entity_item": { "repair_entity_item": {
"title": "Repair Entity Item", "title": "Repair Entity Item",
@@ -191,12 +187,7 @@
"title": "Slot", "title": "Slot",
"description": "The entity's slot containing the item to be repaired.", "description": "The entity's slot containing the item to be repaired.",
"type": "string", "type": "string",
"examples": [ "examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"]
"slot.armor.head",
"slot.armor.chest",
"slot.armor.legs",
"slot.armor.feet"
]
} }
} }
} }

View File

@@ -4,13 +4,7 @@
"title": "Leashable", "title": "Leashable",
"description": "Allows this entity to be leashed and defines the conditions and events for this entity when is leashed.", "description": "Allows this entity to be leashed and defines the conditions and events for this entity when is leashed.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "definitions": {
"can_be_stolen": {
"type": "boolean",
"default": false,
"description": "If true, players can leash this entity even if it is already leashed to another mob.",
"title": "Can Be Stolen"
},
"hard_distance": { "hard_distance": {
"type": "number", "type": "number",
"default": 6, "default": 6,
@@ -23,6 +17,32 @@
"description": "Distance in blocks at which the leash breaks.", "description": "Distance in blocks at which the leash breaks.",
"title": "Maximum Distance" "title": "Maximum Distance"
}, },
"soft_distance": {
"type": "number",
"default": 4,
"description": "Distance in blocks at which the `spring` effect starts acting to keep this entity close to the entity that leashed it.",
"title": "Soft Distance"
}
},
"properties": {
"can_be_stolen": {
"type": "boolean",
"default": false,
"description": "If true, players can leash this entity even if it is already leashed to another mob.",
"title": "Can Be Stolen"
},
"on_unleash_interact_only": {
"title": "On Unleash Interact Only",
"description": "When set to true, \"on_unleash\" does not trigger when the entity gets unleashed for other reasons such as being stolen or the leash breaking.",
"type": "boolean",
"default": false
},
"hard_distance": {
"$ref": "#/definitions/hard_distance"
},
"max_distance": {
"$ref": "#/definitions/max_distance"
},
"on_leash": { "on_leash": {
"$ref": "../types/event_object.json", "$ref": "../types/event_object.json",
"description": "Event to call when this entity is leashed.", "description": "Event to call when this entity is leashed.",
@@ -34,10 +54,31 @@
"title": "On Unleash" "title": "On Unleash"
}, },
"soft_distance": { "soft_distance": {
"type": "number", "$ref": "#/definitions/soft_distance"
"default": 4, },
"description": "Distance in blocks at which the `spring` effect starts acting to keep this entity close to the entity that leashed it.", "presets": {
"title": "Soft Distance" "title": "Presets",
"description": "Defines how this entity behaves when leashed to another entity. A preset is selected upon leashing and remains until the entity is leashed to something else. The first preset whose \"filter\" conditions are met will be applied; if none match, a default configuration is used instead.",
"type": "array",
"items": {
"title": "Preset",
"type": "object",
"additionalProperties": false,
"properties": {
"filter": {
"$ref": "../../filters/filters.json"
},
"hard_distance": {
"$ref": "#/definitions/hard_distance"
},
"max_distance": {
"$ref": "#/definitions/max_distance"
},
"soft_distance": {
"$ref": "#/definitions/soft_distance"
}
}
}
} }
}, },
"examples": [ "examples": [

View File

@@ -9,6 +9,38 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"properties": { "properties": {
"dismount_mode": {
"title": "Dismount Mode",
"description": "Defines where riders are placed when dismounting this entity:\n- \"default\", riders are placed on a valid ground position around the entity, or at the center of the entity's collision box if none is found.\n- \"on_top_center\", riders are placed at the center of the top of the entity's collision box.",
"type": "string",
"enum": ["default", "on_top_center"]
},
"on_rider_enter_event": {
"title": "On Rider Enter Event",
"description": "Event to execute on the owner entity when an entity starts riding it.",
"type": "string"
},
"on_rider_exit_event": {
"title": "On Rider Exit Event",
"description": "Event to execute on the owner entity when an entity stops riding it.",
"type": "string"
},
"third_person_camera_radius": {
"title": "Third Person Camera Radius",
"description": "Can be used to set a different camera radius when in third person or third person front camera. Value 0.0 is ignored.",
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 64.0
},
"camera_relax_distance_smoothing": {
"title": "Camera Relax Distance Smoothing",
"description": "Adds springiness to the camera movement when the camera moves back to its radius after being pushed closer to the player by and obstacle. A higher value means a stiffer spring. Value 0.0 is ignored.",
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 32.0
},
"lock_rider_rotation": { "lock_rider_rotation": {
"type": "number", "type": "number",
"default": 181, "default": 181,

View File

@@ -1,7 +1,7 @@
{ {
"$id": "blockception.minecraft.behavior.items", "$id": "blockception.minecraft.behavior.items",
"additionalProperties": false, "additionalProperties": false,
"required": [ "description" ], "required": ["description"],
"type": "object", "type": "object",
"description": "UNDOCUMENTED.", "description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED", "$comment": "UNDOCUMENTED",
@@ -54,6 +54,7 @@
"components": { "components": {
"type": "object", "type": "object",
"description": "The components of this item.", "description": "The components of this item.",
"additionalProperties": true,
"properties": { "properties": {
"minecraft:allow_off_hand": { "$ref": "./components/allow_off_hand.json" }, "minecraft:allow_off_hand": { "$ref": "./components/allow_off_hand.json" },
"minecraft:block_placer": { "$ref": "./components/block_placer.json" }, "minecraft:block_placer": { "$ref": "./components/block_placer.json" },

View File

@@ -10,7 +10,7 @@
{ {
"tiers": [ "tiers": [
{ {
"trades": [ { "wants": [ { "item": "minecraft:coal:0", "quantity": { "min": 16, "max": 24 } } ], "gives": [ { "item": "minecraft:emerald" } ] } ] "trades": [{ "wants": [{ "item": "minecraft:coal:0", "quantity": { "min": 16, "max": 24 } }], "gives": [{ "item": "minecraft:emerald" }] }]
} }
] ]
} }
@@ -32,7 +32,7 @@
"description": "UNDOCUMENTED.", "description": "UNDOCUMENTED.",
"type": "array", "type": "array",
"items": { "items": {
"$ref": "../../general/vanilla/biome.json" "type": "string"
} }
}, },
"quantity": { "quantity": {
@@ -42,7 +42,7 @@
{ {
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"required": [ "min", "max" ], "required": ["min", "max"],
"properties": { "properties": {
"min": { "type": "integer", "minimum": 1, "title": "Minimum" }, "min": { "type": "integer", "minimum": 1, "title": "Minimum" },
"max": { "type": "integer", "minimum": 1, "title": "Maximum" } "max": { "type": "integer", "minimum": 1, "title": "Maximum" }
@@ -57,7 +57,7 @@
"Functions": { "Functions": {
"title": "Functions", "title": "Functions",
"type": "array", "type": "array",
"items": { "type": "object", "required": [ "function" ], "$ref": "../loot_tables/functions.json" } "items": { "type": "object", "required": ["function"], "$ref": "../loot_tables/functions.json" }
}, },
"TradeArray": { "TradeArray": {
"type": "array", "type": "array",
@@ -66,7 +66,7 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"title": "Trade", "title": "Trade",
"required": [ "wants", "gives" ], "required": ["wants", "gives"],
"properties": { "properties": {
"gives": { "gives": {
"type": "array", "type": "array",
@@ -87,7 +87,7 @@
{ {
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"required": [ "min", "max" ], "required": ["min", "max"],
"properties": { "properties": {
"min": { "type": "integer", "minimum": 1, "title": "Minimum" }, "min": { "type": "integer", "minimum": 1, "title": "Minimum" },
"max": { "type": "integer", "minimum": 1, "title": "Maximum" } "max": { "type": "integer", "minimum": 1, "title": "Maximum" }
@@ -127,7 +127,7 @@
{ {
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"required": [ "min", "max" ], "required": ["min", "max"],
"properties": { "properties": {
"min": { "type": "integer", "minimum": 1, "title": "Minimum" }, "min": { "type": "integer", "minimum": 1, "title": "Minimum" },
"max": { "type": "integer", "minimum": 1, "title": "Maximum" } "max": { "type": "integer", "minimum": 1, "title": "Maximum" }
@@ -167,7 +167,7 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"title": "Tier", "title": "Tier",
"required": [ "total_exp_required", "groups" ], "required": ["total_exp_required", "groups"],
"properties": { "properties": {
"trades": { "$ref": "#/definitions/TradeArray" }, "trades": { "$ref": "#/definitions/TradeArray" },
"total_exp_required": { "title": "Total Experience Required", "type": "integer" }, "total_exp_required": { "title": "Total Experience Required", "type": "integer" },

View File

@@ -5,7 +5,6 @@
"additionalProperties": false, "additionalProperties": false,
"required": [ "required": [
"description", "description",
"heightmap_projection",
"max_depth", "max_depth",
"start_height", "start_height",
"start_pool", "start_pool",

View File

@@ -0,0 +1,7 @@
{
"$id": "blockception.minecraft.identifier",
"description": "A minecraft identifier.",
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$",
"title": "Identifier",
"type": "string"
}

View File

@@ -1,92 +0,0 @@
{
"title": "Biome",
"description": "An in game biome",
"enum": [
"bamboo_jungle",
"bamboo_jungle_hills",
"basalt_deltas",
"beach",
"birch_forest",
"birch_forest_hills",
"birch_forest_hills_mutated",
"birch_forest_mutated",
"cherry_grove",
"cold_beach",
"cold_ocean",
"cold_taiga",
"cold_taiga_hills",
"cold_taiga_mutated",
"crimson_forest",
"deep_cold_ocean",
"deep_frozen_ocean",
"deep_lukewarm_ocean",
"deep_ocean",
"deep_warm_ocean",
"deep_dark",
"desert",
"desert_hills",
"desert_mutated",
"dripstone_caves",
"extreme_hills",
"extreme_hills_edge",
"extreme_hills_mutated",
"extreme_hills_plus_trees",
"extreme_hills_plus_trees_mutated",
"flower_forest",
"forest",
"forest_hills",
"frozen_ocean",
"frozen_peaks",
"frozen_river",
"grove",
"hell",
"ice_mountains",
"ice_plains",
"ice_plains_spikes",
"jagged_peaks",
"jungle",
"jungle_edge",
"jungle_edge_mutated",
"jungle_hills",
"jungle_mutated",
"legacy_frozen_ocean",
"lukewarm_ocean",
"lush_caves",
"mangrove_swamp",
"meadow",
"mega_taiga",
"mega_taiga_hills",
"mesa",
"mesa_bryce",
"mesa_plateau",
"mesa_plateau_mutated",
"mesa_plateau_stone",
"mesa_plateau_stone_mutated",
"mushroom_island",
"mushroom_island_shore",
"ocean",
"plains",
"redwood_taiga_hills_mutated",
"redwood_taiga_mutated",
"river",
"roofed_forest",
"roofed_forest_mutated",
"savanna",
"savanna_mutated",
"savanna_plateau",
"savanna_plateau_mutated",
"snowy_slopes",
"soulsand_valley",
"stone_beach",
"stony_peaks",
"sunflower_plains",
"swampland",
"swampland_mutated",
"taiga",
"taiga_hills",
"taiga_mutated",
"the_end",
"warm_ocean",
"warped_forest"
]
}

View File

@@ -1,44 +0,0 @@
{
"title": "Biome Tag",
"description": "An in game biome's tags",
"enum": [
"animal",
"bamboo",
"bee_habitat",
"birch",
"caves",
"cold",
"deep",
"edge",
"frozen",
"hills",
"ice",
"lukewarm",
"mega",
"monster",
"mountain",
"mountains",
"mutated",
"nether",
"netherwart_forest",
"no_legacy_worldgen",
"ocean",
"overworld",
"overworld_generation",
"plateau",
"rare",
"roofed",
"shore",
"spawn_endermen",
"spawn_few_piglins",
"spawn_few_zombified_piglins",
"spawn_ghast",
"spawn_magma_cubes",
"spawn_many_magma_cubes",
"spawn_piglin",
"spawn_zombified_piglin",
"stone",
"swamp",
"warm"
]
}

View File

@@ -5,6 +5,11 @@
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"music_definition": {
"title": "Music Definition",
"description": "Music to be played when inside this biome. If left off or not found the default music will be determined by the dimension. Empty string will result in no music.",
"type": "string"
},
"volume_multiplier": { "volume_multiplier": {
"title": "Volume Multiplier", "title": "Volume Multiplier",
"description": "Multiplier temporarily and gradually applied to music volume when within this biome.", "description": "Multiplier temporarily and gradually applied to music volume when within this biome.",

View File

@@ -3,7 +3,6 @@
"title": "Water Appearance", "title": "Water Appearance",
"description": "Set the water surface color used during rendering. Biomes without this component will have default water surface color behavior.", "description": "Set the water surface color used during rendering. Biomes without this component will have default water surface color behavior.",
"type": "object", "type": "object",
"required": ["surface_color"],
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"surface_color": { "surface_color": {

View File

@@ -51,6 +51,12 @@
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"condition": {
"title": "Condition",
"description": "It provides more control over which neighbor blocks will trigger a face or part to be culled.\n- \"default\" will pass the condition if the neighbor block is full and opaque. All conditions are an extension of \"default\", meaning a full and opaque neighbor will always be a passing condition, before the extended \"same_*\" condition is checked.\n- \"same_culling_layer\" will pass the condition if the neighbor block shares the same \"culling_layer\" as the block being occluded, defined in the geometry component. If either of the culling layers being compared is \"minecraft:culling_layer.undefined\", the condition will never pass.\n- \"same_block\" will pass the condition if the neighbor block has the same identifier.\n- \"same_block_permutation\" will pass the condition if the neighbor block has the same identifier and is the exact same permutation.",
"type": "string",
"enum": ["default", "same_culling_layer", "same_block", "same_block_permutation"]
},
"bone": { "bone": {
"title": "Bone", "title": "Bone",
"description": "The bone within the geometry part", "description": "The bone within the geometry part",