1.21.80 (#343)
* - 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:
4
.vscode/easy.code-snippets
vendored
4
.vscode/easy.code-snippets
vendored
@@ -11,6 +11,10 @@
|
||||
"prefix": "json.object",
|
||||
"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": {
|
||||
"prefix": "json.number",
|
||||
"body": "\"title\": \"\",\n\"description\": \"\",\n\"type\": \"number\", \n\"minimum\": 0"
|
||||
|
||||
@@ -1,39 +1,27 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"$id": "minecraft.behavior.biomes",
|
||||
"$id": "blockception.minecraft.behavior.biome",
|
||||
"required": ["format_version", "minecraft:biome"],
|
||||
"type": "object",
|
||||
"examples": [{ "plains": { "format_version": "1.20.80" } }],
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"title": "Biomes",
|
||||
"description": "The definition of a biome.",
|
||||
"additionalProperties": {
|
||||
"title": "Tag",
|
||||
"type": "object",
|
||||
"description": "Components with no namespace are treated as `tags': any name consisting of alphanumeric characters, `.` and `_` is permitted; the tag is attached to the biome so that either code or data may check for its existence; tag components may not have member fields.",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"properties": {
|
||||
"format_version": { "$ref": "../../general/format_version.json" },
|
||||
|
||||
"minecraft:capped_surface": { "$ref": "./components/capped_surface.json" },
|
||||
"minecraft:climate": { "$ref": "./components/climate.json" },
|
||||
"minecraft:consolidated_features": { "$ref": "./components/consolidated_features.json" },
|
||||
"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" }
|
||||
"title": "Biome Behavior",
|
||||
"description": "The minecraft biome behavior specification.",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"format_version": { "$ref": "../../general/format_version.json" },
|
||||
"minecraft:biome": { "$ref": "./format/minecraft.biome.json" }
|
||||
},
|
||||
"defaultSnippets": [
|
||||
{
|
||||
"label": "New biome",
|
||||
"body": {
|
||||
"format_version": "${1:1.21.80}",
|
||||
"minecraft:biome": {
|
||||
"description": {
|
||||
"identifier": "$2:${3:${TM_FILENAME/[\\.].*//}}"
|
||||
},
|
||||
"components": "^{$4}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"$id": "minecraft.behavior.biomes.components.minecraft.consolidated_features",
|
||||
"title": "Consolidated Features",
|
||||
"description": "UNDOCUMENTED",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {}
|
||||
}
|
||||
@@ -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": {}
|
||||
}
|
||||
@@ -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" }
|
||||
}
|
||||
}
|
||||
@@ -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": {}
|
||||
}
|
||||
@@ -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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
"description": "Generates surface on blocks with non-solid blocks above or below.",
|
||||
"type": "object",
|
||||
@@ -11,10 +11,7 @@
|
||||
"description": "Materials used for the surface ceiling.",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"title": "Block Reference",
|
||||
"description": "A block reference.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"type": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
}
|
||||
},
|
||||
"floor_materials": {
|
||||
@@ -22,18 +19,23 @@
|
||||
"description": "Materials used for the surface floor.",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"title": "Block Reference",
|
||||
"description": "A block reference.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"type": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"title": "Foundation Material",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
52
source/behavior/biomes/format/components/climate.json
Normal file
52
source/behavior/biomes/format/components/climate.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
"description": "Probability that creatures will spawn within the biome when a chunk is generated.",
|
||||
"type": "object",
|
||||
@@ -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",
|
||||
"description": "Similar to overworld_surface. Adds icebergs.",
|
||||
"type": "object",
|
||||
"minProperties": 0,
|
||||
"maxProperties": 6,
|
||||
"additionalProperties": false,
|
||||
"required": ["top_material", "mid_material", "sea_floor_material", "foundation_material", "sea_material", "sea_floor_depth"],
|
||||
"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": {
|
||||
"title": "Mid Material",
|
||||
"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": {
|
||||
"title": "Sea Floor Material",
|
||||
"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": {
|
||||
"title": "Foundation Material",
|
||||
"description": "Controls the block type used deep underground in this biome.",
|
||||
"string": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"sea_material": {
|
||||
"title": "Sea Material",
|
||||
"description": "Controls the block type used for the bodies of water in this biome.",
|
||||
"string": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"sea_floor_depth": {
|
||||
"title": "Sea Floor Depth",
|
||||
71
source/behavior/biomes/format/components/mesa_surface.json
Normal file
71
source/behavior/biomes/format/components/mesa_surface.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,50 +1,49 @@
|
||||
{
|
||||
"$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.mountain_parameters",
|
||||
"title": "Mountain parameters",
|
||||
"$id": "blockception.minecraft.behavior.biomes.minecraft.mountain_parameters",
|
||||
"title": "Mountain Parameters",
|
||||
"description": "Noise parameters used to drive mountain terrain generation in Overworld.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 0,
|
||||
"maxProperties": 3,
|
||||
"properties": {
|
||||
"steep_material_adjustment": {
|
||||
"type": "object",
|
||||
"title": "Steep material adjustment",
|
||||
"title": "Steep Material Adjustment",
|
||||
"description": "Defines surface material for steep slopes.",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"material": {
|
||||
"type": "string",
|
||||
"title": "Material",
|
||||
"description": "Block type use as steep material."
|
||||
"description": "Block type use as steep material.",
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"north_slopes": {
|
||||
"type": "boolean",
|
||||
"title": "North slopes",
|
||||
"description": "Enable for north facing slopes."
|
||||
"title": "North Slopes",
|
||||
"description": "Enable for north-facing slopes."
|
||||
},
|
||||
"south_slopes": {
|
||||
"type": "boolean",
|
||||
"title": "South slopes",
|
||||
"description": "Enable for south facing slopes."
|
||||
"title": "South Slopes",
|
||||
"description": "Enable for south-facing slopes."
|
||||
},
|
||||
"west_slopes": {
|
||||
"type": "boolean",
|
||||
"title": "West slopes",
|
||||
"description": "Enable for west facing slopes."
|
||||
"title": "West Slopes",
|
||||
"description": "Enable for west-facing slopes."
|
||||
},
|
||||
"east_slopes": {
|
||||
"type": "boolean",
|
||||
"title": "East slopes",
|
||||
"description": "Enable for east facing slopes."
|
||||
"title": "East Slopes",
|
||||
"description": "Enable for east-facing slopes."
|
||||
}
|
||||
}
|
||||
},
|
||||
"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.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["enabled"],
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"title": "Enabled",
|
||||
@@ -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",
|
||||
"description": "Controls how this biome is instantiated (and then potentially modified) during world generation of the nether.",
|
||||
"type": "object",
|
||||
@@ -25,6 +25,10 @@
|
||||
"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" }
|
||||
"weight": {
|
||||
"title": "Weight",
|
||||
"description": "Weight with which this biome should selected, relative to other biomes.",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
"description": "Control how this biome is instantiated (and then potentially modified) during world generation of the overworld.",
|
||||
"type": "object",
|
||||
@@ -9,39 +9,32 @@
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"title": "Block Reference",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED"
|
||||
"title": "Biome",
|
||||
"description": "String name of a Biome."
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "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..",
|
||||
"title": "Block Reference",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"title": "Block Reference"
|
||||
"title": "Biome",
|
||||
"description": "String name of a Biome."
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"items": [
|
||||
{
|
||||
"title": "Biome Reference",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"title": "Biome",
|
||||
"description": "String name of a Biome."
|
||||
},
|
||||
{
|
||||
"title": "_",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"title": "Weight",
|
||||
"description": "A positive integer representing how that Biome is weighted against other entries..",
|
||||
"type": "integer"
|
||||
}
|
||||
]
|
||||
@@ -55,36 +48,30 @@
|
||||
"properties": {
|
||||
"hills_transformation": {
|
||||
"title": "Hills Transformation",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"description": "What biome to switch to when converting to a hilly biome.",
|
||||
"$ref": "#/definitions/transformation"
|
||||
},
|
||||
"mutate_transformation": {
|
||||
"title": "Mutate Transformation",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"description": "What biome to switch to when converting to a mutated biome.",
|
||||
"$ref": "#/definitions/transformation"
|
||||
},
|
||||
"river_transformation": {
|
||||
"title": "River Transformation",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"description": "What biome to switch to when converting to a river biome (if not the Vanilla 'river' biome).",
|
||||
"$ref": "#/definitions/transformation"
|
||||
},
|
||||
"shore_transformation": {
|
||||
"title": "Shore Transformation",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"description": "What biome to switch to when adjacent to an ocean biome.",
|
||||
"$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.",
|
||||
"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": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"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.",
|
||||
"type": "array",
|
||||
"items": [
|
||||
{
|
||||
@@ -96,7 +83,8 @@
|
||||
{
|
||||
"title": "Weight",
|
||||
"description": "Weight with which this biome should be selected, relative to other biomes in the same category.",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
47
source/behavior/biomes/format/components/replace_biomes.json
Normal file
47
source/behavior/biomes/format/components/replace_biomes.json
Normal 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"]
|
||||
}
|
||||
@@ -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",
|
||||
"description": "Specify fine-detail changes to blocks used in terrain generation (based on a noise function).",
|
||||
"type": "object",
|
||||
@@ -10,8 +10,7 @@
|
||||
"description": "All adjustments that match the column's noise values will be applied in the order listed.",
|
||||
"items": {
|
||||
"title": "Adjustment",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"description": "The specific blocks used for this surface adjustment.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
@@ -21,46 +20,45 @@
|
||||
"type": "array",
|
||||
"items": [
|
||||
{
|
||||
"$ref": "../../../molang/number.json",
|
||||
"$ref": "../../../../molang/number.json",
|
||||
"title": "Min"
|
||||
},
|
||||
{
|
||||
"$ref": "../../../molang/number.json",
|
||||
"$ref": "../../../../molang/number.json",
|
||||
"title": "Max"
|
||||
}
|
||||
]
|
||||
},
|
||||
"materials": {
|
||||
"title": "Materials",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"description": "The specific blocks used for this surface adjustment.",
|
||||
"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"
|
||||
"$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 when this adjustment is active.",
|
||||
"type": "string"
|
||||
"$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 when this adjustment is active.",
|
||||
"type": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"foundation_material": {
|
||||
"title": "Top Materials",
|
||||
"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": {
|
||||
"title": "Top Materials",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
"description": "Control the blocks used for the default Minecraft Overworld terrain generation.",
|
||||
"type": "object",
|
||||
"minProperties": 0,
|
||||
"maxProperties": 6,
|
||||
"required": ["foundation_material", "mid_material", "sea_floor_depth", "sea_floor_material", "sea_material", "top_material"],
|
||||
"additionalProperties": false,
|
||||
"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": {
|
||||
"title": "Mid Material",
|
||||
"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": {
|
||||
"title": "Sea Floor Material",
|
||||
"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": {
|
||||
"title": "Foundation Material",
|
||||
"description": "Controls the block type used deep underground in this biome.",
|
||||
"string": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"sea_material": {
|
||||
"title": "Sea Material",
|
||||
"description": "Controls the block type used for the bodies of water in this biome.",
|
||||
"string": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"sea_floor_depth": {
|
||||
"title": "Sea Floor Depth",
|
||||
@@ -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",
|
||||
"description": "Similar to overworld_surface. Adds swamp surface details.",
|
||||
"type": "object",
|
||||
"minProperties": 0,
|
||||
"maxProperties": 6,
|
||||
"required": ["foundation_material", "mid_material", "sea_floor_depth", "sea_floor_material", "sea_material", "top_material"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"top_material": {
|
||||
"title": "Top Material",
|
||||
"description": "Controls the block type used for the surface of this biome.",
|
||||
"string": "string"
|
||||
"$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.",
|
||||
"string": "string"
|
||||
"$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.",
|
||||
"string": "boostringlean"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"foundation_material": {
|
||||
"title": "Foundation Material",
|
||||
"description": "Controls the block type used deep underground in this biome.",
|
||||
"string": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"sea_material": {
|
||||
"title": "Sea Material",
|
||||
"description": "Controls the block type used for the bodies of water in this biome.",
|
||||
"string": "string"
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
"sea_floor_depth": {
|
||||
"title": "Sea Floor Depth",
|
||||
20
source/behavior/biomes/format/components/tags.json
Normal file
20
source/behavior/biomes/format/components/tags.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
"description": "Use default Minecraft End terrain generation.",
|
||||
"type": "object",
|
||||
51
source/behavior/biomes/format/minecraft.biome.json
Normal file
51
source/behavior/biomes/format/minecraft.biome.json
Normal 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" }
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,20 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.blocks.minecraft.destruction_particles",
|
||||
"title": "Destruction Particles",
|
||||
"description": "[Experimental] Sets the particles that will be used when block is destroyed. This component can be omitted.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["texture"],
|
||||
"properties": {
|
||||
"texture": {
|
||||
"title": "Texture",
|
||||
"description": "The texture name used for the particle.",
|
||||
"type": "string"
|
||||
},
|
||||
"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.",
|
||||
"type": "string",
|
||||
"$ref": "../../../../general/vanilla/tint_methods.json"
|
||||
}
|
||||
"$id": "blockception.minecraft.behavior.blocks.minecraft.destruction_particles",
|
||||
"title": "Destruction Particles",
|
||||
"description": "[Experimental] Sets the particles that will be used when block is destroyed. This component can be omitted.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"texture": {
|
||||
"title": "Texture",
|
||||
"description": "The texture name used for the particle.",
|
||||
"type": "string"
|
||||
},
|
||||
"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.",
|
||||
"type": "string",
|
||||
"$ref": "../../../../general/vanilla/tint_methods.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,12 @@
|
||||
"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.",
|
||||
"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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
"$id": "blockception.minecraft.behavior.blocks.minecraft.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\".",
|
||||
"required": [ ],
|
||||
"required": [],
|
||||
"examples": [
|
||||
{ "*": { } },
|
||||
{ "custom_sides": { } },
|
||||
{ "up": { } },
|
||||
{ "down": { } },
|
||||
{ "north": { } },
|
||||
{ "*": {} },
|
||||
{ "custom_sides": {} },
|
||||
{ "up": {} },
|
||||
{ "down": {} },
|
||||
{ "north": {} },
|
||||
{ "south": "custom_sides" },
|
||||
{ "east": "custom_sides" },
|
||||
{ "west": "custom_sides" }
|
||||
@@ -51,7 +51,7 @@
|
||||
"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.",
|
||||
"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": {
|
||||
"title": "Texture",
|
||||
@@ -60,12 +60,12 @@
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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",
|
||||
"$ref": "../../../../general/vanilla/tint_methods.json"
|
||||
}
|
||||
|
||||
@@ -5,14 +5,13 @@
|
||||
"description": "A custom block definition.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ "description", "components" ],
|
||||
"required": ["description", "components"],
|
||||
"definitions": {
|
||||
"components_ref": {
|
||||
"type": "object",
|
||||
"title": "Component",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
"additionalProperties": false,
|
||||
"description": "The components of this block.",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
//Components
|
||||
"minecraft:collision_box": { "$ref": "./components/collision_box.json" },
|
||||
@@ -40,17 +39,17 @@
|
||||
"minecraft:tick": { "$ref": "./components/tick.json" },
|
||||
"minecraft:entity_fall_on": { "$ref": "./components/entity_fall_on.json" },
|
||||
// Tags
|
||||
"tag:minecraft:diamond_tier_destructible": { },
|
||||
"tag:minecraft:iron_tier_destructible": { },
|
||||
"tag:minecraft:is_axe_item_destructible": { },
|
||||
"tag:minecraft:is_hoe_item_destructible": { },
|
||||
"tag:minecraft:is_mace_item_destructible": { },
|
||||
"tag:minecraft:is_pickaxe_item_destructible": { },
|
||||
"tag:minecraft:is_shears_item_destructible": { },
|
||||
"tag:minecraft:is_shovel_item_destructible": { },
|
||||
"tag:minecraft:is_sword_item_destructible": { },
|
||||
"tag:minecraft:netherite_tier_destructible": { },
|
||||
"tag:minecraft:stone_tier_destructible": { }
|
||||
"tag:minecraft:diamond_tier_destructible": {},
|
||||
"tag:minecraft:iron_tier_destructible": {},
|
||||
"tag:minecraft:is_axe_item_destructible": {},
|
||||
"tag:minecraft:is_hoe_item_destructible": {},
|
||||
"tag:minecraft:is_mace_item_destructible": {},
|
||||
"tag:minecraft:is_pickaxe_item_destructible": {},
|
||||
"tag:minecraft:is_shears_item_destructible": {},
|
||||
"tag:minecraft:is_shovel_item_destructible": {},
|
||||
"tag:minecraft:is_sword_item_destructible": {},
|
||||
"tag:minecraft:netherite_tier_destructible": {},
|
||||
"tag:minecraft:stone_tier_destructible": {}
|
||||
},
|
||||
"patternProperties": {
|
||||
"tag:.+": {
|
||||
@@ -94,7 +93,7 @@
|
||||
"description": "The description for this block.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ "identifier" ],
|
||||
"required": ["identifier"],
|
||||
"properties": {
|
||||
"identifier": {
|
||||
"title": "Identifier",
|
||||
@@ -106,9 +105,9 @@
|
||||
"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.",
|
||||
"type": "object",
|
||||
"examples": [ { "category": "construction" } ],
|
||||
"examples": [{ "category": "construction" }],
|
||||
"additionalProperties": false,
|
||||
"required": [ "category" ],
|
||||
"required": ["category"],
|
||||
"properties": {
|
||||
"category": {
|
||||
"$ref": "../../../general/vanilla/creative_category.json"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.filters",
|
||||
"title": "Filters",
|
||||
"$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": {
|
||||
"filters_spec": {
|
||||
"defaultSnippets": [
|
||||
@@ -38,10 +38,10 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"examples": [ { "all_of": [ { } ] }, { "any_of": [ { } ] }, { "none_of": [ { } ] } ],
|
||||
"examples": [{ "all_of": [{}] }, { "any_of": [{}] }, { "none_of": [{}] }],
|
||||
"oneOf": [
|
||||
{
|
||||
"propertyNames": { "enum": [ "all_of", "any_of", "none_of" ] },
|
||||
"propertyNames": { "enum": ["all_of", "any_of", "none_of"] },
|
||||
"properties": {
|
||||
"all_of": {
|
||||
"title": "All Of",
|
||||
@@ -61,7 +61,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"required": [ "test" ],
|
||||
"required": ["test"],
|
||||
"properties": {
|
||||
"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_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_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_mob_effect" } } }, "then": { "$ref": "./filters/has_mob_effect.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "has_nametag" } } }, "then": { "$ref": "./filters/has_nametag.json" } },
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"type": "object",
|
||||
"title": "Has Biome Tag",
|
||||
"description": "Tests whether the biome the subject is in has the specified tag.",
|
||||
"required": [ "value" ],
|
||||
"required": ["value"],
|
||||
"properties": {
|
||||
"test": {
|
||||
"type": "string",
|
||||
@@ -19,14 +19,7 @@
|
||||
"value": {
|
||||
"description": "The tag to look for.",
|
||||
"title": "Value",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "../../../../general/vanilla/biome_tag.json"
|
||||
},
|
||||
{
|
||||
"$ref": "../../../../general/vanilla/biome.json"
|
||||
}
|
||||
]
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,8 +18,8 @@
|
||||
},
|
||||
"value": {
|
||||
"description": "The biome type to test.",
|
||||
"$ref": "../../../../general/vanilla/biome.json",
|
||||
"title": "Value"
|
||||
"title": "Value",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
90
source/behavior/entities/format/behaviors/float_tempt.json
Normal file
90
source/behavior/entities/format/behaviors/float_tempt.json
Normal 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
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,6 +9,18 @@
|
||||
"priority": {
|
||||
"$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": {
|
||||
"type": "integer",
|
||||
"default": 10,
|
||||
@@ -39,12 +51,32 @@
|
||||
"type": "boolean",
|
||||
"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": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "If true, the mob will randomly pick a new point while moving to the previously selected one.",
|
||||
"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": {
|
||||
"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.",
|
||||
|
||||
@@ -4,11 +4,20 @@
|
||||
"title": "Follow Mob",
|
||||
"description": "Allows the mob to follow other mobs.",
|
||||
"additionalProperties": false,
|
||||
"required": [],
|
||||
"properties": {
|
||||
"priority": {
|
||||
"$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": {
|
||||
"$ref": "./types/speed_multiplier.json"
|
||||
},
|
||||
@@ -23,6 +32,12 @@
|
||||
"default": 2,
|
||||
"description": "The distance in blocks this mob stops from the mob it is following.",
|
||||
"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": [
|
||||
|
||||
@@ -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": {
|
||||
"$ref": "../../../../general/sound_event.json",
|
||||
"description": "Sound to play while the mob is being tempted.",
|
||||
@@ -59,6 +66,16 @@
|
||||
"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": [
|
||||
|
||||
@@ -250,6 +250,7 @@
|
||||
"minecraft:behavior.flee_sun": { "$ref": "./behaviors/flee_sun.json" },
|
||||
"minecraft:behavior.float_wander": { "$ref": "./behaviors/float_wander.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_mob": { "$ref": "./behaviors/follow_mob.json" },
|
||||
"minecraft:behavior.follow_owner": { "$ref": "./behaviors/follow_owner.json" },
|
||||
|
||||
@@ -157,24 +157,20 @@
|
||||
"drop_item_slot": {
|
||||
"title": "Drop Item Slot",
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"slot.armor.head",
|
||||
"slot.armor.chest",
|
||||
"slot.armor.legs",
|
||||
"slot.armor.feet"
|
||||
],
|
||||
"examples": ["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."
|
||||
},
|
||||
"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": {
|
||||
"title": "Equip Item Slot",
|
||||
"type": "string",
|
||||
"description": "The entity's equipment slot to equip the item to, if any, upon successful interaction.",
|
||||
"examples": [
|
||||
"slot.armor.head",
|
||||
"slot.armor.chest",
|
||||
"slot.armor.legs",
|
||||
"slot.armor.feet"
|
||||
]
|
||||
"examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"]
|
||||
},
|
||||
"repair_entity_item": {
|
||||
"title": "Repair Entity Item",
|
||||
@@ -191,12 +187,7 @@
|
||||
"title": "Slot",
|
||||
"description": "The entity's slot containing the item to be repaired.",
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"slot.armor.head",
|
||||
"slot.armor.chest",
|
||||
"slot.armor.legs",
|
||||
"slot.armor.feet"
|
||||
]
|
||||
"examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,13 +4,7 @@
|
||||
"title": "Leashable",
|
||||
"description": "Allows this entity to be leashed and defines the conditions and events for this entity when is leashed.",
|
||||
"additionalProperties": false,
|
||||
"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"
|
||||
},
|
||||
"definitions": {
|
||||
"hard_distance": {
|
||||
"type": "number",
|
||||
"default": 6,
|
||||
@@ -23,6 +17,32 @@
|
||||
"description": "Distance in blocks at which the leash breaks.",
|
||||
"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": {
|
||||
"$ref": "../types/event_object.json",
|
||||
"description": "Event to call when this entity is leashed.",
|
||||
@@ -34,10 +54,31 @@
|
||||
"title": "On Unleash"
|
||||
},
|
||||
"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"
|
||||
"$ref": "#/definitions/soft_distance"
|
||||
},
|
||||
"presets": {
|
||||
"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": [
|
||||
|
||||
@@ -9,6 +9,38 @@
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"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": {
|
||||
"type": "number",
|
||||
"default": 181,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.items",
|
||||
"additionalProperties": false,
|
||||
"required": [ "description" ],
|
||||
"required": ["description"],
|
||||
"type": "object",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED",
|
||||
@@ -54,6 +54,7 @@
|
||||
"components": {
|
||||
"type": "object",
|
||||
"description": "The components of this item.",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"minecraft:allow_off_hand": { "$ref": "./components/allow_off_hand.json" },
|
||||
"minecraft:block_placer": { "$ref": "./components/block_placer.json" },
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{
|
||||
"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.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "../../general/vanilla/biome.json"
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"quantity": {
|
||||
@@ -42,7 +42,7 @@
|
||||
{
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ "min", "max" ],
|
||||
"required": ["min", "max"],
|
||||
"properties": {
|
||||
"min": { "type": "integer", "minimum": 1, "title": "Minimum" },
|
||||
"max": { "type": "integer", "minimum": 1, "title": "Maximum" }
|
||||
@@ -57,7 +57,7 @@
|
||||
"Functions": {
|
||||
"title": "Functions",
|
||||
"type": "array",
|
||||
"items": { "type": "object", "required": [ "function" ], "$ref": "../loot_tables/functions.json" }
|
||||
"items": { "type": "object", "required": ["function"], "$ref": "../loot_tables/functions.json" }
|
||||
},
|
||||
"TradeArray": {
|
||||
"type": "array",
|
||||
@@ -66,7 +66,7 @@
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"title": "Trade",
|
||||
"required": [ "wants", "gives" ],
|
||||
"required": ["wants", "gives"],
|
||||
"properties": {
|
||||
"gives": {
|
||||
"type": "array",
|
||||
@@ -87,7 +87,7 @@
|
||||
{
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ "min", "max" ],
|
||||
"required": ["min", "max"],
|
||||
"properties": {
|
||||
"min": { "type": "integer", "minimum": 1, "title": "Minimum" },
|
||||
"max": { "type": "integer", "minimum": 1, "title": "Maximum" }
|
||||
@@ -127,7 +127,7 @@
|
||||
{
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ "min", "max" ],
|
||||
"required": ["min", "max"],
|
||||
"properties": {
|
||||
"min": { "type": "integer", "minimum": 1, "title": "Minimum" },
|
||||
"max": { "type": "integer", "minimum": 1, "title": "Maximum" }
|
||||
@@ -167,7 +167,7 @@
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"title": "Tier",
|
||||
"required": [ "total_exp_required", "groups" ],
|
||||
"required": ["total_exp_required", "groups"],
|
||||
"properties": {
|
||||
"trades": { "$ref": "#/definitions/TradeArray" },
|
||||
"total_exp_required": { "title": "Total Experience Required", "type": "integer" },
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"description",
|
||||
"heightmap_projection",
|
||||
"max_depth",
|
||||
"start_height",
|
||||
"start_pool",
|
||||
|
||||
7
source/general/identifier.json
Normal file
7
source/general/identifier.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.identifier",
|
||||
"description": "A minecraft identifier.",
|
||||
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$",
|
||||
"title": "Identifier",
|
||||
"type": "string"
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -5,6 +5,11 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"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": {
|
||||
"title": "Volume Multiplier",
|
||||
"description": "Multiplier temporarily and gradually applied to music volume when within this biome.",
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
"title": "Water Appearance",
|
||||
"description": "Set the water surface color used during rendering. Biomes without this component will have default water surface color behavior.",
|
||||
"type": "object",
|
||||
"required": ["surface_color"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"surface_color": {
|
||||
|
||||
@@ -51,6 +51,12 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"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": {
|
||||
"title": "Bone",
|
||||
"description": "The bone within the geometry part",
|
||||
|
||||
Reference in New Issue
Block a user