Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

楼主: SPGoding

[技巧教程] 【1.14.0】行为包入门教程

    [复制链接]
zy521 当前离线
积分
3398
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2014-6-15
查看详细资料
发表于 2019-2-21 21:49:16 | 显示全部楼层
大佬,可以更改地牢,末地城这种遗迹的生成几率吗?
回复

使用道具 举报

zy521 当前离线
积分
3398
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2014-6-15
查看详细资料
发表于 2019-2-20 21:34:10 | 显示全部楼层
大佬,wiki上貌似只有最新版本的行为包下载地址,请问你有1.8.1的原版行为包嘛?1.8也行~
回复

使用道具 举报

zzzbbbyyy 当前离线
积分
13
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-2-16
查看详细资料
发表于 2019-2-18 12:50:46 来自手机 | 显示全部楼层
佩服,看不懂...
回复

使用道具 举报

璀璨星空QWQ 当前离线
积分
188
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-12-13
查看详细资料
发表于 2019-1-29 15:46:53 | 显示全部楼层
添加实体不是还需要材质包吗?
回复

使用道具 举报

SPGoding 当前离线
积分
21668
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-1-18
查看详细资料
 楼主| 发表于 2018-11-22 21:17:54 | 显示全部楼层
本帖最后由 SPGoding 于 2019-10-27 19:43 编辑

其他组件

这一类组件能完成各种杂七杂八的东西,不好分类,格式上也没有什么共同点,因此单独使用一章。

minecraft:addrider

为该实体添加一个骑乘者。需要该实体具有 minecraft:rideable 组件。

  • entity_type:(字符串)骑乘该实体的实体 ID。

示例(蜘蛛 entities/spider.json):

  1. {
  2.     "minecraft:addrider": {
  3.         "entity_type": "minecraft:skeleton"
  4.     }
  5. }
复制代码

minecraft:ageable

为该实体添加一个用于成长的计时器。可以通过喂食 feed_items 中定义的物品来加速生长。

  • duration:(数字)可选。该实体成年所需要的时间,单位为秒。默认为 1200.0
  • drop_items:(数组)可选。当该实体生长后要掉落的物品。
    • (字符串)一个物品 ID
  • feed_items:(数组)可选。可以促进该实体生长的物品列表。
    • (字符串)一个物品 ID
    • (对象)一个物品
      • item:(字符串)物品名。
      • growth:(数字)喂食该物品能够促进的时间占总时间(duration)的比例。取值范围应在 [0.0, 1.0] 之间。

  • grow_up:(对象,格式同触发器)在该实体长大的那一刻触发。

示例(海龟 entities/turtle.json):

  1. {
  2.     "minecraft:ageable": {
  3.         "duration": 1200,
  4.         "feed_items": [
  5.             "seagrass"
  6.         ],
  7.         "drop_items": [
  8.             "turtle_shell_piece"
  9.         ],
  10.         "grow_up": {
  11.             "event": "minecraft:ageable_grow_up",
  12.             "target": "self"
  13.         }
  14.     }
  15. }
复制代码

示例(羊驼 entities/llama.json):

  1. {
  2.     "minecraft:ageable": {
  3.         "duration": 1200,
  4.         "feed_items": [
  5.             {
  6.                 "item": "wheat",
  7.                 "growth": 0.1
  8.             },
  9.             {
  10.                 "item": "hay_block",
  11.                 "growth": 0.9
  12.             }
  13.         ],
  14.         "grow_up": {
  15.             "event": "minecraft:ageable_grow_up",
  16.             "target": "self"
  17.         }
  18.     }
  19. }
复制代码

minecraft:angry

通过计时器定义实体的「愤怒」状态。

  • broadcastAnger:(布尔)可选。如果为 true,其他相同种类并且有 broadcastAnger 的实体也会愤怒。默认为 false
  • broadcastRange:(数字)可选。也会愤怒的实体的最大距离。默认为 20
  • calm_event:(对象,格式同触发器)当实体不再愤怒时触发。
  • duration:(数字)可选。该实体会保持愤怒的秒数。默认为 25
  • duration_delta:(数字)可选。添加到 duration 的变化量:[-delta, delta]。默认为 0

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:angry": {
  3.         "duration": 25,
  4.         "broadcastAnger": true,
  5.         "broadcastRange": 20,
  6.         "calm_event": {
  7.             "event": "calmed_down",
  8.             "target": "self"
  9.         }
  10.     },
  11. }
复制代码

minecraft:boostable

定义被拿着指定物品骑乘时,可骑乘实体速度的提升。

  • boost_items:(数组)可以使该实体速度提升的物品列表。
    • (对象)一个物品
      • item:(字符串)物品 ID。
      • damage:(数字)可选。每次使用时消耗的物品耐久。默认为 1
      • replace_item:(字符串)用于替换的物品 ID。当原物品耐久耗尽以后,会被替换为这个物品(例如骑乘猪时胡萝卜钓竿耐久用尽变成钓鱼竿)。

  • duration:(数字)可选。该提升的持续时间。默认为 3.0
  • speed_multiplier:(数字)可选。在使用此组件时实体移动速度增加的倍数。1.0 表明速度未改变,2.0 表明二倍,诸如此类。默认为 1.0

示例(猪 entities/pig.json):

  1. {
  2.     "minecraft:boostable": {
  3.         "speed_multiplier": 2.0,
  4.         "duration": 3.0,
  5.         "boost_items": [
  6.             {
  7.                 "item": "carrotOnAStick",
  8.                 "damage": 2,
  9.                 "replace_item": "fishing_rod"
  10.             }
  11.         ]
  12.     }
  13. }
复制代码

minecraft:breathable

定义该实体能够在其中呼吸/窒息的方块。

  • breathe_blocks:(数组)该实体能在其中呼吸的方块。
    • (字符串)一个方块 ID
  • breathes_air:(布尔)可选。如果为 true,该实体将能够在空气中呼吸。默认为 true
  • breathes_lava:(布尔)可选。如果为 true,该实体将能够在熔岩中呼吸。默认为 false
  • breathes_solids:(布尔)可选。如果为 true,该实体将能够在固体方块中呼吸。默认为 false
  • breathes_water:(布尔)可选。如果为 true,该实体将能够在水中呼吸。默认为 false
  • generates_bubbles:(布尔)可选。如果为 true,该实体在水中时将会产生气泡。默认为 true
  • inhale_time:(数字)可选。该实体回复满呼吸值所需秒数。默认为 0.0
  • non_breathe_blocks:(数组)该实体不能能在其中呼吸的方块。
    • (字符串)一个方块 ID
  • suffocate_time:(数字)可选。在窒息伤害之间的秒数。默认为 -20
  • total_supply:(数字)可选。实体能屏住呼吸的秒数。默认为 15

示例(海豚 entities/dolphin.json):

  1. {
  2.     "minecraft:breathable": {
  3.         "total_supply": 240,
  4.         "suffocate_time": 0,
  5.         "breathes_air": true,
  6.         "breathes_water": false,
  7.         "generates_bubbles": false
  8.     }
  9. }
复制代码

minecraft:breedable

定义实体进入繁殖状态的方式。

  • allow_sitting:(布尔)可选。如果为 true,该实体能在坐着的时候繁殖。默认为 true
  • blend_attributes:(布尔)可选。如果为 true,该实体会将性状融合到后代当中。例如,马在子代中融合了它们的血量、运动和跳跃力量。默认为 true
  • breed_cooldown:(数字)可选。该实体能再次繁殖的秒数。默认为 60.0
  • breed_items:(数组)能使实体进入繁殖状态的物品。
    • (字符串)一个物品 ID
  • breeds_with:(数组或对象)能够和该实体繁殖的生物。
    • (对象)
      • mate_type:(字符串)配偶的实体 ID。
      • baby_type:(字符串)子代的实体 ID。
      • breed_event:(对象,格式同触发器)繁殖时触发。可以使用 baby 作为主体(subject)来指代出生的实体。

  • causes_pregnancy:(布尔)可选。如果为 true,该实体会怀孕,而不是立刻生下子代。默认为 false
  • environment_requirements:(数组)对附近的环境要求。
    • (对象)
      • block:(字符串)要求的方块类型。
      • count:(数字)要求的方块最低数量。
      • radius:(数字)检查的半径,取值应在 [0, 16] 之间。

  • extra_baby_chance:(数字)可选。出生多个生物的几率,最多出生 16 个。取值应在 [0.0, 1.0] 之间。默认为 0.0
  • inherit_tamed:(布尔)可选。如果为 true,在父母已被驯服时,子代会被自动驯服。默认为 true
  • mutation_factor:(对象)变异。
    • color:(数字。默认 0.0)实体颜色变异的几率。取值应在 [0.0, 1.0] 之间。
    • extra_variant:(数字。默认 0.0)实体拓展变种变异的几率。取值应在 [0.0, 1.0] 之间。
    • variant:(数字。默认 0.0)实体变种变异的几率。取值应在 [0.0, 1.0] 之间。
  • require_tame:(布尔)可选。如果为 true,该实体在被繁殖前需要被驯服。默认为 true

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:breedable": {
  3.         "require_tame": false,
  4.         "breeds_with": {
  5.             "mate_type": "minecraft:bee",
  6.             "baby_type": "minecraft:bee",
  7.             "breed_event": {
  8.                 "event": "minecraft:entity_born",
  9.                 "target": "baby"
  10.             }
  11.         },
  12.         "breed_items": [
  13.             "minecraft:red_flower",     // All small flowers except Dandelion
  14.             "minecraft:yellow_flower",  // Dandelion
  15.             "minecraft:wither_rose",
  16.             "minecraft:double_plant:0", // Sunflower
  17.             "minecraft:double_plant:1", // Lilac
  18.             "minecraft:double_plant:4", // Rose Bush
  19.             "minecraft:double_plant:5"  // Peony
  20.         ]
  21.     }
  22. }
