当前位置: 我的世界 > 游戏攻略 > 正文

我的世界1.12新成就系统JSON格式详解(11)

小编:3F时间:2017-04-06 09:55回到游戏园首页

  blocked

  这个布尔值检查伤害是否被完全阻挡(bypasses_armor(unblockable)不会是true)。

  以下这个例子检查玩家是否不能阻挡箭的伤害。

  {

  "criteria": {

  "custom_test_name": {

  "trigger": "minecraft:player_damaged",

  "conditions": {

  "damage": {

  "blocked": false,

  "source_entity": {

  "type": "minecraft:arrow"

  }

  }

  }

  }

  }

  }

  source_entity

  这个entity object检查对玩家造成伤害的实体。

  如果是投射物的伤害,则需要视乎该投射物有没有"主人",也就是射出此投射物的实体。如果有,则算作该主人造成的伤害,否则则算作该投射物的伤害。

  如果是中毒这类伤害,则不会被算作是实体造成的伤害(即使是由女巫扔出的药水)。

  以下这个例子检查玩家是否被僵尸伤害。

  {

  "criteria": {

  "custom_test_name": {

  "trigger": "minecraft:player_damaged",

  "conditions": {

  "damage": {

  "source_entity": {

  "type": "minecraft:zombie"

  }

  }

  }

  }

  }

  }

  player_killed_entity

  当玩家击杀别的实体时会被触发(不包括玩家)。

  这个trigger有1个condition: entity。

  entity

  这个entity object会检查被杀死的实体。

  以下这个例子检查玩家是否击杀了一头牛

  {

  "criteria": {

  "custom_test_name": {

  "trigger": "minecraft:player_killed_entity",

  "conditions": {

  "entity": {

  "type": "minecraft:cow"

  }

  }

  }

  }

  }

  recipe_unlocked

  当玩家解锁指定合成配方(recipe, 不确定官方译名)时会被触发。

  这trigger有一个必须的condition: recipe,指定该合成配方的文件位置。

  注意这只会在收到合成配方时检查。如果玩家在这advancement存在前已经解锁了指定的合成配方,这advancement将不会理会该合成配方(也就是说那玩家无法得到这advancement)。因此你需要删除玩家解锁了的指定合成配方(使用/recipe命令)才能让该玩家能得到此advancement。

  这例子会检查玩家是否解锁"minecraft:redstone"(红石)的合成配方(即使是作为另外一个advancement的奖励)。

  {

  "criteria": {

  "custom_test_name": {

  "trigger": "minecraft:recipe_unlocked",

  "conditions": {

  "recipe": "minecraft:redstone"

  }

  }

  }

  }

分享到:更多

游戏信息

我的世界
我的世界类型:休闲娱乐平台:PC,iOS,安卓电脑版下载
  • 游戏大礼包
  • 手游开测表