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)。

相关条目