Lock

基本信息

属性 值
注册名 betterstorage:lock
类 net.mcft.betterstorage.item.locking.ItemLock(实现 ILock)
最大耐久 64(setMaxDamage(64),ItemLock.java:29)
可染色 是(canDye 返回 true,ItemLock.java:42)
可附魔值 20(getItemEnchantability(),ItemLock.java:56-58)
锁类型 "normal"(getLockType(),ItemLock.java:105-107)
创造标签 BetterStorage.creativeTab

来源:src/main/java/net/mcft/betterstorage/content/BetterStorageItems.java:57;src/main/java/net/mcft/betterstorage/item/locking/ItemLock.java。

功能

锁安装在储物柜、强化箱子/储物柜与可上锁铁门上,只有 ID 匹配的 钥匙 能打开。

  • 锁本身携带 ID,合成时从钥匙复制(LockRecipe.getCraftingResult)
  • 锁有 64 点耐久,被工具或左键攻击会累积伤害(setMaxDamage(64),ItemLock.java:29)
  • 是否允许用工具打掉锁受同步配置 general.lockBreakable 控制(默认 true,GlobalConfig.java:220-221)
  • 可染色(LockColorRecipe 专门提供染色配方)
  • 可附魔四种锁附魔(见 锁附魔)
  • 锁是 ILock 接口的实现者,模组可通过该接口判断锁的类型(getLockType())

数值

数值名 值 来源
最大耐久 64 ItemLock.java:29
可附魔值 20 ItemLock.java:56-58
锁类型字符串 "normal" ItemLock.java:105-107
堆叠上限 1 ItemBetterStorage 构造函数 setMaxStackSize(1),src/main/java/net/mcft/betterstorage/item/ItemBetterStorage.java:24

交互

触发 行为
右键容器 装上锁(消耗一个)
持正确钥匙右键 开锁
持工具左键攻击 累积伤害,达到 64 时锁被破坏(需 lockBreakable 开启)
染色 LockColorRecipe 或铁砧
附魔台 可附 Persistance / Security / Shock / Trigger

合成配方

LockRecipe.createLockRecipe()(src/main/java/net/mcft/betterstorage/item/recipe/LockRecipe.java:28-36):

 G
GKG
GIG
字符 物品
G 金锭
I 铁锭
K 钥匙(接受物品字典 WILDCARD_VALUE,即任意 NBT 钥匙)

成品锁会复制钥匙的 NBT ID(LockRecipe.getCraftingResult,LockRecipe.java:19-25)。

染色配方由 LockColorRecipe.createLockColorRecipe() 注册(src/main/java/net/mcft/betterstorage/misc/Recipes.java:195),走物品字典的染料。

相关条目