复制代码

minecraft:bribeable

当该实体被喂食指定物品后可以将玩家带到附近宝藏。由海豚使用。

  • bribe_cooldown:(数字)可选。距离该实体能再次被喂食物品的秒数。默认为 60.0
  • bribe_items:(数组)能用来喂食的物品。
    • (字符串)一个物品 ID


示例(海豚 entities/.json):

  1. {
  2.     "bribe_items": [
  3.         "fish",
  4.         "salmon"
  5.     ]
  6. }
复制代码

minecraft:damage_over_time

使实体每隔指定时间后受到指定伤害。

  • damage_per_hurt:(数字)可选。每次伤害的伤害量。默认为 1
  • time_between_hurt:(数字)可选。两次伤害的间隔秒数。默认为 0

示例(海豚 entities/.json):

  1. {
  2.     "minecraft:damage_over_time": {
  3.         "damage_per_hurt": 1,
  4.         "time_between_hurt": 0
  5.     }
  6. }
复制代码

minecraft:damage_sensor

当实体被指定物品或实体伤害时执行指定事件。

  • triggers:(对象)
    • cause:(字符串)能够执行该事件的伤害的类型。所有伤害类型可以参考滤器中的  has_damage 测试项目的介绍。
    • deals_damage:(布尔)可选。如果为 true,该实体会受到该伤害;设置为 false 会让实体忽略该伤害。默认为 true
    • on_damage:(对象,格式同触发器)当受到伤害时触发。可以在滤器的主体中使用 other 来表示造成该伤害的实体。


示例(苦力怕 entities/creeper.json):

  1. {
  2.     "minecraft:damage_sensor": {
  3.         "triggers": {
  4.             "on_damage": {
  5.                 "filters": {
  6.                     "test": "is_family",
  7.                     "subject": "other",
  8.                     "value": "lightning"
  9.                 },
  10.                 "event": "minecraft:become_charged"
  11.             },
  12.             "deals_damage": false
  13.         }
  14.     }
  15. }
复制代码

minecraft:economy_trade_table

定义该实体与玩家交易的能力。似乎只被新版村民使用。另见旧版村民使用的 minecraft:trade_table 组件。

  • display_name:(字符串)与此实体交易时显示的名称。
  • table:(字符串)从行为包根目录起始的交易表的相对路径,包含后缀 .json。使用左斜杠 / 分割路径。
  • new_screen:(布尔)是否使用新的交易 UI。
  • persist_trades:(布尔)不明。

示例(新版村民 entities/villager_2.json):

  1. {
  2.     "minecraft:trade_table": {
  3.         "display_name": "entity.villager.farmer",
  4.         "table": "trading/economy_trades/farmer_trades.json",
  5.         "new_screen": true,
  6.         "persist_trades": true
  7.     }
  8. }
复制代码

minecraft:environment_sensor

创建一个基于环境条件的感应器。

  • triggers:(数组或对象)存放所有触发器。

示例(尸壳 entities/husk.json):

  1. {
  2.     "minecraft:environment_sensor": {
  3.         "triggers": {
  4.             "filters": { "test": "is_underwater", "subject": "self", "operator": "==", "value": true },
  5.             "event": "minecraft:start_transforming"
  6.         }
  7.     }
  8. }
复制代码

minecraft:equippable

允许该实体装备物品。

  • slots:(数组)可以装备物品的栏位。
    • (对象)
      • slot:(数字)该栏位的 ID。
      • item:(字符串)可以放到该栏位的物品的 ID。
      • accepted_items:(数组)可以放到该栏位的所有物品。
        • (字符串)一个物品 ID
      • on_equip:(对象,格式同触发器)当该栏位被装备物品时触发。
      • on_unequip:(对象,格式同触发器)当该栏位被取下物品时触发。
      • interact_text:(字符串)触屏模式下与该实体交互时显示的文本。



示例(驴 entities/donkey.json):

  1. {
  2.     "minecraft:equippable": {
  3.         "slots": [
  4.             {
  5.                 "slot": 0,
  6.                 "item": "saddle",
  7.                 "accepted_items": ["saddle"],
  8.                 "on_equip": {
  9.                     "event": "minecraft:donkey_saddled"
  10.                 },
  11.                 "on_unequip": {
  12.                     "event": "minecraft:donkey_unsaddled"
  13.                 }
  14.             }
  15.         ]
  16.     }
  17. }
复制代码

minecraft:explode

定义该实体的爆炸方式。

  • breaks_blocks:(布尔)可选。如果为 true,该爆炸会摧毁爆炸半径内的方块。默认为 true
  • causesFire:(布尔)可选。如果为 true,爆炸半径内的方块会被点燃。默认为 false
  • destroyAffectedByGriefing:(布尔)可选。如果为 true,是否破坏方块会受到游戏规则 mobGriefing 的影响。默认为 false
  • fireAffectedByGriefing:(布尔)可选。如果为 true,是否产生火会受到游戏规则 mobGriefing 的影响。默认为 false
  • fuseLength:(数组,默认为 [0.0, 0.0])自点燃后爆炸前的时间范围。负数会使其立刻爆炸。
  • fuseLit:(布尔)可选。如果为 true,当该组件被添加时立刻点燃。默认为 false
  • maxResistance:(数字)可选。爆炸抗性比这个值低的方块会被破坏。默认为 Infinite
  • power:(数字)可选。爆炸半径,及爆炸的伤害。默认为 4.0

示例(苦力怕 entities/creeper.json):

  1. {
  2.     "minecraft:explode": {
  3.         "fuseLength": 1.5,
  4.         "fuseLit": true,
  5.         "power": 3,
  6.         "causesFire": false,
  7.         "destroyAffectedByGriefing": true
  8.     }
  9. }
复制代码

minecraft:healable

定义治疗该实体的交互。

  • force_use:(布尔)可选。定义物品能否在该实体血量为满时使用。默认为 false
  • items:(数组)能够治疗此实体的物品。
    • (对象)一个物品
      • item:(字符串)物品的 ID。
      • heal_amount:(数字)可选。使用此物品时对实体的治疗量。默认为 1.0
      • filters:(对象)可选。应用治疗效果前的滤器。



示例(猫 entities/cat.json):

  1. {
  2.     "minecraft:healable": {
  3.         "items": [
  4.             {
  5.                 "item": "fish",
  6.                 "heal_amount": 2
  7.             },
  8.             {
  9.                 "item": "salmon",
  10.                 "heal_amount": 2
  11.             }
  12.         ]
  13.     }
  14. }
复制代码

minecraft:insomnia

添加一个计时器记录玩家上一次睡觉的时间(被原版游戏用于决定是否生成幻翼)。

  • days_until_insomnia:(数字)可选。玩家需要修仙的天数。默认为 4.0

示例(玩家 entities/player.json):

  1. {
  2.     "minecraft:insomnia": {
  3.         "days_until_insomnia": 3
  4.     }
  5. }
复制代码

minecraft:interact

定义与此实体的交互行为。

  • add_items:(对象)可选。成功交互以后要添加到玩家物品栏的战利品表。
    • table:(字符串)战利品表的相对路径,从行为包的根目录起始,包含 .json 后缀。
  • spawn_items:(对象)可选。成功交互以后要生成的物品实体。
    • table:(字符串)战利品表的相对路径,从行为包的根目录起始,包含 .json 后缀。
  • cooldown:(数字)可选。该实体再次能被交互的秒数。默认为 0.0
  • hurt_item:(数字)可选。使用物品交互时物品损失的耐久。设置为 0 则不会损失任何耐久。默认为 0
  • interact_text:(字符串)可选。触屏模式下与该实体交互时显示的文本。
  • on_interact:(对象,格式同触发器)交互时触发。
  • particle_on_start:(对象)在开始交互时产生的粒子效果。
    • particle_offset_towards_interactor:(布尔)粒子是否会靠近与该实体交互的玩家。
    • particle_type:(字符串)会被显示的粒子。
    • particle_y_offset:(数字)粒子在 y 轴上的偏转方向。
  • play_sounds:(字符串)交互发生时播放的音效的名称。
  • spawn_entities:(字符串)交互发生时生成的实体。
  • swing:(布尔)可选。如果为 true,玩家与该实体交互时会做「摆手」的动画。默认为 true
  • use_item:(布尔)可选。如果为 true,该交互将会使用玩家手中的物品。默认为 false
  • transform_to_item:(字符串)可选。使用的物品会被转换为指定物品。格式为 <物品名>:<数据值>

