Key Enchantments
基本信息
| 属性 | 值 |
|---|---|
| 附魔类型 | 自定义 EnumEnchantmentType("key")(EnumHelper.addEnchantmentType("key")) |
| 附魔 ID | 170 / 171 / 172(可配置) |
| 前置条件 | 钥匙 已启用 |
| 数量 | 3 |
来源:src/main/java/net/mcft/betterstorage/item/EnchantmentBetterStorage.java:33-75;ID 定义于 src/main/java/net/mcft/betterstorage/config/GlobalConfig.java:167-169。
功能
三种附魔只能附在 钥匙 上。它们的稀有度(weight)远高于原版附魔,因此在合成与战斗中价值很高。
canApplyEnchantment(EnchantmentBetterStorage.java:164)要求目标物品实现 IKey 才能附:
return ((key != null) && key.canApplyEnchantment(stack, this));
数值
构造参数顺序为 name, type, configName, weight, maxLevel, minBase, minScaling, maxBase, maxScaling。
| 附魔 | ID 配置键 | weight | maxLevel | minBase | minScaling | maxBase | maxScaling |
|---|---|---|---|---|---|---|---|
| Unlocking | enchantment.unlocking |
5 | 8 | 5 | 10 | 30 | 0 |
| Lockpicking | enchantment.lockpicking |
5 | 6 | 5 | 8 | 30 | 0 |
| Morphing | enchantment.morphing |
5 | 1 | 10 | 12 | 30 | 0 |
来源:EnchantmentBetterStorage.java:36-45(Unlocking)、:46-55(Lockpicking)、:56-65(Morphing)。
默认 ID:Unlocking = 170、Lockpicking = 171、Morphing = 172(GlobalConfig.java:167-169)。
解读:
weight是稀有度权重(5 高于原版绝大多数附魔);minBase/minScaling/maxBase/maxScaling是附魔经验值的 min / minScaling / max / max 四参数。
互斥
- Lockpicking 与 Morphing 互斥(
EnchantmentBetterStorage.java:67-68):if (lockpicking != null) lockpicking.setIncompatible(morphing); if (morphing != null) morphing.setIncompatible(lockpicking);
- Unlocking 与二者均不互斥
附魔 ID 禁用机制
conditialNew 在配置 ID ≤ 0 时返回 null(EnchantmentBetterStorage.java:125-126),即把某个 ID 设为 0 或负数即可完全禁用该附魔,无需删除代码。
附魔名称
内部名称为 betterstorage.<type>.<name>(setName(BetterStorage.MODID + "." + type.toString() + "." + name),EnchantmentBetterStorage.java:133),本地化键为 enchantment.betterstorage.key.unlocking 等(GlobalConfig.java:167-169)。