此特性为Java版独有。
谓词(Predicate)是技术性JSON文件, 相当于战利品表、命令/execute if predicate和predicate目标选择器参数的条件。它们是数据包的一部分。
JSON结构
- 根标签。
- condition: 该条件的ID。
- 该条件的其他部分,指定的部分在下面列出。
condition的可能取值及其相关的额外内容:
- alternative - 将该列表中的每一个参数项用"or”连接起来。
- terms: 一个由条件组成的列表,每个条件在判断时以“or”连接。
- block_state_property - 检查方块状态的属性。
- block: 一个方块ID。当方块不匹配时,测试不通过。
- properties: (可选)方块属性和其NBT值的一个映射,所有的值均为字符串。当方块不匹配时,测试不通过。
- damage_source_properties - 检查伤害来源的属性。
- properties: 伤害属性和其NBT值的映射。
- entity_present - 当实体被设置时返回true。
- entity_properties - 实体的测试属性。
- entity: 指定实体检查相应的条件。设置成
this将使用死亡的实体,或是破坏方块、打开容器或获取进度的玩家,killer使用杀手,而killer_player使用作为杀手的玩家。 - predicate: 应用于位置的predicate,和进度使用一样的结构。
- flags: 待检查的predicate信号。
- is_on_fire: 测试实体是否在火里。
- is_sneaking: 测试实体是否在潜行。
- is_sprinting: 测试实体是否在快跑。
- is_swimming: 测试实体是否在游泳。
- is_baby: 测试实体是否幼年状态。
- flags: 待检查的predicate信号。
- entity: 指定实体检查相应的条件。设置成
- entity_scores - 测试实体的记分板分数。
- entity: 指定实体检查相应的条件。设置成
this将使用死亡的实体,或是破坏方块、打开容器或获取进度的玩家,killer使用杀手,而killer_player使用作为杀手的玩家。 - scores: 待检查的分数。所有指定的分数通过测试时,条件通过。
- A score: A score是Json键名,分数刚好满足其值时,条件通过。
- A score: A score是Json键名,分数达到下面最大值和最小值的范围时,条件通过。
- min: 最小分数。
- max: 最大分数。
- entity: 指定实体检查相应的条件。设置成
- inverted - 把参数项中条件的判断结果取反。
- term: 待取反的条件。
- killed_by_player - 测试
killer_player实体是否可用。- inverse: 如果
killer_player不可用,测试通过。
- inverse: 如果
- location_check - 检查是否匹配当前位置。
- predicate: 应用在物品上的Predicate,使用与进度一致的结构。
- 位置信息谓词
- predicate: 应用在物品上的Predicate,使用与进度一致的结构。
- match_tool - 检查工具。
- predicate: 应用在物品上的Predicate,使用与进度一致的结构。
- 物品谓词
- predicate: 应用在物品上的Predicate,使用与进度一致的结构。
- random_chance - 测试一个0.0–1.0之间的随机数是不是小于给定值。
- chance: 0.0–1.0之间取得的成功率。
- random_chance_with_looting - 测试一个0.0–1.0之间的随机数是不是小于给定值,受
killer实体身上的抢夺等级影响。- chance: 基础成功率。
- looting_multiplier: 对基础成功率的调整,公式是
chance + (looting_level * looting_multiplier)。
- reference - 测试是否已经通过了另一个引用条件(Predicate)。
- name: 条件(或者说Predicate)所引用的命名空间ID。循环引用会导致解析失败。
- survives_explosion -(1/爆炸半径)的概率返回true。
- table_bonus - 以附魔等级为索引,从表中挑选概率通过。
- enchantment: 附魔的id。
- chances: 从0开始索引,获取相应附魔等级的概率表。
- tool_enchantment - 测试工具的附魔。
- enchantments: 该工具必须具有的附魔列表。
- 代指其中的一个附魔。
- enchantment: 命名空间化的附魔名称。
- levels: 附魔必须具有的等级。
- min: 最低附魔等级。
- max: 最高附魔等级。
- 代指其中的一个附魔。
- enchantments: 该工具必须具有的附魔列表。
- weather_check - 检查当前的天气状态。
- raining: 如果为真,仅在下雨时,该条件测试通过。
- thundering: 如果为真,仅在雷暴天气时,该条件测试通过。
历史
| Java版 | |||||
|---|---|---|---|---|---|
| 1.15 | 19w38a | 向数据包中加入了Predicate。 | |||
| 组件 |
| ||
|---|---|---|---|
| 数据包 | |||
| 教程 | |||