示例(牛 entities/cow.json):

  1. {
  2.     "minecraft:interact": {
  3.         "interactions": [
  4.             {
  5.                 "on_interact": {
  6.                     "filters": {
  7.                         "all_of": [
  8.                             { "test": "is_family", "subject": "other", "value": "player" },
  9.                             { "test": "has_equipment", "domain": "hand", "subject": "other", "value": "bucket:0" }
  10.                         ]
  11.                     }
  12.                 },
  13.                 "use_item": true,
  14.                 "transform_to_item": "bucket:1",
  15.                 "play_sounds": "milk",
  16.                 "interact_text": "action.interact.milk"
  17.             }
  18.         ]
  19.     }
  20. }
复制代码

minecraft:inventory

定义该实体的物品栏属性。

  • additional_slots_per_strength:(数字)可选。该实体每获得一点力量可获得的栏位数量(力量可以通过 minecraft:strength 属性组件定义)。默认为 0
  • container_type:(字符串)该实体的容器类型。可以是 horse(马)、minecart_chest(箱子矿车)、minecart_hopper(漏斗矿车)、inventory(背包)、container(容器)或 hopper(漏斗)。
  • inventory_size:(数字)可选。定义该容器具有的物品栏位的数量。默认为 5
  • can_be_siphoned_from:(布尔)可选。如果为 true,该实体中的物品可以被漏斗取出。默认为 false
  • private:(布尔)可选。如果为 true,只有该实体自身可以打开它的物品栏。默认为 false
  • restrict_to_owner:(布尔)可选。如果为 true,只有该实体或它的主人可以打开它的物品栏。默认为 false

示例(箱子矿车 entities/chest_minecart.json):

  1. {
  2.     "minecraft:inventory": {
  3.         "container_type": "minecart_chest",
  4.         "inventory_size": 27,
  5.         "can_be_siphoned_from": true
  6.     }
  7. }
复制代码

minecraft:item_hopper

定义该实体为一个漏斗。被原版的漏斗矿车使用。

minecraft:jump.dynamic

定义一个动态的跳跃高度控制。将会基于实体的速度修饰器改变跳跃的属性。被原版的兔子使用。

minecraft:jump.static

给予该实体跳跃的能力。

  • jump_power:(数字)可选。跳跃的初始垂直速度。默认为 0.42

示例(蝙蝠 entities/bee.json):

  1. {
  2.     "minecraft:jump.static": {}
  3. }
复制代码

minecraft:leashable

使该实体可以被栓绳拴住。

  • soft_distance:(数字)可选。栓绳开始有弹性的距离。从这个距离开始该实体会跟着拴着它的实体移动。默认为 4.0
  • hard_distance:(数字)可选。栓绳开始变硬的距离。该实体的运动范围会被限制在这个距离之内。默认为 6.0
  • max_distance:(数字)可选。栓绳断开的距离。默认为 10.0
  • on_leash:(对象,格式同触发器)可选。当该实体被拴住时触发。
  • on_unleash:(对象,格式同触发器)可选。当该实体被解拴时触发。

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:leashable": {
  3.         "soft_distance": 4.0,
  4.         "hard_distance": 6.0,
  5.         "max_distance": 10.0
  6.     }
  7. }
复制代码

minecraft:lookat

定义当另一个实体看向这个实体时的行为。

  • filters:(对象)定义能够触发此组件的实体的滤器。可以使用在主体(subject)中使用 other 来指代看向当前实体的实体。
  • look_cooldown:(数字)该实体不再愤怒的时间。
  • look_event:(对象,格式同触发器)当有满足条件的实体看向该实体时触发。
  • mAllowInvulnerable:(布尔)可选。如果为 true,无敌状态的实体(例如创造模式的玩家)也会触发。默认为 false
  • search_radius:(数字)可选。搜寻看向该实体的实体的半径。默认为 10.0
  • set_target:(布尔)可选。如果为 true,该实体会将看向它的实体作为攻击目标。默认 true

示例(末影人 entities/enderman.json):

  1. {
  2.     "minecraft:lookat": {
  3.         "search_radius": 64.0,
  4.         "set_target": true,
  5.         "look_cooldown": 5.0,
  6.         "filters": {
  7.             "all_of": [
  8.                 { "subject": "other", "test": "is_family", "value": "player" },
  9.                 { "test": "has_equipment", "domain": "head", "subject": "other", "operator": "not", "value": "carved_pumpkin" }
  10.             ]
  11.         }
  12.     }
  13. }
复制代码

minecraft:movement.amphibious

允许该实体在水中游泳或在陆地上行走。

  • max_turn:(数字)可选。该生物一刻内能最大转过的度数。默认为 30.0

minecraft:movement.basic

实体的基础移动组件。

  • max_turn:(数字)可选。该生物一刻内能最大转过的度数。默认为 30.0

minecraft:movement.fly

允许该实体飞行。

  • max_turn:(数字)可选。该生物一刻内能最大转过的度数。默认为 30.0

minecraft:movement.generic

允许该实体飞行、游泳、爬行等。

  • max_turn:(数字)可选。该生物一刻内能最大转过的度数。默认为 30.0

minecraft:movement.jump

允许该实体跳跃。

  • jump_delay:(数组)可选。两次跳跃之间的间隔时间。默认 [0.0, 0.0]
  • max_turn:(数字)可选。该生物一刻内能最大转过的度数。默认为 30.0

minecraft:movement.skip

允许实体在移动时跳跃。

  • max_turn:(数字)可选。该生物一刻内能最大转过的度数。默认为 30.0

minecraft:movement.sway

使实体左右摇摆,给人以游泳的感觉。

  • max_turn:(数字)可选。该生物一刻内能最大转过的度数。默认为 30.0

minecraft:nameable

允许该实体被命名(如使用命名牌)。

  • allowNameTagRenaming:(布尔)可选。如果为 true,该实体可以被命名牌命名。默认 true
  • alwaysShow:(布尔)可选。如果为 true,该实体会一直显示着名称。默认 false
  • default_trigger:(字符串)当该实体被命名,且名称不满足 name_actions 中定义的特殊名字时时执行的触发器。
  • name_actions:(数组)当实体有特殊的名称时触发的触发器。
    • (对象)
      • name_filter:(字符串或数组)能够触发 on_named 中定义的触发器的特殊的名字。
      • on_named:(对象,格式同触发器)当实体拥有 name_filter 中定义的一个名字时触发。



示例(卫道士 entities/vindicator.json):

  1. {
  2.     "minecraft:nameable": {
  3.         "default_trigger": {
  4.             "event": "minecraft:stop_johnny",
  5.             "target": "self"
  6.         },
  7.         "name_actions": [
  8.             {
  9.                 "name_filter": "Johnny",
  10.                 "on_named": {
  11.                     "event": "minecraft:start_johnny",
  12.                     "target": "self"
  13.                 }
  14.             }
  15.         ]
  16.     }
  17. }
复制代码

minecraft:navigation.*

