教程:制作附加包/战利品表

来自Minecraft基岩版开发Wiki
战利品表
系列教程
所属系列
难度
初级
前置知识
适用版本
国际版
实践设备
WindowsAndroid
所需软件

战利品表是游戏控制掉落物和宝箱内容的机制,如遗迹宝箱、方块挖掘掉落物、怪物生成时的装备和击杀怪物掉落物等。 接下来将会解决如何定义自定义战利品表。

在这之前[编辑]

您将要学习自定义战利品表的存放链接到需要战利品表文件的方法

文件存放[编辑]

自定义战利品表文件需存放在loot_tables/战利品表的用处文件夹中,具体可以参考战利品表#相关文件[注 1]

调用方法[编辑]

如需调用战利品表到相关定义文件,要在"components"对象中写入以下字符:[注 2]

//"components":{
//  ...
    "minecraft:loot": {
      "table": "自定义战利品表文件路径"
    }
//}

(编写完后,放宽心,改善好心态,接下来将编写战利品表了,可能会有点难,慢慢看。)(*^ω^*)

开始自定义战利品表[编辑]

以僵尸掉落物为例(有删改):

{
    "pools": [
    //在这个对象中的数组代表着所有要触发的战利品
        {
            "rolls": 3,//触发战利品表次数
/*
          也可以写成:
            "rolls": {
                "min": 1,//最低
                "max": 3//最高
            },
*/
            "conditions"[//触发条件
                {
                    "condition": "killed_by_player_or_pets"//当被玩家或宠物击杀时
                },
                {
                    "condition": "random_chance_with_looting",//随机刷新此战利品表
                    "chance": 0.025,//概率
                    "looting_multiplier": 0.01
                }
            ],
            "entries": [//单次抽取内容,键名自取
                {
                    "type": "item",//激活类型,一般填item
                    "name": "minecraft:diamond",//要获得的物品
                    "functions": [//附加函数
                        {
                            "function": "set_count",//设置数量(可以填写别的函数)
                            //当函数为set_count时:
                            "count": {
                                "min": 1,//最低
                                "max": 3//最高
                            }
                        }
                    ],
                    "weight": 1//权重
                },
                {
                    "type": "item",
                    "name": "minecraft:grass",
                    "functions": [
                        {
                            "function": "set_count",
                            "count": {
                                "min": 1,
                                "max": 64
                            }
                        }
                    ],
                    "weight": 99
                }
            ]
        }
    ]
}

以上的作用是让实体被玩家或宠物击杀时,掉落草、钻石或者什么都没有。 触发条件和函数可以去战利品表#数据结构寻找更多。 期待这些能对你有所帮助。如果需要更详细的文档,请查阅微软文档的战利品简介文档

课后作业[编辑]

(期中考试)

  1. 添加一个名为“篮球”的物品,并将其设置为原版的掉落物。(忘记怎么自定义物品了?
  2. 让原版圆石能掉落钻石

注释[编辑]

  1. 如宝藏箱的JSON文件需存放在loot_tables/chests文件夹,以战利品表#相关文件为准。
  2. 可能某些文件中的"minecraft:loot"组件可能写法不同(如当格式版本为1.16.0的方块定义文件的组件用字符串即可,不需要用对象),详情请前往组件列表查看。

< 配方 | 实体 >