附魔冲突:43 个附魔中只有 21 个与其他附魔冲突,而其中六个占了大部分
26.3 版本共有 43 个附魔。22 个完全不与其他附魔冲突,III 级是最常见的上限,而消失诅咒适用的物品类型比其他任何附魔都多,冲突关系集中在两个系列和五组配对上,大多数附魔其实完全不与别的附魔冲突。
附魔冲突向来以繁琐著称,但数据表明大多数冲突其实并不复杂。以下数据统计自 Mojang 为 26.3 发布的附魔文件——与本页浏览器和构建器读取的是同一份数据。
43 个中有 22 个不冲突
只有 18 个附魔声明了互斥集合,另外还有三个——经验修补、忠诚和引雷——是互斥关系的被动方,因此共 21 个附魔与其他附魔存在冲突。游戏会双向检查:无限点名了经验修补,激流点名了另外两个,这就足够了。其余 22 个附魔与所有能合法附着的对象都能叠加。
而这 21 个的分布并不均匀——六个附魔承担了大部分冲突,每个都有五项冲突:
sharpness、smite、bane_of_arthropods、impaling、density、breach
这六个属于同一个家族:伤害修正类。它们彼此冲突,这一条规则就产生了游戏中所有冲突配对的一半以上——27 对中有 15 对。一旦你记住“每把武器只能有一个伤害类附魔”,你就掌握了这个系统的大部分内容。
下一组是保护类——protection、fire_protection、blast_protection、projectile_protection——每个有三项冲突,遵循同样的“每件盔甲只能有一个”规则。
其余的都是单一配对:silk_touch/fortune、infinity/mending、depth_strider/frost_walker、multishot/piercing,以及 riptide 对忠诚和引雷。
所以真正的结构是两个家族加五对配对,而不是 43 个需要交叉比对的东西。
III 级是最常见的上限
| 最大等级 | 附魔数量 |
|---|---|
| I | 9 |
| II | 4 |
| III | 16 |
| IV | 7 |
| V | 7 |
III 级是游戏默认倾向的等级。只有七个附魔能达到 V 级——而有九个止步于 I 级,这些附魔代表的是“能不能做到”而非“效果有多强”(精准采集、经验修补、无限、水下速掘、火矢、引雷、多重射击,以及两个诅咒)。
这在编写自定义附魔时是一个有用的默认值:如果它代表的是“能不能做这件事”而非“把这件事做得更强”,原版就会把它设为 I 级。
诅咒适用的物品最多
按每个附魔可附着的物品种类数量排序:
vanishing_curse 92 · mending 83 · unbreaking 83 · binding_curse 38 · blast_protection 29
消失诅咒是 Minecraft 中适用范围最广的单个附魔——它能附着的物品种类比经验修补或耐久还多。说出来之后其实很合理(任何能手持或穿戴的物品都能消失),但这与人们按重要性给附魔排序的直觉恰恰相反。
在另一端,十六个附魔——超过列表的三分之一——只适用于一种物品类型:breach、channeling、density、flame、impaling、infinity、loyalty、luck_of_the_sea、lure、multishot、piercing、power、punch、quick_charge、riptide、wind_burst。
弓、弩、三叉戟和钓鱼竿几乎涵盖了所有这些附魔,这就是为什么这四种物品感觉拥有深厚的附魔树,却与游戏其余部分几乎没有交集。
两个诅咒,仅此而已
binding_curse 和 vanishing_curse。没有第三个诅咒,标记它们的标签才是数据包应该读取的依据,而不是按名称匹配——一个叫 curse_of_something 的自定义附魔,除非它被加入该标签,否则对游戏来说不算诅咒。
据此编写自定义附魔
三个值得从原版照搬而非自行发明的默认做法:
- 冲突是例外。 43 个中有 25 个不声明任何冲突。只有当两个附魔确实计算同一个数值时——就像伤害家族那样——才添加互斥集合。
- 除非有理由,否则上限设为 III 级。 它以很大优势成为最常见的等级。
- 用 I 级表示能力型附魔。 如果附魔要么生效要么不生效,更多等级只是噪音。