1
0
mirror of https://github.com/Mojang/bedrock-samples.git synced 2024-11-21 20:46:28 +00:00
bedrock-samples/metadata/json_schemas/Processor List v1.21.20.json
Mike Ammerlaan 1440438305 v1.21.30.3
2024-09-17 09:13:33 -07:00

654 lines
27 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "2288298513",
"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
}
},
"1218029234": {
"title": "struct SharedTypes::v1_21_20::JigsawStructureProcessorList::Description",
"type": "object",
"properties": {
"identifier": {
"description": "Identifier of the Processor List. This is referenced by Template Pools when pairing processors with Structure Templates.",
"type": "string"
}
},
"required": [
"identifier"
]
},
"1354340864": {
"title": "struct SharedTypes::v1_21_20::ConstantIntProvider",
"description": "Specifies a constant integer",
"type": "object",
"properties": {
"type": {
"title": "enum SharedTypes::v1_21_20::IntProviderType",
"type": "string",
"enum": [
"constant"
]
},
"value": {
"description": "Constant value",
"type": "integer"
}
},
"required": [
"type",
"value"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"1391327946": {
"title": "struct SharedTypes::v1_21_20::JigsawStructureProcessorList::Contents",
"type": "object",
"properties": {
"description": {
"$ref": "#/definitions/1218029234"
},
"processors": {
"title": "sequence container",
"description": "List of processors to run on the Structure Template.",
"type": "array",
"items": {
"oneOf": [
{
"description": "Replaces and modifies blocks based on a series of rules",
"$ref": "#/definitions/3016468321"
},
{
"description": "Protect blocks from this structure's placement in the world. Ensuring that it does not replace matching blocks in the world",
"$ref": "#/definitions/1810898542"
},
{
"description": "Specifies block types in the template that should be ignored by other processors.",
"$ref": "#/definitions/3518228880"
},
{
"description": "Processor that wraps a processor and caps the number of times the delegated processor can be applied.",
"$ref": "#/definitions/2581260060"
}
]
}
}
},
"required": [
"description",
"processors"
]
},
"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
}
},
"1740413124": {
"title": "struct SharedTypes::v1_21_20::UniformIntProvider",
"description": "Specifies a uniformly distributed integer",
"type": "object",
"properties": {
"max_inclusive": {
"description": "Maximum value (inclusive)",
"type": "integer"
},
"min_inclusive": {
"description": "Minimum value (inclusive)",
"type": "integer"
},
"type": {
"title": "enum SharedTypes::v1_21_20::IntProviderType",
"type": "string",
"enum": [
"uniform"
]
}
},
"required": [
"max_inclusive",
"min_inclusive",
"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
}
},
"1810898542": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::Processors::ProtectedBlock",
"description": "Protect blocks from this structure's placement in the world. Ensuring that it does not replace matching blocks in the world",
"type": "object",
"properties": {
"processor_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::Processors::Type",
"type": "string",
"enum": [
"minecraft:protected_blocks"
]
},
"value": {
"description": "Block tag for the blocks that will be protected",
"type": "string"
}
},
"required": [
"processor_type",
"value"
],
"$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
}
},
"2581260060": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::Processors::Capped",
"description": "Processor that wraps a processor and caps the number of times the delegated processor can be applied.",
"type": "object",
"properties": {
"delegate": {
"description": "The processor that will be executed.",
"oneOf": [
{
"description": "Replaces and modifies blocks based on a series of rules",
"$ref": "#/definitions/3016468321"
},
{
"description": "Specifies block types in the template that should be ignored by other processors.",
"$ref": "#/definitions/3518228880"
},
{
"description": "Protect blocks from this structure's placement in the world. Ensuring that it does not replace matching blocks in the world",
"$ref": "#/definitions/1810898542"
}
]
},
"limit": {
"description": "The maximum number of times that this delegate can be applied.",
"oneOf": [
{
"type": "integer"
},
{
"description": "Specifies a constant integer",
"$ref": "#/definitions/1354340864"
},
{
"description": "Specifies a uniformly distributed integer",
"$ref": "#/definitions/1740413124"
}
]
},
"processor_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::Processors::Type",
"type": "string",
"enum": [
"minecraft:capped"
]
}
},
"required": [
"delegate",
"limit",
"processor_type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"3016468321": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::Processors::BlockRules",
"description": "Replaces and modifies blocks based on a series of rules",
"type": "object",
"properties": {
"processor_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::Processors::Type",
"type": "string",
"enum": [
"minecraft:rule"
]
},
"rules": {
"title": "sequence container",
"description": "List of block rules evaluated on all blocks of a Structure Template. Block rules are evaluated in order. If a block rule succeeds and the output_state is set, the output_state block will be used as the input_predicate block for subsequent rules.",
"type": "array",
"items": {
"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.",
"$ref": "#/definitions/3035388266"
}
}
},
"required": [
"processor_type",
"rules"
],
"$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
}
},
"3035388266": {
"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"
}
},
"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"
}
},
"3518228880": {
"title": "struct SharedTypes::v1_21_20::JigsawStructure::Processors::BlockIgnore",
"description": "Specifies block types in the template that should be ignored by other processors.",
"type": "object",
"properties": {
"blocks": {
"title": "sequence container",
"description": "List of blocks evaluated on all blocks of a Structure Template. If a block is matched in the provided list the block will be ignored for processing.",
"type": "array",
"items": {
"type": "string"
}
},
"processor_type": {
"title": "enum SharedTypes::v1_21_20::JigsawStructure::Processors::Type",
"type": "string",
"enum": [
"minecraft:block_ignore"
]
}
},
"required": [
"blocks",
"processor_type"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false
}
},
"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::JigsawStructureProcessorList::Document",
"type": "object",
"properties": {
"format_version": {
"type": "string"
},
"minecraft:processor_list": {
"description": "Rules used by Jigsaw Structures to determine which blocks to modify or replace when placing a Structure Template in the world.",
"$ref": "#/definitions/1391327946"
}
},
"required": [
"format_version",
"minecraft:processor_list"
],
"$metaProperties": {
"CEREAL_DOCUMENTATION_TAG": false,
"CEREAL_JSON_SCHEMA": "Processor List v1.21.20"
}
}