MC Toolkit

指南 / 命令与数据

后期特效与战利品池:同一个箱子的两半

战利品池的权重决定掉落什么,/posteffect 命令决定它给人什么感觉。两者都是数字,在写数据包之前就能核对。

加权战利品池和 /posteffect 命令通常由不同的人写在不同的文件里,而它们出问题的方式如出一辙:数据包发布之前,从来没人核对过那些数字。而这两样东西,提前验证的成本都很低。

战利品池是算术,不是感觉

池中的每个条目都有一个 weight,而任意条目的概率等于它的权重除以该池中所有权重之和。这里没有隐藏的归一化,也没有下限——权重为 0 意味着该条目永远不会被抽中,而权重之和无论等于多少,池的行为方式都一样。真正的陷阱在于混合抽取次数:一个 rolls: 2 的池会采样两次,所以权重占四分之一的条目会出现在大约一半的箱子里,而不是四分之一。

条目权重单次抽取中的占比
铁锭2020 ÷ 40 = 50%
金锭1230%
钻石820%

再加入一个权重为 40 的条目,上面每个数字都会减半。这就是平衡工作的全部内容,也正是为什么“钻石掉率感觉不对”几乎总是因为你忘了按比例调整某个权重。

战利品表是游戏中较大的注册表家族之一——本站所测量的 26.2 数据中列出了 1355 个——所以一个你无法用数字推理的池,就是一个你永远没法靠手工调完的池。

/posteffect 是一个快照版命令

Java 的 /posteffect 是快照时期的命令,当前的正式版中并不存在,而 Bedrock 则完全没有对应功能。Bedrock 通过资源包和相机抖动系统来处理屏幕染色,所以这里的 Java 教程无法照搬过去。

该命令接受一个效果标识符和一个强度,而强度是浮点数,不是百分比。效果是一个很小的注册表——26.2 数据中只有 40 个——所以标识符列表短到可以手工核对,而不必靠猜。在某些快照版本中,指定一个不存在的效果会静默失败,这是提交之前需要验证的第二个理由。

两者的交汇点

掉落稀有物品的箱子和掉落普通物品的箱子,看起来不该一模一样。先抽取战利品池,得到真实的分布,再选择与玩家实际看到它的频率相匹配的后期特效强度。反过来做,就会得到一个频繁触发的夸张特效,读起来就像噪音。

对于一座城镇建筑来说,这通常意味着给普通池配一个低强度效果,把强效果留给权重最小的那个条目——用的正是你已经算好的那个比例。

后期特效与战利品工具中构建 /posteffect 命令并抽取加权战利品池。

Post Effect & Loot Tools →

更多指南

查看全部 →

还想找别的我的世界工具?

一整套在浏览器里运行的生成器、查看器和转换器,全部免费。