Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

Disambig gray  本文章介绍的是用于战利品表等的单独的技术性JSON文件。关于英文同名的自定义世界生成机制,请见“自定义世界生成 § 方块处理谓词”。关于更多谓词,请见“谓词(消歧义)”。
Information icon
此特性为Java版独有。
Clock
此条目需要更新。

理由:需更新1.17内容

战利品表谓词(Predicate)是技术性JSON文件,被用作战利品表、命令/execute if predicatepredicate目标选择器参数的条件。谓词是数据包的一部分。

JSON结构

  • 根标签。
    •  condition: 该条件的ID
    • 该条件的其他部分,指定的部分在下面列出。

以下为 condition的可能取值及其相关的额外内容:

  • alternative - 将该列表中的每一个参数项用“or”连接起来。
    •  terms: 一个由条件组成的列表,每个条件在判断时以“or”连接。
      • 一个条件。
  • block_state_property - 检查方块状态的属性。
    •  block: 一个方块ID。当方块不匹配时,测试不通过。
    •  properties: (可选)方块属性和其值的一个映射,所有的值均为字符串。当方块不匹配时,测试不通过。
  • damage_source_properties - 检查伤害来源的属性。
    •  predicate: 应用于伤害来源的谓词。
      • 伤害类型谓词
  • entity_properties - 实体的测试属性。
    •  entity: 指定实体检查相应的条件。设置成 this将使用死亡的实体,或是破坏方块、打开容器或获取进度的玩家,killer使用杀手,而killer_player使用作为杀手的玩家。
    •  predicate: 应用于位置的战利品表谓词,和进度使用一样的结构。
      • 实体谓词
  • entity_scores - 测试实体的记分板分数。
    •  entity: 指定实体检查相应的条件。设置成 this将使用死亡的实体,或是破坏方块、打开容器或获取进度的玩家,killer使用杀手,而killer_player使用作为杀手的玩家。
    •  scores: 待检查的分数。所有指定的分数通过测试时,条件通过。
      •  一个记分项: 将记分项名称作为键名,分数刚好满足其值时,条件通过。
      •  一个记分项: 将记分项名称作为键名,分数达到下面最大值和最小值的范围时,条件通过。
        •  min: 最小分数。
        •  max: 最大分数。
  • inverted - 把参数项中条件的判断结果取反。
    •  term: 待取反的条件。
  • killed_by_player - 测试 killer_player实体是否可用。
    •  inverse: 如果killer_player不可用,测试通过。
  • location_check - 检查是否匹配当前位置。
    •  offsetX:可用的位置偏移。
    •  offsetY:可用的位置偏移。
    •  offsetZ:可用的位置偏移。
    •  predicate: 应用在实体上的战利品表谓词,使用与进度一致的结构。
      • 位置信息谓词
  • match_tool - 检查工具。
    •  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_multiplier)
  • reference - 测试另一个被引用的条件(谓词)是否通过。
    •  name: 被引用的条件(谓词)的命名空间ID。循环引用会导致解析失败。
  • survives_explosion -(1/爆炸半径)的概率返回true。
  • table_bonus - 以附魔等级为索引,从表中挑选概率通过。
    •  enchantment: 附魔的id。
    •  chances: 从0开始索引,获取相应附魔等级的概率表。
  • time_check - 检查当前时间。
    •  value: 以刻为单位的时间值。
    •  value
      •  max: 最大值。
      •  min: 最小值。
    •  period: 若存在,则会用当前游戏时间除以该值所得的余数来与value匹配。(比如,若period被设置为100,value被设置为1,则时间为1/101/201……时通过。)
  • weather_check - 检查当前的天气状态。
    •  raining: 如果为真,仅在下雨时,该条件测试通过。
    •  thundering: 如果为真,仅在雷暴天气时,该条件测试通过。
  • value_check - 检查值的范围。

历史

Java版
1.1519w38a向数据包中加入了战利品表谓词。
Advertisement