下面是有关寻路的一些组件。「寻路」是实体在移动前对自己移动路线的规划。「规划」和「实际」有可能会不一致,例如你在寻路组件中允许该实体通过门,那么实体在规划路线时就有可能穿过门,但假设你没有在 AI 目标组件中允许该实体开门,那么实体到了门前以后只会傻站着,而不会像它原先规划地那样通过门。换句话说就是,实体在规划路径时以为自己可以开门,但真正到了门前才发现自己菜到连门都打不开(雾。

minecraft:navigation.climb

使实体规划的路径能够垂直穿过的方块(如原版的蜘蛛爬墙)。

  • avoid_portals:(布尔)可选。如果为 true,该实体规划的路径能够穿过传送门(如地狱传送门)。默认为 false
  • avoid_sun:(布尔)可选。如果为 true,该实体规划的路径能够躲避开阳光。默认为 false
  • avoid_water:(布尔)可选。如果为 true,该实体规划的路径能够避开水。默认为 false
  • can_open_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过关上的门。默认为 false
  • can_pass_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过打开的门。默认为 true
  • can_path_over_water:(布尔)可选。如果为 true,该实体规划的路径能够通过水面。默认为 false
  • can_sink:(布尔)可选。如果为 true,该实体规划的路径会在水里受到重力影响下沉。默认为 true

minecraft:navigation.float

使实体规划的路径能飘在空中(如原版的恶魂)。

  • avoid_portals:(布尔)可选。如果为 true,该实体规划的路径能够穿过传送门(如地狱传送门)。默认为 false
  • avoid_sun:(布尔)可选。如果为 true,该实体规划的路径能够躲避开阳光。默认为 false
  • avoid_water:(布尔)可选。如果为 true,该实体规划的路径能够避开水。默认为 false
  • can_open_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过关上的门。默认为 false
  • can_pass_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过打开的门。默认为 true
  • can_path_over_water:(布尔)可选。如果为 true,该实体规划的路径能够通过水面。默认为 false
  • can_sink:(布尔)可选。如果为 true,该实体规划的路径会在水里受到重力影响下沉。默认为 true

minecraft:navigation.fly

使实体规划的路径能飞(如原版的鹦鹉)。

  • avoid_portals:(布尔)可选。如果为 true,该实体规划的路径能够穿过传送门(如地狱传送门)。默认为 false
  • avoid_sun:(布尔)可选。如果为 true,该实体规划的路径能够躲避开阳光。默认为 false
  • avoid_water:(布尔)可选。如果为 true,该实体规划的路径能够避开水。默认为 false
  • can_open_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过关上的门。默认为 false
  • can_pass_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过打开的门。默认为 true
  • can_path_over_water:(布尔)可选。如果为 true,该实体规划的路径能够通过水面。默认为 false
  • can_sink:(布尔)可选。如果为 true,该实体规划的路径会在水里受到重力影响下沉。默认为 true

minecraft:navigation.generic

使实体规划的路径能行走、游泳、飞行和/或爬行以及跳上方块/走下方块。

  • avoid_portals:(布尔)可选。如果为 true,该实体规划的路径能够穿过传送门(如地狱传送门)。默认为 false
  • avoid_sun:(布尔)可选。如果为 true,该实体规划的路径能够躲避开阳光。默认为 false
  • avoid_water:(布尔)可选。如果为 true,该实体规划的路径能够避开水。默认为 false
  • can_open_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过关上的门。默认为 false
  • can_pass_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过打开的门。默认为 true
  • can_path_over_water:(布尔)可选。如果为 true,该实体规划的路径能够通过水面。默认为 false
  • can_sink:(布尔)可选。如果为 true,该实体规划的路径会在水里受到重力影响下沉。默认为 true

minecraft:navigation.swim

使实体规划的路径能包括水。

  • avoid_portals:(布尔)可选。如果为 true,该实体规划的路径能够穿过传送门(如地狱传送门)。默认为 false
  • avoid_sun:(布尔)可选。如果为 true,该实体规划的路径能够躲避开阳光。默认为 false
  • avoid_water:(布尔)可选。如果为 true,该实体规划的路径能够避开水。默认为 false
  • can_open_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过关上的门。默认为 false
  • can_pass_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过打开的门。默认为 true
  • can_path_over_water:(布尔)可选。如果为 true,该实体规划的路径能够通过水面。默认为 false
  • can_sink:(布尔)可选。如果为 true,该实体规划的路径会在水里受到重力影响下沉。默认为 true

minecraft:navigation.walk

使实体规划的路径能在地面上跳跃或走下方块(如常见的那些生物)。

  • avoid_portals:(布尔)可选。如果为 true,该实体规划的路径能够穿过传送门(如地狱传送门)。默认为 false
  • avoid_sun:(布尔)可选。如果为 true,该实体规划的路径能够躲避开阳光。默认为 false
  • avoid_water:(布尔)可选。如果为 true,该实体规划的路径能够避开水。默认为 false
  • can_open_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过关上的门。默认为 false
  • can_pass_doors:(布尔)可选。如果为 true,该实体规划的路径能够穿过打开的门。默认为 true
  • can_path_over_water:(布尔)可选。如果为 true,该实体规划的路径能够通过水面。默认为 false
  • can_sink:(布尔)可选。如果为 true,该实体规划的路径会在水里受到重力影响下沉。默认为 true

minecraft:peek

定义实体的「窥视」行为。

  • on_close:(对象,格式同触发器)可选。当实体结束窥视时触发。
  • on_open:(对象,格式同触发器)可选。当实体开始窥视时触发。
  • on_target_open:(对象,格式同触发器)可选。当该实体的目标开始窥视时触发(存疑,Wiki 上是这么写的)。

示例(潜影贝 entities/shulker.json):

  1. {
  2.     "minecraft:peek": {
  3.         "on_open": {
  4.             "event": "minecraft:on_open"
  5.         },
  6.         "on_close": {
  7.             "event": "minecraft:on_close"
  8.         },
  9.         "on_target_open": {
  10.             "event": "minecraft:on_open"
  11.         }
  12.     }
  13. }
复制代码

minecraft:projectile

定义该实体为弹射物(如原版的鸡蛋、投掷药水等)。

以下列表仅供参考。这个组件太复杂,我也找不到靠谱的官方文档。所以说基岩版的文档和*一样。

  • angleoffset:(数字)可选。定义该实体的抛出角度。默认为 0.0
  • catch_fire:(布尔)可选。如果为 true,该实体击中的实体会被点燃。默认为 false
  • crit_particle_on_hurt:(布尔)可选。如果为 true,在会心一击时会产生更多粒子。默认为 false
  • destroy_on_hurt:(布尔)可选。如果为 true,该实体撞击以后会消失。默认为 false
  • reflect_on_hurt:(布尔)可选。如果为 true,该实体撞击时会反弹。默认为 false
  • filter:(字符串)不能被该弹射物击中的实体。
  • fire_affected_by_griefing:(布尔)可选。如果为 true,该实体是否会产生火将受到 mobGriefing 游戏规则的影响。默认为 false
  • gravity:(数字)可选。定义该实体的重力。数字越大,该实体下落越快。默认为 0.05
  • hit_sound:(字符串)该实体撞击时的音效。
  • homing:(布尔)可选。如果为 true,该实体会追踪最近的实体。默认为 false
  • inertia:(数字)可选。该实体每在空中一刻所剩下的速度的比值。默认为 0.99
  • isdangerous:(布尔)可选。如果为 true,该实体会被视作对玩家有威胁。默认为 false
  • knockback:(布尔)可选。如果为 true,该实体会击退它击中的实体。默认为 true
  • lightning:(布尔)可选。如果为 true,被击中的实体会被雷劈。默认为 false
  • liquid_inertia:(数字)可选。该实体每在水中一刻所剩下的速度的比值。默认为 0.6
  • multipletargets:(布尔)可选。如果为 true,该实体一次飞行可以击中多个实体。默认为 false
  • offset:(数组)可选。该实体生成时的偏移位置。默认 [0.0, 0.5, 0.0]
  • on_fire_time:(数字)可选。被击中的实体着火的秒数。默认为 5.0
  • particle:(字符串)可选。击中时的粒子效果。默认 iconcrack
  • potion_effect:(数字)可选。被击中的实体被附加的状态效果。默认为 -1
  • power:(数字)可选。该实体的速度。默认为 1.3
  • semirandomdiffdamage:(布尔)可选。如果为 true,伤害量会基于伤害和速度随机施加。默认为 false
  • shoot_sound:(字符串)该实体被射出时的音效。
  • shoottarget:(布尔)可选。如果为 true,该弹射物会射向攻击实体的实体。默认为 true
  • shouldbounce:(布尔)可选。如果为 true,该实体会在撞击时弹跳。默认为 false
  • splash_potion:(布尔)可选。如果为 true,该实体会被认为是喷溅药水。默认为 false
  • splash_range:(数字)可选。喷溅效果的范围。默认为 4.0
  • uncertainty_base:(数字)可选。基准精度。精度由公式 uniqueBase - <游戏难度> * uncertaintyMultiplier 计算。默认为 0.0
  • uncertainty_multiplier:(数字)可选。决定游戏难度对精度的影响。精度由公式 uniqueBase - <游戏难度> * uncertaintyMultiplier 计算。默认为 0.0

示例(箭 entities/arrow.json):

  1. {
  2.     "minecraft:projectile": {
  3.         "on_hit": {
  4.             "definition_event": {
  5.                 "affect_projectile": true,
  6.                 "event_trigger": {
  7.                     "event": "minecraft:explode",
  8.                     "target": "self"
  9.                 }
  10.             }
  11.         },
  12.         "power": 1.6,
  13.         "gravity": 0.00,
  14.         "inertia": 1,
  15.         "liquid_inertia": 1,
  16.         "uncertainty_base": 0,
  17.         "uncertainty_multiplier": 0,
  18.         "anchor": 1,
  19.         "offset": [ 0, -0.1, 0 ],
  20.         "reflect_on_hurt": true,
  21.         "catch_fire": true
  22.     }
  23. }
复制代码

minecraft:rail_movement

定义该实体在铁轨上的移动。拥有该组件的实体将只能在铁轨上移动。

  • max_speed:(数字)可选。该实体在铁轨上移动时的最大速度。默认为 0.4

minecraft:rail_sensor

定义当铁轨被激活/取消激活时该实体的行为。

  • check_block_types:(布尔)可选。如果为 true,该实体会在每一刻触发 on_deactivate 事件。默认为 false
  • eject_on_activate:(布尔)可选。如果为 true,该实体会在铁轨激活时将所有乘客丢出。默认为 true
  • eject_on_deactivate:(布尔)可选。如果为 true,该实体会在铁轨取消激活时将所有乘客丢出。默认为 false
  • on_activate:(对象,格式同触发器)当铁轨激活时触发。
  • on_deactivate:(对象,格式同触发器)当铁轨取消激活时触发。
  • tick_command_block_on_activate:(布尔)可选。如果为 true,该实体会在通过激活铁轨时每刻执行命令方块。默认为 true
  • tick_command_block_on_deactivate:(布尔)可选。如果为 true,该实体会在通过非激活的铁轨时每刻执行命令方块。默认为 false

示例(命令方块矿车 entities/command_block_minecart.json):

  1. {
  2.     "minecraft:rail_sensor": {
  3.         "check_block_types": true,
  4.         "eject_on_activate": false,
  5.         "eject_on_deactivate": false,
  6.         "tick_command_block_on_activate": true,
  7.         "tick_command_block_on_deactivate": false,
  8.         "on_deactivate": {
  9.             "event": "minecraft:command_block_deactivate"
  10.         }
  11.     }
  12. }
复制代码

minecraft:rideable

允许该实体被骑乘。可以定义多个不同位置的座位。

  • seat_count:(数字)可选。能同时骑乘该实体的最大实体数目。默认为 1
  • controlling_seat:(数字)可选。能够控制该实体移动方向的座位在 seats 数组中的索引。默认为 0
  • crouching_skip_interact:(布尔)可选。如果为 true,潜行时不能与该实体交互。默认为 true
  • family_types:(数组)能够骑乘该实体的实体。
    • (字符串)一个实体 ID
  • pull_in_entities:(布尔)可选。如果为 true,该实体会将符合条件的实体拉入任一可用的座位。默认为 false
  • interact_text:(字符串)使用触摸屏与该实体交互时显示的文字。
  • rider_can_interact:(布尔)可选。如果为 true,乘客可以通过看向该实体与之交互。默认为 false
  • seats:(数组)座位列表。
    • (对象)一个座位
      • lock_rider_rotation:(数字)可选。当骑乘该实体时乘客所能转向的角度限制。如不指定则无限制。默认为 181.0
      • max_rider_count:(数字)可选。当骑乘该实体的实体数量小于此值时,该座位才可用。默认为 0
      • min_rider_count:(数字)可选。当骑乘该实体的实体数量大于此值时,该座位才可用。默认为 0
      • position:(数组)可选。座位相对于该实体位置的位置。默认 [0.0, 0.0, 0.0]
      • rotate_rider_by:(数字)可选。乘客旋转的偏移角度。默认为 0.0



示例(船 entities/boat.json):

  1. {
  2.     "minecraft:rideable": {
  3.         "seat_count": 2,
  4.         "interact_text": "action.interact.ride.boat",
  5.         "pull_in_entities": true,
  6.         "seats": [
  7.             {
  8.                 "position": [ 0.0, -0.2, 0.0 ],
  9.                 "min_rider_count": 0,
  10.                 "max_rider_count": 1,
  11.                 "rotate_rider_by": -90,
  12.                 "lock_rider_rotation": 90
  13.             },
  14.             {
  15.                 "position": [ 0.2, -0.2, 0.0 ],
  16.                 "min_rider_count": 2,
  17.                 "max_rider_count": 2,
  18.                 "rotate_rider_by": -90,
  19.                 "lock_rider_rotation": 90
  20.             },
  21.             {
  22.                 "position": [ -0.6, -0.2, 0.0 ],
  23.                 "min_rider_count": 2,
  24.                 "max_rider_count": 2,
  25.                 "lock_rideer_rotation": 90
  26.             }
  27.         ]
  28.     }
  29. }
复制代码

minecraft:scaffolding_climber

允许在脚手架上爬行。只能被玩家使用。

minecraft:scale_by_age

定义基于年龄的该实体大小的缩放。

  • start_scale:(数字)可选。新生实体的起始缩放倍数。默认为 1.0
  • end_scale:(数字)可选。实体完全成熟时的终止缩放倍数。默认为 1.0

示例(海豚 entities/dolphin.json):

  1. {
  2.     "minecraft:scale_by_age": {
  3.         "start_scale": 0.5,
  4.         "end_scale": 1.0
  5.     }
  6. }
复制代码

minecraft:shareables

定义该实体想要交换的物品。

  • items:(数组)想要交换的物品列表。
    • (对象)一个物品
      • item:(字符串)该实体想要的物品。
      • craft_into:(字符串)该实体能给出的物品。
      • want_amount:(数字)该实体能给出的物品的数量(存疑。Wiki 上是这么写的)。
      • surplus_amount:(数字)该实体能给出的额外物品的数量。



示例(新版村民 entities/villager_v2.json):

  1. {
  2.     "minecraft:shareables": {
  3.         "items": [
  4.             {
  5.                 "item": "minecraft:bread",
  6.                 "want_amount": 3,
  7.                 "surplus_amount": 6
  8.             },
  9.             {
  10.                 "item": "minecraft:carrot",
  11.                 "want_amount": 60,
  12.                 "surplus_amount": 4
  13.             },
  14.             {
  15.                 "item": "minecraft:potato",
  16.                 "want_amount": 60,
  17.                 "surplus_amount": 24
  18.             },
  19.             {
  20.                 "item": "minecraft:beetroot",
  21.                 "want_amount": 60,
  22.                 "surplus_amount": 24
  23.             },
  24.             {
  25.                 "item": "minecraft:wheat_seeds",
  26.                 "want_amount": 64,
  27.                 "surplus_amount": 64
  28.             },
  29.             {
  30.                 "item": "minecraft:beetroot_seeds",
  31.                 "want_amount": 64,
  32.                 "surplus_amount": 64
  33.             },
  34.             {
  35.                 "item": "minecraft:wheat",
  36.                 "want_amount": 45,
  37.                 "surplus_amount": 18,
  38.                 "craft_into": "minecraft:bread"
  39.             }
  40.         ]
  41.     }
  42. }
复制代码

minecraft:shooter

定义该实体的远程攻击表现。

  • type:(字符串)不明。
  • def:(字符串)作为远程攻击的弹射物的实体 ID。指定的实体必须有 minecraft:projectile 组件。

示例(烈焰人 entities/blaze.json):

  1. {
  2.     "minecraft:shooter": {
  3.         "type": "smallfireball",
  4.         "def": "minecraft:small_fireball"
  5.     }
  6. }
复制代码

minecraft:sittable

定义该实体的「坐姿」状态。

  • sit_event:(对象,格式同触发器)当该实体坐下时触发。
  • stand_event:(对象,格式同触发器)当该实体站起时触发。

minecraft:spawn_entity

该实体在一段时间后会生成另一个实体。

  • min_wait_time:(数字)可选。随机生成另一个实体的最短秒数。默认为 300
  • max_wait_time:(数字)可选。随机生成另一个实体的最长秒数。默认为 600
  • spawn_sound:(字符串)可选。实体生成后播放的音效。默认为 plop
  • spawn_entity:(字符串)可选。生成实体的 ID。如果留空则会依据 spawn_item 生成物品。
  • spawn_item:(字符串)可选。生成的物品的名字。仅在 spawn_entity 未被指定时有效。默认为 egg(鸡蛋)。
  • spawn_event:(字符串)可选。当该实体被生成时其触发的事件。默认为 minecraft:entity_born
  • spawn_method:(字符串)可选。生成该实体的方式。默认为 born
  • filters:(对象,格式同滤器)可选。需要满足该滤器才能生成出指定实体。

示例(鸡 entities/chicken.json):

  1. {
  2.     "minecraft:spawn_entity": {
  3.         "min_wait_time": 300,
  4.         "max_wait_time": 600,
  5.         "spawn_sound": "plop",
  6.         "spawn_item": "egg",
  7.         "filters": {
  8.             "test": "rider_count", "subject": "self", "operator": "==", "value": 0
  9.         }
  10.     }
  11. }
复制代码

minecraft:tameable

允许该实体被玩家驯服。

  • probability:(数字)可选。每使用一个物品使该实体被驯服的可能性。取值应在 [0.0, 1.0] 之中。默认为 1.0
  • tame_items:(数组)能够驯服该实体的物品列表。
    • (字符串)一个物品 ID
  • tame_event:(对象,格式同触发器)当该实体被驯服时触发。

示例( entities/.json):

  1. {
  2.     "minecraft:tameable": {
  3.         "probability": 0.33,
  4.         "tame_items": [ "fish", "salmon" ],
  5.         "tame_event": {
  6.             "event": "minecraft:on_tame",
  7.             "target": "self"
  8.         }
  9.     }
  10. }
复制代码

minecraft:tamemount

允许该实体能通过骑乘被驯服。

  • min_temper:(数字)可选。实体 temper 的随机初始值的最小值。默认为 0
  • max_temper:(数字)可选。实体 temper 的随机初始值的最大值。当 temper 到达此值时即可被驯服。默认为 100
  • attempt_temper_mod:(数字)可选。每次尝试骑乘时增加的 temper。默认为 5
  • auto_reject_items:(对象)该实体不喜欢的物品。当携带这些物品与实体交互时会使其愤怒。
    • item:(字符串)一个物品 ID。
  • feed_items:(数组)该实体喜欢的物品。可以喂食这些物品提升实体的 temper,加速驯化过程。
    • (对象)一个物品
      • item:(字符串)物品 ID。
      • temper_mod:(数字)可选。当喂食此物品时增加的 temper。默认为 0

  • feed_text:(字符串)显示在喂食交互按钮上的文本。
  • ride_text:(字符串)显示在骑乘交互按钮上的文本。
  • tame_event:(对象,格式同触发器)当成功被驯服时触发。

示例(驴 entities/donkey.json):

  1. {
  2.     "minecraft:tamemount": {
  3.         "min_temper": 0,
  4.         "max_temper": 100,
  5.         "feed_text": "action.interact.feed",
  6.         "ride_text": "action.interact.mount",
  7.         "feed_items": [
  8.             {
  9.                 "item": "wheat",
  10.                 "temper_mod": 3
  11.             },
  12.             {
  13.                 "item": "sugar",
  14.                 "temper_mod": 3
  15.             },
  16.             {
  17.                 "item": "apple",
  18.                 "temper_mod": 3
  19.             },
  20.             {
  21.                 "item": "golden_carrot",
  22.                 "temper_mod": 5
  23.             },
  24.             {
  25.                 "item": "golden_apple",
  26.                 "temper_mod": 10
  27.             },
  28.             {
  29.                 "item": "appleEnchanted",
  30.                 "temper_mod": 10
  31.             }
  32.         ],
  33.         "auto_reject_items": [
  34.             {
  35.                 "item": "horsearmorleather"
  36.             },
  37.             {
  38.                 "item": "horsearmoriron"
  39.             },
  40.             {
  41.                 "item": "horsearmorgold"
  42.             },
  43.             {
  44.                 "item": "horsearmordiamond"
  45.             },
  46.             {
  47.                 "item": "saddle"
  48.             }
  49.         ],
  50.         "tame_event": {
  51.             "event": "minecraft:on_tame",
  52.             "target": "self"
  53.         }
  54.     }
  55. }
复制代码

minecraft:target_nearby_sensor

定义实体能将其他实体视为目标的范围。

  • inside_range:(数字)可选。目标实体能被列入「内部」范围的最远距离,单位为方块。默认为 1.0
  • outside_range:(数字)可选。目标实体能被列入「外部」范围的最远距离,单位为方块。默认为 5.0
  • must_see:(布尔)是否要必须能看到该目标实体。
  • on_inside_range:(对象,格式同触发器)当目标实体被列入「内部」范围时触发。
  • on_outside_range:(对象,格式同触发器)当目标实体被列入「外部」范围范围时触发。
  • on_vision_lost_inside_range:(对象,格式同触发器)当目标实体仍在「内部」范围内,但是该实体看不到目标时触发。

示例(苦力怕 entities/creeper.json):

  1. {
  2.     "minecraft:target_nearby_sensor": {
  3.         "inside_range": 2.5,
  4.         "outside_range": 6.0,
  5.         "must_see": true,
  6.         "on_inside_range": {
  7.             "event": "minecraft:start_exploding",
  8.             "target": "self"
  9.         },
  10.         "on_outside_range": {
  11.             "event": "minecraft:stop_exploding",
  12.             "target": "self"
  13.         },
  14.         "on_vision_lost_inside_range": {
  15.             "event": "minecraft:stop_exploding",
  16.             "target": "self"
  17.         }
  18.     }
  19. }
复制代码

minecraft:teleport

定义一个实体的传送行为。

  • min_random_teleport_time:(数字)可选。定义实体两次随机传送间隔的最小秒数。默认为 0.0
  • max_random_teleport_time:(数字)可选。定义实体两次随机传送间隔的最大秒数。默认为 20.0
  • random_teleportCube:(数组,[x, y, z])可选。实体会在该大小的区域内随机传送。默认 [32.0, 16.0, 32.0]
  • random_teleports:(布尔)可选。如果为 true,该实体会随机传送。默认为 true
  • target_distance:(数字)可选。定义实体在追踪目标时最远传送距离。默认为 16.0
  • dark_teleport_chance:(数字)可选。定义实体在黑暗中传送的可能性。取值应在 [0.0, 1.0] 之中。默认为 0.01
  • light_teleport_chance:(数字)可选。定义实体在光亮中传送的可能性。取值应在 [0.0, 1.0] 之中。默认为 0.01
  • target_teleport_chance:(数字)可选。定义实体在追踪目标时传送的可能性。取值应在 [0.0, 1.0] 之中。默认为 1.0

示例(末影人 entities/enderman.json):

  1. {
  2.     "minecraft:teleport": {
  3.         "random_teleports": true,
  4.         "max_random_teleport_time": 30,
  5.         "random_teleport_cube": [ 32, 32, 32 ],
  6.         "target_distance": 16,
  7.         "target_teleport_chance": 0.05,
  8.         "light_teleport_chance": 0.05
  9.     }
  10. }
复制代码

minecraft:tick_world

定义该实体是否能加载世界。

  • never_despawn:(布尔)可选。如果为 true,该实体即使距离玩家很远也不会被移除。默认为 false
  • distance_to_players:(数字)可选。该实体被移除时距离玩家的最短距离。如果 never_despawn 设置为 true 该选项将被忽略。默认为 128.0。最小值 128.0
  • radius:(数字)可选。该实体加载的区块半径。默认为 2,可用范围 2-6

minecraft:timer

定义一个一段时间后自动触发触发器的组件。

  • looping:(布尔)可选。如果为 true,该实体会在每次触发以后重新计时。默认为 true
  • time:(数字或数组 [a, b])可选。触发指定触发器的秒数。默认为 0.0
  • randomInterval:(布尔)可选。如果为 true,该计时器每次的时间会在 time 指定的范围内随机生成。默认为 true
  • time_down_event:(对象,格式同触发器)当时间到达时触发的触发器。

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:timer": {
  3.         "looping": false,
  4.         "time": [10, 60],
  5.         "randomInterval": true,
  6.         "time_down_event": {
  7.             "event": "perish_event",
  8.             "target": "self"
  9.         }
  10.     }
  11. }
