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),走物品字典的染料。