Reinforced Chest
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | betterstorage:reinforcedChest |
| 类 | net.mcft.betterstorage.tile.TileReinforcedChest |
| TileEntity | net.mcft.betterstorage.tile.entity.TileEntityReinforcedChest(id container.betterstorage.reinforcedChest) |
| 材质 | Material.wood |
| 硬度 | 8.0 |
| 爆炸抗性 | 20.0 |
| 脚步声 | soundTypeWood |
| 碰撞箱 | (0.0625, 0, 0.0625) → (0.9375, 0.875, 0.9375),连接时向连接方向延伸至 0 或 1 |
来源:src/main/java/net/mcft/betterstorage/tile/TileReinforcedChest.java:23-26, 63-71;TileEntity 注册见 src/main/java/net/mcft/betterstorage/content/BetterStorageTileEntities.java:29。
功能
强化箱子是按材质分变体的箱子,共有 8 种材质(ContainerMaterial,src/main/java/net/mcft/betterstorage/tile/ContainerMaterial.java:26-36):
| 材质 ID | 名称 | 锭 | 方块 |
|---|---|---|---|
| 0 | iron | 铁锭 | 铁块 |
| 1 | gold | 金锭 | 金块 |
| 2 | diamond | 钻石 | 钻石块 |
| 3 | emerald | 绿宝石 | 绿宝石块 |
| 5 | copper | ingotCopper |
blockCopper |
| 6 | tin | ingotTin |
blockTin |
| 7 | silver | ingotSilver |
blockSilver |
| 8 | zinc | ingotZinc |
blockZinc |
材质写在物品/方块 NBT 的 Material 标签中(ContainerMaterial.TAG_NAME = "Material",ContainerMaterial.java:19),并同时提供 steel(无 ingot/block 对象,ID 由字符串指定,ContainerMaterial.java:36)——steel 因 getReinforcedRecipe 在 ingot == null 时返回 null(ContainerMaterial.java:84),不生成配方,无法合成。
- 箱子可以横向连接:相邻的同类强化箱子会合并为 3×3 的大箱子(
canConnect+getConnectedDirection,TileReinforcedChest.java:53-58) - 槽位数由配置
general.reinforcedColumns决定(TileEntityReinforcedChest.getColumns(),src/main/java/net/mcft/betterstorage/tile/entity/TileEntityReinforcedChest.java:37-39) - 支持锁定(
ILockable),可用钥匙与锁保护
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 硬度 | 8.0 | TileReinforcedChest.java:23 |
| 爆炸抗性 | 20.0 | TileReinforcedChest.java:24 |
| 列数(默认) | 13 | GlobalConfig.java:176 |
| 列数可设值 | 9 / 11 / 13 | GlobalConfig.java:176 setValidValues(9, 11, 13) |
| 行数 | 3 | TileEntityContainer.getRows(),src/main/java/net/mcft/betterstorage/tile/entity/TileEntityContainer.java:46-47 |
| 默认槽位数 | 39(13 × 3) | 上两行相乘 |
交互
| 触发 | 行为 |
|---|---|
| 右键 | 打开 GUI(TileEntityContainer.openGui,src/main/java/net/mcft/betterstorage/tile/entity/TileEntityContainer.java:148) |
| 放置相邻 | 自动连接成大箱子,贴图切换为 _large 变体(ContainerMaterial.getChestResource(large),ContainerMaterial.java:98) |
| 锁定后右键 | 需持钥匙且 ID 匹配才开锁(IKey.unlock) |
| 重命名 | 铁砧改名后写入 customTitle(hasCustomTitle() / getCustomTitle(),TileEntityContainer.java:95-105) |
合成配方
每种材质各生成一条 ShapedOreRecipe(ContainerMaterial.getReinforcedRecipe(Blocks.chest, reinforcedChest),src/main/java/net/mcft/betterstorage/tile/ContainerMaterial.java:83-96):
o#o
#C#
oOo
| 字符 | 物品 |
|---|---|
C |
原版箱子(Blocks.chest) |
# |
原木(物品字典 logWood) |
o |
该材质的锭 |
O |
该材质的方块 |