复制代码

minecraft:trade_table

定义该实体与玩家交易的能力。似乎只被旧版村民使用。另见新版村民使用的 minecraft:economy_trade_table 组件。

  • display_name:(字符串)与此实体交易时显示的名称。
  • table:(字符串)从行为包根目录起始的交易表的相对路径,包含后缀 .json。使用左斜杠 / 分割路径。
  • convert_trades_economy:(布尔)不明。

示例(旧版村民 entities/villager.json):

  1. {
  2.     "minecraft:trade_table": {
  3.         "display_name": "entity.villager.farmer",
  4.         "table": "trading/farmer_trades.json",
  5.         "convert_trades_economy": true
  6.     }
  7. }
复制代码

minecraft:transformation

定义实体从当前实体转变为另一个实体的行为。

  • add:(对象)转变后该实体启用的组件组。
    • component_groups:(数组)要启用的组件组。
      • (字符串)一个组件组的名字

  • remove:(对象)转变后该实体禁用的组件组。
    • component_groups:(数组)要禁用的组件组。
      • (字符串)一个组件组的名字

  • begin_transform_sound:(字符串)开始转变时的音效。
  • delay:(对象)定义该实体转变的延迟。
    • block_assist_chance:(数字)可选。实体寻找附近的能够提升转变速度的方块的几率。取值应在 [0.0, 1.0] 之中。默认为 0.0
    • block_chance:(数字)可选。实体找到此方块后,该方块能够提升转变速度的几率。取值应在 [0.0, 1.0] 之中。默认为 0.0
    • block_radius:(数字)可选。实体会寻找辅助转变的方块的半径。默认为 0
    • block_max:(数字)可选。实体会寻找的最大的辅助转变的方块数量。如果设置为 0 或不设置,将采用 block_radius 的值。默认为 0
    • trust_items:(数组)能辅助转变的方块列表。
      • (字符串)一个方块
    • keep_owner:(布尔)如果为 true,该实体转变后会保留原有的主人。
    • value:(数字)可选。实体完成转变所消耗的秒数。默认为 0.0
  • drop_equipment:(布尔)如果为 true,该实体转变后会掉落所有装备。
  • into:(字符串)该实体会转变成的实体的 ID。可以在 ID 后用 <> 包裹要触发的事件。
  • transformation_sound:(字符串)完成转变时播放的音效。

