Keyring

基本信息

属性 值
注册名 betterstorage:keyring
类 net.mcft.betterstorage.item.locking.ItemKeyring(实现 IKey + IContainerItem)
堆叠上限 1(ItemBetterStorage 构造函数,src/main/java/net/mcft/betterstorage/item/ItemBetterStorage.java:24)
内部槽位数 9
贴图变体 4 张(keyring_0 … keyring_3,按 NBT 伤害值索引)
创造标签 BetterStorage.creativeTab

来源:src/main/java/net/mcft/betterstorage/content/BetterStorageItems.java:58;src/main/java/net/mcft/betterstorage/item/locking/ItemKeyring.java:22-40;容器 ContainerKeyring。

功能

钥匙环是一个自带 9 格内部容器的钥匙收纳包——它自己也是一个 IKey,并且能装下最多 9 把钥匙,开锁时会逐个尝试。

  • 内部容器为 9 列 1 行:ContainerKeyring 构造为 super(player, new InventoryKeyring(player, title), 9, 1)(src/main/java/net/mcft/betterstorage/container/ContainerKeyring.java:15)
  • 内部物品通过 StackUtils.getStackContents(container, 9) 读出(ItemKeyring.java:83)
  • 打开 GUI:ContainerKeyring,GUI 背景为 container.betterstorage.keyring
  • 解锁逻辑:遍历内部 9 格,对每把钥匙调用 keyType.unlock(key, lock, false)(ItemKeyring.java:67)
  • 潜行右键可与背包交换内容(ItemKeyring.java:42)
  • 贴图随装入钥匙数量变化:icons[Math.min(damage, icons.length - 1)](ItemKeyring.java:36-37),共 4 个阶段

数值

数值名 值 来源
内部槽位 9 ContainerKeyring.java:15
内部列 × 行 9 × 1 同上
贴图档位 4 ItemKeyring.java:24 new IIcon[icons.length] where icons = new IIcon[4]
堆叠上限 1 ItemBetterStorage.java:24

交互

触发 行为
右键 打开钥匙环 GUI(9 格)
潜行右键 与背包交换内容(ItemKeyring.java:42-47)
手持钥匙环右键上锁容器 依次尝试内部 9 把钥匙,任一成功即开锁
装入钥匙 贴图档位随内容变化

合成配方

GameRegistry.addShapedRecipe(src/main/java/net/mcft/betterstorage/misc/Recipes.java:200-201):

...
. .
...
字符 物品
. 金粒

相关条目