BE教程

附加包教程:13.战利品表

Cat_A***Lv.4 高级会员 发表于 2023-1-13 · 最后回复 2024-10-9 IP:山西省 8,822 26
AI 速览2026-09-25 09:56 生成

附加包教程第十三期讲解战利品表的结构与存放位置

这是附加包系列教程的第十三期,主题是战利品表。帖子说明了战利品表的作用,即决定世界中物品掉落的一种方式,并介绍了在行为包根目录的loot_tables文件夹下的blocks文件夹中存放方块战利品表,同时给出示例代码帮助理解其结构。帖子还提到战利品表可以附加条件,本期只作初步了解,适合正在学习附加包制作、想弄清掉落机制的读者。

本卡片由 AI 阅读本帖后生成,可能存在疏漏,请以帖子正文为准。
本帖最后由 Cat_Anchor 于 2024-6-25 10:20 编辑

前言
上期,我们学习了模型。接下来,我们即将学习战利品表。简单来说,战利品表就是在世界中掉落物品的一种方法。它存储了所有可能掉落的物品,会根据情况掉落一些其中的物品。战利品表可以很简单,但也可以很复杂。
战利品表
打开行为包根目录,打开loot_tables文件夹,打开blocks文件夹。这里用于存放方块的战利品表。
我在下面放一些代码,简单地说明了战利品表的结构。
  1. {
  2.   "pools": [ //这个数组里包含了若干个战利品池,会在这个池里随机抽取战利品。
  3.     {
  4.       "rolls": 1, //表示这个战利品池要从下面的数组里抽取战利品的次数。
  5.       "entries": [ //这个数组包含了若干项战利品。
  6.         { //一项战利品。
  7.           "type": "item", //战利品的种类。item指物品,loot_table指另一个战利品表,empty指不掉落任何物品。
  8.           "name": "supplementary:test_item", //物品名称或战利品表路径。
  9.           "weight": 3, //权重,决定了这一项被抽取到的几率。这一项的几率的计算公式是这一项的weight值除以此战利品池中全部weight值之和。
  10.           "functions": [ //这个数组里有若干个修饰这个物品的功能。
  11.             { //一项功能。
  12.               "function": "set_count", //功能名称。set_count是设置数量。
  13.               "count": { //数量。
  14.                 "min": 1, //最小值,必须大于等于0
  15.                 "max": 1 //最大值,必须大于等于最小值
  16.               }
  17.             }
  18.           ]
  19.         },
  20.         { //又一项战利品。
  21.           "type": "item",
  22.           "name": "minecraft:air", //设置空气表示不会掉落任何东西。也可以用"type": "empty"。
  23.           "weight": 16,
  24.           "functions": [
  25.             {
  26.               "function": "set_count", //功能有很多。
  27.               "count": {
  28.                 "min": 0,
  29.                 "max": 1
  30.               }
  31.             }
  32.           ]
  33.         }
  34.       ]
  35.     }
  36.   ]
  37. }
复制代码

战利品表还可以有条件,指定条件下掉落战利品。以后会再出一期已经研究清楚的功能和条件及它们的语法。(已经出了,点击这里前往新帖)这一期就先了解一下就可以了。
总结

这一期,我们简单地了解了战利品表。如果你不想手写战利品表,可以自动生成一个。只需要按照它的流程操作即可,它也支持所有类型的条件和功能。下一期,我们将回到方块上,讲方块事件。


  • MC*** 铁粒 +20 感谢你帮我解决了战利品刷新问题.
回复 26 最早 最新 只看楼主
MC*** Lv.3 中级会员
2024-10-3 08:46:21 · 来自手机 IP:广东省
我想修改原版地牢箱子的战利品,不知道哪里出错了,就是修改不成功。我想添加一个自定义物品进去,到测试的时候打开地牢的箱子没有任何的变化。
Screenshot_2024_1003_084351.jpg
9# 2024-10-3 08:46:21 收起回复
Cat_Anchor 2024-10-3 10:01 IP:山西省
回复 举报
这个文件的位置对吗?物品本身定义成功了吗?有没有内容日志?或者rolls字段指定的数字太低,需要开很多个箱子才能找到这个物品。
MC平方回复Cat_Anchor 2024-10-3 10:19 IP:广东省
回复 举报
物品注册成功了的日志错误反馈为空,所有的原版物品、群系、地标的命名我都是在Minecraft wiki网站上找的。
Cat_Anchor回复MC平方 2024-10-3 11:39 IP:山西省
回复 举报
那文件位置呢?
Cat_Anchor回复MC平方 2024-10-3 11:43 IP:山西省
回复 举报
文件必须在loot_tables/chests/monster_room.json
MC平方回复Cat_Anchor 2024-10-3 12:02 IP:广东省
回复 举报
文件位置是对的
还有 6 条回复, 点击查看
MC*** Lv.3 中级会员
2024-10-3 19:13:44 · 来自手机 IP:广东省
帮我看一下什么情况?
 生物蛋合成工艺.zip (4.54 KB, 下载次数: 2)
10# 2024-10-3 19:13:44 收起回复
MC平方 2024-10-3 19:16 IP:广东省
回复 举报
防止内容提前泄露,只将反馈的目标道具塞了进去。
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则