Files
2025-08-25 18:36:29 +08:00

3.5 KiB
Raw Permalink Blame History

front, hard, time
front hard time
https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/2_1.eeeb242d.jpg 进阶 15分钟

战利品池

作者:境界

我们以原版僵尸的战利品池pools为例它与其他生物的战利品配置不同的是在战利品池中一共有两种组合。

rolls

rolls可以理解为投掷骰子的次数它接受整型数值和包含最小次数和最大次数的随机区间因此当次数等于1时可以从战利品入口处筛选一次战利品。若大于1次时可以筛选多次战利品。而当写成区间对象时则会在最小次数和最大次数之间取一个数值来筛选几次战利品。

type

type一共有三种参数item代表战利品为物品empty代表战利品为空loot_table则会将该战利品指向其他战利品配置文件中。

当type为item时可以通过name指定物品名称格式为命名空间标识符。weight是权重的意思。

当type为loot_tables时可以通过name指定战利品文件路径路径名一般以loot_tables开头。weight是权重的意思。

当入口存在多个战利品时权重越高的越容易中到。name在类型为empty下无效。

在每个战利品中依旧可以开启一个战利品池,当战利品配置表被游戏触发时,会依次从最头部的战利品池内筛选出一个战利品,紧接着若在战利品内还有一个战利品池,则会继续筛选下去。这种方法会在需要玩家生成某件物品时,若还要再生成另一件物品时会非常好用。

如果战利品池里有两次以上的筛选组合在没有加入条件前全部会根据rolls的数值执行次数。若在筛选组合内加入条件则必须满足条件后才可以筛选其中的战利品。

补充内容:

我的世界中国版自2.1版本增加玩家的幸运属性因此战利品表也同步支持quality和bonus_rolls两个字段如下图所示。

此部分内容不在原版僵尸的战利品表内,需要开发者自行配置战利品表实现

luck_bonusrolls_quality

luck幸运值属性与Java版的幸运值类似属于玩家属性的一种能够配合战利品表的quality和bonus_rolls字段改变战利品池的投掷次数和每个物品的抽取权重最终实现幸运值越高掉落物品更丰富和宝贵的效果。

quality配合幸运值属性增加此物品的权重值只能为整数可以为负数计算公式如下

weight = weight + luck*quality

bonus_rolls配合幸运值属性增加战利品投掷的次数值可为浮点数可以为负数等同于在rolls的次数基础上增加额外的抽取次数。计算公式如下

最终投掷次数=rolls+luck*bonus_rolls结果向下取整若最终投掷次数≤0则不掉落

注意事项1幸运属性的影响范围仅限被玩家击杀的生物和钓鱼的战利品表掉落表暂不支持自然生成的容器箱子破坏方块的掉落物猪灵的以物易物的战利品表。

注意事项2钓鱼时的战利品还可以被海之眷顾的附魔效果影响但是这并不会提升玩家的幸运值属性

注意事项3掠夺附魔效果额外得到的数量会受最终投掷次数影响而成倍增长例如受幸运值影响最终投掷次数为3则掠夺附魔效果会额外得到的数量基准为3附魔等级每增加一级将额外得到3个物品因此请避免将bonus_rolls值设置过大。