示例(尸壳 entities/husk.json):

  1. {
  2.     "minecraft:transformation": {
  3.         "into": "minecraft:zombie<minecraft:as_adult>",
  4.         "transformation_sound": "convert_to_drowned",
  5.         "drop_equipment": true,
  6.         "delay": {
  7.             "value": 15
  8.         }
  9.     }
  10. }
复制代码

minecraft:trusting

定义该实体信任玩家的条件。

  • probability:(数字)可选。每使用一个物品使该实体信任玩家的可能性。取值应在 [0.0, 1.0] 之中。默认为 1.0
  • trust_items:(数组)能使该实体信任玩家的物品列表。
    • (字符串)一个物品 ID
  • trust_event:(对象,格式同触发器)当该实体信任玩家时触发。

示例(豹猫 entities/ocelot.json):

  1. {
  2.     "minecraft:trusting": {
  3.         "probability": 0.33,
  4.         "trust_items": [ "fish", "salmon" ],
  5.         "trust_event": {
  6.             "event": "minecraft:on_trust",
  7.             "target": "self"
  8.         }
  9.     }
  10. }
复制代码

回复

使用道具 举报

chenjy0812 当前离线
积分
88
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-9-8
查看详细资料
发表于 2018-11-17 13:58:37 | 显示全部楼层
这么认真的贴,必须顶!
回复

