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):
相关条目