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 该材质的方块

相关条目