使用道具 举报

咸鱼王之肝 当前离线
积分
52
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-11-13
查看详细资料
发表于 2018-11-14 11:47:56 | 显示全部楼层
豹猫为啥没爆炸呢
回复

使用道具 举报

SPGoding 当前离线
积分
21668
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-1-18
查看详细资料
 楼主| 发表于 2018-11-13 23:49:33 | 显示全部楼层
本帖最后由 SPGoding 于 2019-10-26 18:18 编辑

属性

定义实体的固有属性。

minecraft:attack

定义实体的近战攻击及其附加效果。

  • damage:(数组)近战伤害的范围。格式为 [最低伤害, 最高伤害]
  • effect_name:(字符串)可选。一个状态效果的 ID。如果填写,将会对被打的实体施加指定的状态效果。
  • effect_duration:(数字)可选。对被打的实体施加的状态效果的持续时间,以秒为单位。

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:attack": {
  3.         "damage": 2,
  4.         "effect_name": "poison",
  5.         "effect_duration": 10
  6.     }
  7. }
复制代码

minecraft:ambient_sound_interval

设置该实体的音效。

  • event_name:(字符串)要播放的音效的名称。这和在资源包里定义的音效名一当一致。资源包的具体内容不在本教程范畴内。
  • range:(数字)可选。实体再次播放该音效的时间间隔最大值,单位为秒。默认为 16.0
  • value:(数字)可选。实体再次播放该音效的时间间隔最小值,单位为秒。默认为 8.0

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:ambient_sound_interval" :{
  3.         "event_name" : "ambient.pollinate",
  4.         "range" : 3.0,
  5.         "value" : 2.0
  6.     }
  7. }
复制代码

minecraft:burns_in_daylight

使该实体能够在日光下燃烧。

示例(溺尸 entities/dronwed.json):

  1. {
  2.     "minecraft:burns_in_daylight": {}
  3. }
复制代码

minecraft:can_climb

允许实体爬楼梯(存疑)。

示例(烈焰人 entities/blaze.json):

  1. {
  2.     "minecraft:can_climb": {}
  3. }
复制代码

minecraft:can_fly

允许实体飞行。寻路系统将不再限制实体脚下的方块必须为固体方块。

示例(烈焰人 entities/blaze.json):

  1. {
  2.     "minecraft:can_fly": {}
  3. }
复制代码

minecraft:can_power_jump

允许实体蓄力跳。(类似原版中马、驴等的表现。)

示例(驴 entities/donkey.json):

  1. {
  2.     "minecraft:can_power_jump": {}
  3. }
复制代码

minecraft:collision_box

设置该实体碰撞箱的宽和高。

  • height:(数字)可选。碰撞箱的高度,单位为格。默认为 1.0
  • width:(数字)可选。碰撞箱的宽度,单位为格。默认为 1.0

示例(盔甲架 entities/arcmor_stand.json):

  1. {
  2.     "minecraft:collision_box": {
  3.         "width": 0.5,
  4.         "height": 1.975
  5.     }
  6. }
复制代码

minecraft:color

定义该实体的颜色。只对原版的有颜色预制的生物有效(例如羊、潜影贝)。

  • value:(数字)可选。颜色值。默认为 0

示例(猫 entities/cat.json):

  1. {
  2.     "minecraft:color": {
  3.         "value": 14
  4.     }
  5. }
复制代码

minecraft:color2

定义实体的第二个颜色。只对原版的有第二个颜色预制的生物有效(热带鱼)。

  • value:(数字)可选。颜色值。默认为 0

示例(热带鱼 entities/tropical_fish.json):

  1. {
  2.     "minecraft:color2": {
  3.         "value": 1
  4.     }
  5. }
复制代码

minecraft:default_look_angle

设置该实体默认状态下头的角度。

  • value:(数字)可选。角度,单位为度。默认为 0.0

minecraft:equipment

使用指定的战利品表来设置该实体的装备。

  • table:(字符串)战利品表的相对路径。从行为包的根目录起始,包含 .json 后缀,使用左斜杠 / 分割路径。这个战利品表中返回的第一项(entry)会被认为是手中的物品,你可以利用在 entry 里嵌套 pools 来设置主手和副手。这个战利品表中返回的第二项会被认为是装备栏的物品,你可以利用在 entry 里嵌套 pools 来设置头盔、胸甲、护腿、靴子。由于这里的路径是从根目录开始写的,所以你完全可以不把战利品表放到 loot_tables 文件夹里,并且把自己的诡异的路径填到这里面。我个人不推荐这么做就是了,因为会造成他人理解你的行为包的困难。共享技术才能形成社区,独占技术是无法帮助人类进步的,这都是题外话,不说了。
  • slot_drop_chance:(数组)可选。储存可能掉落物品的装备栏位,以及这个栏位上掉落的几率。
    • (对象)一个栏位以及它的掉落几率
      • slot:(字符串)栏位名。可选值和 replaceitem 命令里的一样。即:
        • slot.weapon.offhand 代表副手。
        • slot.weapon.mainhand 代表主手。
        • slot.armor.head 代表头部。
        • slot.armor.chest 代表胸部。
        • slot.armor.legs 代表腿部。
        • slot.armor.feet 代表脚部。
      • drop_chance:(数组)掉落几率。取值应在 [0.0, 1.0] 当中。



示例(溺尸 entities/drowned.json):

  1. {
  2.     "minecraft:equipment": {
  3.         "table": "loot_tables/entities/drowned_ranged_equipment.json",
  4.         "slot_drop_chance": [
  5.             {
  6.                 "slot": "slot.weapon.offhand",
  7.                 "drop_chance": 1.0
  8.             }
  9.         ]
  10.     }
  11. }
复制代码

minecraft:fire_immune (布尔)

使实体不会受到火焰伤害。

示例(烈焰人 entities/blaze.json):

  1. {
  2.     "minecraft:fire_immune": true
  3. }
复制代码

minecraft:floats_in_liquid

使实体能够在液体中悬浮。

minecraft:flying_speed

设置实体的飞行速度。

  • value:(数字)可选。每刻该实体最多能飞过的方块的格数。默认为 0.02

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:flying_speed": {
  3.         "value": 0.15
  4.     }
  5. }
复制代码

minecraft:foot_size

设置实体在非跳跃时的步行速度。

  • value:(数字)可选。实体迈一步的大小。默认为 0.5

minecraft:friction_modifier

定义「摩擦力」对该实体的影响程度。

  • value:(数字)可选。数字越大,摩擦力影响越大。1.0 表示正常的摩擦,2.0 表示正常摩擦的二倍,0.5 表示一半,诸如此类。默认为 1.0

minecraft:ground_offset

设置实体从地面的偏移。

  • value:(数字)可选。实体从地面向上偏移的距离,单位为格。默认为 0.0

minecraft:input_ground_controlled

如果该实体可以被骑乘,添加该组件可以使玩家能够使用方向键(WASD)控制实体移动。

示例(驴 entities/donkey.json):

  1. {
  2.     "minecraft:input_ground_controlled": {}
  3. }
复制代码

minecraft:is_baby

设置该实体为幼儿状态。

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:is_baby": {}
  3. }
复制代码

minecraft:is_charged

设置该实体带电(存疑。不止闪电苦力怕使用了这个组件,带着花蜜的蜜蜂也用了)。

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:is_charged": {}
  3. }
复制代码

minecraft:is_chested

设置该实体携带了一个箱子。

示例(骡子 entities/mule.json):

  1. {
  2.     "minecraft:is_chested": {}
  3. }
复制代码

minecraft:is_dyeable

允许染料改变该实体的颜色。似乎只对狼、猫、羊有用。

  • interact_text:(字符串)触屏模式下用染料与该实体交互时显示的文本。

