处理器列表
{
"format_version": "1.21.40",
"minecraft:processor_list": { //拼图结构使用的规则,用于确定在世界中放置结构模板时要修改或替换哪些方块。
"description": {
"identifier": "" //Identifier of the Processor List. This is referenced by Template Pools when pairing processors with Structure Templates.
},
"processors": [ //List of processors to run on the Structure Template. 其中对象可以是四种之一,这里以不同对象表示。
{ //第1种,描述:Replaces and modifies blocks based on a series of rules
"processor_type": "minecraft:rule",
"rules": [ //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.
{ //在结构模板的所有方块上评估的方块规则。对于任意方块,如果全部谓词的计算结果是true,那么用output_state替换这个方块。
"block_entity_modifier": { //可选,当所有谓词匹配时,用于方块实体的方块状态修饰符。此对象有2种模式,需要填写其中一种模式。
//以下为第1种模式,描述:保持状态不变的修饰符。如果没有指定其他方块修饰符,这是默认的方块修饰符。
"type": "minecraft:passthrough"
//以下为第2种模式,描述:试图给一个方块实体增加战利品的修饰符。
"type": "minecraft:append_loot",
"loot_table": "" //要添加的战利品表路径
},
"input_predicate": { //可选,在结构模板方块上计算的谓词。此对象有4种模式,需要填写其中一种模式。
//以下为第1种模式,描述:始终计算为true的谓词。如果没有指定其他谓词,这是默认谓词。
"predicate_type": "minecraft:always_true"
//以下为第2种模式,描述:如果指定位置的方块是指定的方块,则该谓词的计算结果为true。
"predicate_type": "minecraft:block_match",
"block": "" //要匹配的方块。
//以下为第3种模式,描述:如果指定位置的方块是指定的方块,则以给定的概率为true的谓词。
"predicate_type": "minecraft:random_block_match",
"block": "", //要匹配的方块。
"probability": 0.5 //浮点数,范围是[0.0,1.0),当方块匹配时结果为true的概率。
//以下为第4种模式,描述:如果指定位置的方块包含指定标签,则谓词计算为true。
"predicate_type": "minecraft:tag_match",
"tag": "" //要匹配的标签
},
"location_predicate": { //可选,在世界方块上计算的谓词。此对象有4种模式,需要填写其中一种模式。
//以下为第1种模式,描述:始终计算为true的谓词。如果没有指定其他谓词,这是默认谓词。
"predicate_type": "minecraft:always_true"
//以下为第2种模式,描述:如果指定位置的方块是指定的方块,则该谓词的计算结果为true。
"predicate_type": "minecraft:block_match",
"block": "" //要匹配的方块。
//以下为第3种模式,描述:如果指定位置的方块是指定的方块,则以给定的概率为true的谓词。
"predicate_type": "minecraft:random_block_match",
"block": "", //要匹配的方块。
"probability": 0.5 //浮点数,范围是[0.0,1.0),当方块匹配时结果为true的概率。
//以下为第4种模式,描述:如果指定位置的方块包含指定标签,则谓词计算为true。
"predicate_type": "minecraft:tag_match",
"tag": "" //要匹配的标签
},
"output_state": //如果所有谓词的计算结果都为true,则使用这里指定的方块替换世界方块。此字段有2种模式,需要填写其中一种模式。描述:指定特定的方块。可以是字符串方块名称或JSON对象
//以下为第1种模式。
"" //方块名称
//以下为第2种模式。
{
"name": "", //方块名称
"states": { //包含以每个状态命名的成员,具有布尔值、整数或字符串值。
"state_name": true //可以是布尔值、字符串或整数。
}
}
,
"position_predicate": { //可选,根据结构的原点和世界方块之间的距离计算的谓词。此对象有2种模式,需要填写其中一种模式。
//以下为第1种模式,描述:始终计算为true的谓词。如果没有指定其他谓词,这是默认谓词。
"predicate_type": "minecraft:always_true"
//以下为第2种模式,描述:如果方块在沿着所提供的轴的距离范围内,而且随机数在随机范围之间,则判定评估为true
"predicate_type": "minecraft:axis_aligned_linear_pos",
"axis": "y",
"max_chance": 0.75, //浮点数,范围是[0.0,1.0)
"min_chance": 0.25, //浮点数,范围是[0.0,1.0)
"max_dist": 16, //大于等于0的整数
"min_dist": 2, //大于等于0的整数
}
}
]
},
{ //第2种,描述:Protect blocks from this structure's placement in the world. Ensuring that it does not replace matching blocks in the world
"processor_type": "minecraft:protected_blocks",
"value": "" //Block tag for the blocks that will be protected
},
{ //第3种,描述:Specifies block types in the template that should be ignored by other processors.
"processor_type": "minecraft:block_ignore",
"blocks": [ //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.
""
]
},
{ //第4种,描述:Processor that wraps a processor and caps the number of times the delegated processor can be applied.
"processor_type": "minecraft:capped",
"delegate": //The processor that will be executed. 可以是三者之一。
{ //第1种,描述:Replaces and modifies blocks based on a series of rules
"processor_type": "minecraft:rule",
"rules": [ //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.
{ //在结构模板的所有方块上评估的方块规则。对于任意方块,如果全部谓词的计算结果是true,那么用output_state替换这个方块。
"block_entity_modifier": { //可选,当所有谓词匹配时,用于方块实体的方块状态修饰符。此对象有2种模式,需要填写其中一种模式。
//以下为第1种模式,描述:保持状态不变的修饰符。如果没有指定其他方块修饰符,这是默认的方块修饰符。
"type": "minecraft:passthrough"
//以下为第2种模式,描述:试图给一个方块实体增加战利品的修饰符。
"type": "minecraft:append_loot",
"loot_table": "" //要添加的战利品表路径
},
"input_predicate": { //可选,在结构模板方块上计算的谓词。此对象有4种模式,需要填写其中一种模式。
//以下为第1种模式,描述:始终计算为true的谓词。如果没有指定其他谓词,这是默认谓词。
"predicate_type": "minecraft:always_true"
//以下为第2种模式,描述:如果指定位置的方块是指定的方块,则该谓词的计算结果为true。
"predicate_type": "minecraft:block_match",
"block": "" //要匹配的方块。
//以下为第3种模式,描述:如果指定位置的方块是指定的方块,则以给定的概率为true的谓词。
"predicate_type": "minecraft:random_block_match",
"block": "", //要匹配的方块。
"probability": 0.5 //浮点数,范围是[0.0,1.0),当方块匹配时结果为true的概率。
//以下为第4种模式,描述:如果指定位置的方块包含指定标签,则谓词计算为true。
"predicate_type": "minecraft:tag_match",
"tag": "" //要匹配的标签
},
"location_predicate": { //可选,在世界方块上计算的谓词。此对象有4种模式,需要填写其中一种模式。
//以下为第1种模式,描述:始终计算为true的谓词。如果没有指定其他谓词,这是默认谓词。
"predicate_type": "minecraft:always_true"
//以下为第2种模式,描述:如果指定位置的方块是指定的方块,则该谓词的计算结果为true。
"predicate_type": "minecraft:block_match",
"block": "" //要匹配的方块。
//以下为第3种模式,描述:如果指定位置的方块是指定的方块,则以给定的概率为true的谓词。
"predicate_type": "minecraft:random_block_match",
"block": "", //要匹配的方块。
"probability": 0.5 //浮点数,范围是[0.0,1.0),当方块匹配时结果为true的概率。
//以下为第4种模式,描述:如果指定位置的方块包含指定标签,则谓词计算为true。
"predicate_type": "minecraft:tag_match",
"tag": "" //要匹配的标签
},
"output_state": //如果所有谓词的计算结果都为true,则使用这里指定的方块替换世界方块。此字段有2种模式,需要填写其中一种模式。描述:指定特定的方块。可以是字符串方块名称或JSON对象
//以下为第1种模式。
"" //方块名称
//以下为第2种模式。
{
"name": "", //方块名称
"states": { //包含以每个状态命名的成员,具有布尔值、整数或字符串值。
"state_name": true //可以是布尔值、字符串或整数。
}
}
,
"position_predicate": { //可选,根据结构的原点和世界方块之间的距离计算的谓词。此对象有2种模式,需要填写其中一种模式。
//以下为第1种模式,描述:始终计算为true的谓词。如果没有指定其他谓词,这是默认谓词。
"predicate_type": "minecraft:always_true"
//以下为第2种模式,描述:如果方块在沿着所提供的轴的距离范围内,而且随机数在随机范围之间,则判定评估为true
"predicate_type": "minecraft:axis_aligned_linear_pos",
"axis": "y",
"max_chance": 0.75, //浮点数,范围是[0.0,1.0)
"min_chance": 0.25, //浮点数,范围是[0.0,1.0)
"max_dist": 16, //大于等于0的整数
"min_dist": 2, //大于等于0的整数
}
}
]
}
{ //第2种,描述:Protect blocks from this structure's placement in the world. Ensuring that it does not replace matching blocks in the world
"processor_type": "minecraft:protected_blocks",
"value": "" //Block tag for the blocks that will be protected
}
{ //第3种,描述:Specifies block types in the template that should be ignored by other processors.
"processor_type": "minecraft:block_ignore",
"blocks": [ //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.
""
]
}
,
"limit": //The maximum number of times that this delegate can be applied. 可以是三者之一。
1 //第一种,整数。
{ //第二种,Specifies a constant integer
"type": "constant",
"value": 1 //Constant value
}
{ //第三种,Specifies a uniformly distributed integer
"type": "uniform",
"min_inclusive": 1, //整数,Minimum value (inclusive)
"max_inclusive": 1 //整数,Maximum value (inclusive)
}
}
]
}
}