UID82897
性别保密
经验 EP
铁粒 粒
回帖0
主题
精华
在线时间 小时
注册时间2021-7-23
最后登录1970-1-1
|
本帖最后由 Cat_Anchor 于 2023-3-4 10:14 编辑
前言
|
上期,我们学习了模型。接下来,我们即将学习战利品表。战利品表是一个很复杂的内容,因为时间有限,我们现在不做深入讨论。
| | 战利品表
|
打开行为包根目录,打开loot_tables文件夹,打开blocks文件夹。这里用于存放方块的战利品表。
我在下面放一些代码,简单地说明了战利品表的结构。
- {
- "pools": [ //这个数组里包含了若干个战利品池。
- {
- "rolls": 1, //表示这个战利品池要从下面的数组里抽取战利品的次数。
- "entries": [ //这个数组包含了若干项战利品。
- { //一项战利品。
- "type": "item", //战利品的种类。item指物品,loot_table指另一个战利品表。
- "name": "supplementary:autumn_sapling_item", //物品名称或战利品表路径。
- "weight": 3, //权重,决定了这一项被抽取到的几率。这一项的几率的计算公式是这一项的weight值除以此战利品池中全部weight值之和。
- "functions": [ //这个数组里有若干个为这个物品运行的函数。
- { //一项函数。
- "function": "set_count", //函数名称。set_count是设置数量。
- "count": { //数量。
- "min": 1, //最小值
- "max": 1 //最大值,不能小于最小值
- }
- }
- ]
- },
- { //又一项战利品。
- "type": "item",
- "name": "minecraft:air", //设置空气表示不会掉落任何东西。
- "weight": 16,
- "functions": [
- {
- "function": "set_count", //函数有很多,下面列出了所有可用的函数:set_count(设置数量)、set_data(设置数据值)、set_damage(设置耐久)、looting_enchant(附魔)、enchant_with_levels(附魔)、enchant_book_for_trading(交易附魔书使用)、enchant_randomly(随机附魔)、furnace_smelt(熔炉烧好的物品,用于烤肉掉落)、set_data_from_color_index(用于羊毛的掉落)、enchant_random_gear(附魔随机装备)、random_aux_value(随机数据值)、random_block_state(随机方块状态)、random_dye(随机染料)、exploration_map(探险家地图)、set_banner_details(旗帜图案)、explosion_decay(爆炸掉落物)、set_name(设置名称)、set_lore(设置物品描述)、specific_enchants(指定附魔)、fill_container(填充容器)、set_actor_id(设置实体ID)、set_book_contents(设置成书内容)、set_stew_effect(设置迷之炖菜效果)。
- "count": {
- "min": 0,
- "max": 1
- }
- }
- ]
- }
- ]
- }
- ]
- }
复制代码
以后会再出一期已经研究清楚的函数和条件。这一期就先了解一下就可以了。
| | 总结
|
这一期,我们简单地了解了战利品表。如果你不想手写战利品表,可以自动生成一个。只需要按照它的流程操作即可,它也支持所有类型的条件和函数。下一期,我们将回到方块上,讲方块事件。
|
|
|