1
0
mirror of https://github.com/Mojang/bedrock-samples.git synced 2024-11-24 12:56:11 +00:00
bedrock-samples/metadata/json_schemas/Processor Rule v1.21.20.json
Mike Ammerlaan 1440438305 v1.21.30.3
2024-09-17 09:13:33 -07:00

388 lines
16 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "3035388266",
"definitions": {
"1134690608": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::AppendLoot",
"description": "Modifier will attempt to add loot to a block entity.",
"type": "object",
"properties": {
"loot_table": {
"description": "The loot table to append",
"type": "string"
},
"type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockEntityModifierType",
"type": "string",
"enum": [
"minecraft:append_loot"
]
}
},
"required": [
"loot_table",
"type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"1556792771": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::AlwaysTruePos",
"description": "Predicate that always evaluates to true. This is the default predicate if no other predicate is specified.",
"type": "object",
"properties": {
"predicate_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::PosType",
"type": "string",
"enum": [
"minecraft:always_true"
]
}
},
"required": [
"predicate_type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"1790427995": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::ArcheologyBlockLootMatch",
"description": "Predicate that replaces a block and adds loot.",
"type": "object",
"properties": {
"block_mapping": {
"title": "associative container",
"description": "Mapping of block types to replace.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"limit": {
"description": "Maximum number of blocks to replace within the structure.",
"type": "integer"
},
"loot_table": {
"description": "Loot table to assign to the replaced blocks.",
"type": "string"
},
"predicate_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockType",
"description": "Predicate that replaces a block and adds a loot table.",
"type": "string",
"enum": [
"minecraft:archeology_block_loot"
]
}
},
"required": [
"block_mapping",
"limit",
"loot_table",
"predicate_type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"2198589344": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockMatch",
"description": "Predicate that evaluates to true if the block at the specified location matches the specified block.",
"type": "object",
"properties": {
"block": {
"description": "The block to match against.",
"type": "string"
},
"predicate_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockType",
"type": "string",
"enum": [
"minecraft:block_match"
]
}
},
"required": [
"block",
"predicate_type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"3034820683": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::TagMatch",
"description": "Predicate that evaluates to true if the block at the specified location constains the tag.",
"type": "object",
"properties": {
"predicate_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockType",
"type": "string",
"enum": [
"minecraft:tag_match"
]
},
"tag": {
"description": "The tag to be matched",
"type": "string"
}
},
"required": [
"predicate_type",
"tag"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"3076687790": {
"title": "Block Specifier",
"description": "Specifies a particular block. Can be a string block name or a JSON object",
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"description": "Name of the block",
"type": "string"
},
"states": {
"title": "associative container",
"description": "Contains members named after each state, with boolean, integer, or string values.",
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "integer"
},
{
"type": "string"
}
]
}
}
},
"required": [
"name"
]
}
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false,
"CEREAL_JSON_SCHEMA": "Block Specifier v1.20.60"
}
},
"3523914459": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::RandomBlockMatch",
"description": "Predicate that evaluates to true with a given probability if the block at the specified location matches the specified block.",
"type": "object",
"properties": {
"block": {
"description": "The block to match against.",
"type": "string"
},
"predicate_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockType",
"type": "string",
"enum": [
"minecraft:random_block_match"
]
},
"probability": {
"description": "Probability of the evaluating to true when the block matches.",
"type": "number",
"minimum": 0.0,
"exclusiveMaximum": 1.0
}
},
"required": [
"block",
"predicate_type",
"probability"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"3839910888": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::AxisAlignedLinear",
"description": "Predicate that evalutes to true if the block is within the distance range along the provided axis and and random number is generated between chance range",
"type": "object",
"properties": {
"axis": {
"title": "PositionalBlockRuleAxis",
"type": "string",
"enum": [
"x",
"y",
"z"
]
},
"max_chance": {
"type": "number",
"minimum": 0.0,
"exclusiveMaximum": 1.0
},
"max_dist": {
"type": "integer",
"minimum": 0.0
},
"min_chance": {
"type": "number",
"minimum": 0.0,
"exclusiveMaximum": 1.0
},
"min_dist": {
"type": "integer",
"minimum": 0.0
},
"predicate_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::PosType",
"type": "string",
"enum": [
"minecraft:axis_aligned_linear_pos"
]
}
},
"required": [
"predicate_type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"4275912652": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::AlwaysTrueBlock",
"description": "Predicate that always evaluates to true. This is the default predicate if no other predicate is specified.",
"type": "object",
"properties": {
"predicate_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockType",
"type": "string",
"enum": [
"minecraft:always_true"
]
}
},
"required": [
"predicate_type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"45584192": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::Passthrough",
"description": "Modifier that leaves the state unchanged. This is the default block modifier if no other block modifier is specified.",
"type": "object",
"properties": {
"type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::ProcessorRule::BlockEntityModifierType",
"type": "string",
"enum": [
"minecraft:passthrough"
]
}
},
"required": [
"type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
}
},
"title": "struct SharedTypes::v1_21_20::JigsawStructure::Rule",
"description": "A block rule that is evaluated on all blocks of a Structure Template. All predicates must evaluate to true in order for a block to be replaced by the output_state.",
"type": "object",
"properties": {
"block_entity_modifier": {
"description": "A block state modifier for block entities when all predicate match.",
"oneOf": [
{
"description": "Modifier that leaves the state unchanged. This is the default block modifier if no other block modifier is specified.",
"$ref": "#/definitions/45584192"
},
{
"description": "Modifier will attempt to add loot to a block entity.",
"$ref": "#/definitions/1134690608"
}
]
},
"input_predicate": {
"description": "A predicate evaluated on the Structure Template block.",
"oneOf": [
{
"description": "Predicate that always evaluates to true. This is the default predicate if no other predicate is specified.",
"$ref": "#/definitions/4275912652"
},
{
"description": "Predicate that evaluates to true if the block at the specified location matches the specified block.",
"$ref": "#/definitions/2198589344"
},
{
"description": "Predicate that evaluates to true with a given probability if the block at the specified location matches the specified block.",
"$ref": "#/definitions/3523914459"
},
{
"description": "Predicate that evaluates to true if the block at the specified location constains the tag.",
"$ref": "#/definitions/3034820683"
}
]
},
"location_predicate": {
"description": "A predicate evaluated on the world block.",
"oneOf": [
{
"description": "Predicate that always evaluates to true. This is the default predicate if no other predicate is specified.",
"$ref": "#/definitions/4275912652"
},
{
"description": "Predicate that evaluates to true if the block at the specified location matches the specified block.",
"$ref": "#/definitions/2198589344"
},
{
"description": "Predicate that evaluates to true with a given probability if the block at the specified location matches the specified block.",
"$ref": "#/definitions/3523914459"
},
{
"description": "Predicate that evaluates to true if the block at the specified location constains the tag.",
"$ref": "#/definitions/3034820683"
}
]
},
"output_state": {
"description": "Block to replace the world block with if all predicates evaluate to true.",
"$ref": "#/definitions/3076687790"
},
"position_predicate": {
"description": "A predicate evaluated on the distance between the structure's world origin and the world block.",
"oneOf": [
{
"description": "Predicate that always evaluates to true. This is the default predicate if no other predicate is specified.",
"$ref": "#/definitions/1556792771"
},
{
"description": "Predicate that evalutes to true if the block is within the distance range along the provided axis and and random number is generated between chance range",
"$ref": "#/definitions/3839910888"
},
{
"description": "Predicate that replaces a block and adds loot.",
"$ref": "#/definitions/1790427995"
}
]
}
},
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false,
"CEREAL_JSON_SCHEMA": "Processor Rule v1.21.20"
}
}