文档和工具

微软自定义生物

样例中json的配置方式可参考以下链接中的add-on及animation documentation

https://minecraft.gamepedia.com/Add-on

以增加自定义生物minehero:cool_girl为例 行为包behavior_pack/entities目录下增加cool_girl.json

资源包resource_pack/animation_controllers目录下增加cool_girl.json

资源包resource_pack/animations目录下增加cool_girl.json

资源包resource_pack/entity目录下增加cool_girl.json

资源包resource_pack/models/entity目录下增加cool_girl.json

资源包resource_pack/render_controllers目录下增加function_block.json

资源包resource_pack/textures/entity目录下增加cool_girl.png贴图

创建微软自定义生物

脚本注册驱动节点

tool_table战利品表

  • 自定义物品的identifier可用作loot_table配置掉落物。可参考CustomItemsMod行为包的loot_tables\entities\zombie.json,里面将僵尸的掉落物由腐肉改为customitems:test0物品。原生生物只需要在该路径下添加对应的生物名.json文件来为其配置战利品表即可,如果需要为自定义生物添加对应的战利品表,首先需要在行为包behavior_pack/entities目录对应的json文件比如上面微软自定义生物例子的cool_girl.json中的"conponents"下添加一个"minecraft:loot"组件来指定对应的战利品表:

需要注意的是,behavior_pack/entities目录下的json文件中,"runtime_identifier": "minecraft:chicken"这一行所继承的是可掉落物品的生物时,其战利品表才能生效。

  • zombie.json为例,该战利品表的格式如下:

下面对部分节点进行解释说明,详细的节点数据可参考 我的世界wiki战利品表

  • "pools": 这个实体的随机池的列表。每个随机池中都会随机抽取列表(entries)里面的物品。每个随机池都会指定其抽取次数(rolls)。

    • "conditions": 决定了使用这个随机池的条件。如果指定了多个条件,则必须都满足。

    • "rolls":决定了在此随机池中抽奖的次数。

    • "entries": 这个池中能抽出的东西列表。每一次抽奖会随机根据权重选择一个被抽出项(如果它符合指定条件)。

      • "type": 被抽出项种类的命名空间ID值。 可以填写item选择物品项、tag选择物品标签、loot_table以另一个战利品表生成物品、group选择子项、alternatives从列表中选择一个子项、sequence选择子项,直到有一个子项无法选择为止、dynamic生成方块的特定掉落物、empty什么都不生成。

      • "name":

        • 如果type是'item',则填写物品的ID。比如diamond。默认在没有被functions影响的情况下,其数量为1。也可以是自定义物品的ID,比如customitems:test0
        • 如果type是'tag',则填写使用的物品标签。比如arrows
        • 如果type是'loot_table',则填写使用的战利品表。比如gameplay/fishing/junk
        • 如果type是'dynamic',则填写contents指定方块实体的内容物或self指定旗帜或玩家的头颅。
      • "weight": 决定了这个物品被选择的权重。 这个值越高物品便越容易被选择(概率为这个物品的权重/所有考虑的物品权重之和) 。

      • "functions": 决定了抽中这个物品时对其执行函数(不是数据包中的函数)。如果没有被设置,它将不会被使用。必须按照顺序排放(会按照顺序执行)