示例(猫 entities/cat.json

  1. {
  2.     "minecraft:is_dyeable": {
  3.         "interact_text": "action.interact.dye"
  4.     }
  5. }
复制代码

minecraft:is_hidden_when_invisible

该生物有隐身状态效果时是否不会被敌对生物攻击。

示例(玩家 entities/player.json):

  1. {
  2.     "minecraft:is_hidden_when_invisible": {}
  3. }
复制代码

minecraft:is_ignited

该实体是否已被点燃。

示例(TNT矿车 entities/tnt_minecart.json):

  1. {
  2.     "minecraft:is_ignited": {}
  3. }
复制代码

minecraft:is_illager_captain

该实体是否是灾厄村民首领。

示例(掠夺者 entities/pillager.json):

  1. {
  2.     "minecraft:is_illager_captain": {}
  3. }
复制代码

minecraft:is_saddled

该实体是否正装备着马鞍。

示例( entities/.json):

  1. {
  2.     "minecraft:is_saddled": {}
  3. }
复制代码

minecraft:is_shaking

该实体是否正在抖动。

示例(马 entities/horse.json):

  1. {
  2.     "minecraft:is_shaking": {}
  3. }
复制代码

minecraft:is_sheared

该实体是否被剪刀剪了。似乎只对羊和雪傀儡有用。

示例(雪傀儡 entities/snow_golem.json):

  1. {
  2.     "minecraft:is_sheared": {}
  3. }
复制代码

minecraft:is_stackable

该实体是否可以堆叠起来。

示例(船 entities/boat.json):

  1. {
  2.     "minecraft:is_stackable": {}
  3. }
复制代码

minecraft:is_stunned

似乎只对劫掠兽有效。

示例(劫掠兽 entities/ravager.json):

  1. {
  2.     "minecraft:is_stunned": {}
  3. }
复制代码

minecraft:is_tamed

该实体是否已被驯服。

示例(猫 entities/cat.json):

  1. {
  2.     "minecraft:is_tamed": {}
  3. }
复制代码

minecraft:item_controllable

设置玩家在骑乘时可以控制该实体的物品。

  • control_items:(数组)所有可以控制该实体的物品。
    • (字符串)一个物品 ID


示例(猪 entities/pig.json):

  1. {
  2.     "minecraft:item_controllable": {
  3.         "control_items": "carrotOnAStick"
  4.     }
  5. }
复制代码

minecraft:loot

设置该实体死亡时使用的战利品表。

  • table:(字符串)战利品表的相对路径。从行为包的根目录起始,包含 .json 后缀,使用左斜杠 / 分割路径。当实体死亡后该战利品表返回的物品将会掉落出来。

示例(盔甲架 entities/armor_stand.json):

  1. {
  2.     "minecraft:loot": {
  3.         "table": "loot_tables/entities/armor_stand.json"
  4.     }
  5. }
复制代码

minecraft:mark_variant

标记该实体附加的变种值。可用于进一步区分不同的变种。另见 minecraft:variant 组件。

  • value:(数字)可选。变种值。按照惯例,0 是基础实体的 ID。默认为 0

示例(马 entities/horse.json):

  1. {
  2.     "minecraft:mark_variant": {
  3.         "value": 1
  4.     }
  5. }
复制代码

minecraft:push_through

设置该实体可以被推动通过的距离。

  • value:(数字)可选。单位为方块。默认为 0.0

minecraft:scale

设置该实体的缩放倍数。通常被用于使生物的幼体比成年状态下小。

  • value:(数字)可选。该实体被放大的倍数。1.0 表示与模型里面定义的大小一致,2.0 表示二倍,0.5 表示一半,诸如此类。该选项会改变碰撞箱的大小。默认为 1.0

示例(蜜蜂 entities/bee.json):

  1. {
  2.     "minecraft:scale": {
  3.         "value": 0.5
  4.     }
  5. }
复制代码

minecraft:skin_id

设置该实体皮肤的 ID。似乎只对新版村民和新版僵尸村民有用。

示例(新版村民 entities/villager_v2.json):

  1. {
  2.     "minecraft:skin_id": {
  3.         "value": 0
  4.     }
  5. }
复制代码

minecraft:sound_volume

设置该实体音效的基础音量。

  • value:(数字)可选。音量的大小。默认为 1.0

minecraft:spell_effects

当该组件被添加时,会对该实体添加/移除指定的状态效果。

  • add_effects:(数组)要添加的状态效果。
    • (对象)一个状态效果
      • ambient:(布尔值)是否为信标给予的效果。
      • amplifier:(数字)等级。0 代表 Ⅰ 级,1 代表 Ⅱ 级,以此类推。
      • duration:(数字)持续时间,单位为秒。
      • visible:(布尔值)是否显示粒子效果。
      • display_on_screen_animation:(布尔值)是否将图标显示在屏幕右上方。只有在该状态效果给予的是玩家时该设置才有用。

  • remove_effects:(字符串)要移除的状态效果的名字。

示例(玩家 entities/player.json):

  1. {
  2.     "minecraft:spell_effects": {
  3.         "add_effects": [
  4.             {
  5.                 "effect": "bad_omen",
  6.                 "duration": 6000,
  7.                 "display_on_screen_animation": true
  8.             }
  9.         ]
  10.     }
  11. }
复制代码

minecraft:strength

定义该实体携带物品的「力量」。

  • max:(数字)可选。实体的最大力量。默认为 5
  • value:(数字)可选。实体的初始力量。默认为 1

示例(羊驼 entities/llama.json):

  1. {
  2.     "minecraft:strength": {
  3.         "value": 1,
  4.         "max": 5
  5.     }
  6. }
复制代码

minecraft:type_family

设置该实体所属于的分类。

  • family:(数组)分类。
    • (字符串)一个分类的名称


示例(盔甲架 entities/armor_stand.json):

  1. {
  2.     "minecraft:type_family": {
  3.         "family": [ "armor_stand", "inanimate", "mob" ]
  4.     }
  5. }
复制代码

minecraft:variant

标记当前实体的变种值。另见 minecraft:mark_variant 组件。

  • value:(数字)可选。变种的 ID。按照惯例,0 是基础实体的 ID。默认为 0

示例(猫 entities/cat.json):

  1. // 这个示例的结构是从根对象开始的,为了更好地表现 `minecraft:variant` 的用途。
  2. {
  3.     "component_groups": {
  4.         "minecraft:cat_white": {
  5.             "minecraft:variant": {
  6.                 "value": 0
  7.             }
  8.         },
  9.         "minecraft:cat_tuxedo": {
  10.             "minecraft:variant": {
  11.                 "value": 1
  12.             }
  13.         },
  14.         // ...
  15.     }
  16. }
复制代码

minecraft:walk_animation_speed

设置该实体行走动画的播放速度。

  • value:(数字)可选。数字越大,动画播放越快。1.0 表示正常的播放速度,2.0 表示正常速度的二倍,0.5 表示一半,诸如此类。默认为 1.0

minecraft:wants_jockey

设置该实体想要成为骑在其他生物身上(存疑,原版没有实体使用该组件)。

回复

使用道具 举报

咸鱼王之肝 当前离线
积分
52
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-11-13
查看详细资料
发表于 2018-11-13 23:48:03 | 显示全部楼层
课后习题答案呢
回复

使用道具 举报

SPGoding 当前离线
积分
21668
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-1-18
查看详细资料
 楼主| 发表于 2018-11-12 07:08:42 | 显示全部楼层
本帖最后由 SPGoding 于 2019-10-26 18:20 编辑

行为(WIP)
回复

使用道具 举报

LocusAzzurro 当前离线
积分
27387
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2013-6-8
查看详细资料
发表于 2018-11-12 04:55:48 | 显示全部楼层
modules部分是方括号,看起来应该是列表,里面的是花括号,所以应该是Compound List,也许可以支持添加不止一个模块?
回复

使用道具 举报

粘兽 当前离线
积分
14428
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-2-28
查看详细资料
发表于 2018-11-11 23:21:22 | 显示全部楼层
基岩版帖子真是少见啊
回复

使用道具 举报

ruhuasiyu 当前离线
积分
21141
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2014-10-16
查看详细资料
发表于 2018-11-11 21:52:31 | 显示全部楼层
spg不仅best而且认真
回复

使用道具 举报

1723624171 当前离线
积分
3555
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-11-10
查看详细资料
头像被屏蔽
发表于 2018-11-11 20:47:12 | 显示全部楼层
很不错教程,感想楼主分享,正在研究
回复

使用道具 举报

langyo 当前离线
积分
7841
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2015-4-17
查看详细资料
发表于 2018-11-11 20:20:42 | 显示全部楼层




你这句是真的皮

要不是有这句我还正想问你你是不是认真的

评分

参与人数 1金粒 +1 收起 理由
SPGoding + 1 你看,我标题都是跟花奶奶学习的【.

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2021-4-20 01:54 , Processed in 0.076331 second(s), Total 33, Slave 27 queries, Release: Build.2021.04.07 1521, Gzip On, Redis On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2020 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表