Trim(装饰条)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | StorageDrawers:trim |
| TileEntity | 无 |
| 硬度 | 5.0 |
| 爆炸抗性 | BlockTrim 构造器只调用 setHardness(5f),从未调用 setResistance,也未覆写 getExplosionResistance;材质 Material.wood,具体数值取父类默认值(本仓库源码中无此数值) |
| 透明性 | 否 |
| 声音 | 木质 |
功能
装饰条(Trim)是填充抽屉缝隙的窄条方块(BlockDrawers 中 trimWidth = 0.0625f、trimDepth = 0.0625f,即 1/16 格宽深),同时是抽屉网络中的连通性节点。
用途
- 缝隙填充:填充 4 槽位抽屉阵列中央 1/16 格宽的十字缝隙
- 网络连通:
BlockTrim implements INetworked,在 Controller 的 BFS 洪泛中被当作可穿越节点 - 不贡献槽位:
BlockTrim不是BlockContainer,world.getTileEntity恒为null;updateRecordInfo落入else分支,record.storage保持null、drawerStorageSize不累加。所以原文"支持网络计数"表述错误——它只提供连通性,槽位贡献为 0
材质变体
- 贴图名数组来自
DataResolver.java:17:private static String[] textureNames = BlockWood.field_150096_a;,即直接复用 Minecraft 的BlockWood常量。该常量的具体内容不在本仓库中,具体木材名称无法核实 - 木板映射在
DataResolver.init()中显式循环 6 次:for (int i = 0, p = 0, m = 0; i < 6; i++, p++, m++) setPlankSlab(i, Blocks.planks, p, Blocks.wooden_slab, m);,即minecraft:planks的 6 个 metadata 与minecraft:wooden_slab的 6 个 metadata 一一对应 - ⚠️ 订正:原文列举的 8 种木材(橡木、白桦木、云杉木、丛林木、金合欢木、深色橡木、红树林、黑橡木)既与源码的 6 次循环不符,红树林(Mangrove)是 Minecraft 1.19 才加入的,1.7.10 根本不存在
- 另有独立的
trimCustom方块(BlockTrimCustom),需用工作台合成(ModRecipes.java:480),再用 Framing Table 配色;不能由标准trim直接"转换"而来
摆放要求
- 可放置于抽屉相邻的缝隙位置
BlockTrim未覆写canPlaceBlockAt,走Block默认逻辑(可放置于实心面)- 无特殊方向要求,但
damageDropped(meta) { return meta; }(BlockTrim.java:39-41)——metadata 参与物品形态,破坏掉落时保留 meta harvestBlock强制world.setBlockToAir(...),确保自毁掉落
交互
BlockTrim 没有覆写 onBlockActivated,源码中不存在任何交互判定。
| 触发 | 行为 |
|---|---|
| 左键(挖掘) | 破坏方块,按 getDrops 掉落 1 个 trim(getDrops 覆写为只掉 getMainDrop,不受 fortune 影响) |
| 右键 | 无任何自定义行为,走 Block 默认逻辑(不改变方块状态、不开 GUI) |
| 手持 trim 右键 | 无特殊处理;BlockTrim 未提供"沿墙面自动贴靠"的逻辑 |
与抽屉的配合
[D][D][D][D] D = Drawer(抽屉)
[D][T][T][D] T = Trim(装饰条,1/16 格宽的窄条)
[D][T][T][D]
[D][D][D][D]
⚠️ 订正:Trim 的实际厚度是
trimWidth = trimDepth = 0.0625f(= 1/16 格),见BlockDrawers.java:79-80,是极窄的装饰条,不是填满 2×2 区域的方块。原文示意图暗示 Trim 占据整个 1 格方块,与源码不符。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 挖掘难度 | 5.0(setHardness(5f)) |
BlockTrim.java:34 |
| 材质 / 声音 | Material.wood,setStepSound(Block.soundTypeWood) |
BlockTrim.java:30,35 |
| TileEntity | 无(未实现 ITileEntityProvider) |
BlockTrim.java:24 |
| 木板 metadata 映射数 | 6 | DataResolver.java:59 |
| 抽屉槽位贡献 | 0 | TileEntityController.updateRecordInfo else 分支 |
所属多方块结构
- Drawer Network - 网络成员方块,支持网络计数(但本身无存储槽位)
相关条目
- Trim Custom - 自定义材质的装饰条版本
- Framing Table - 用于将 Trim 转换为 Trim Custom 的工具
- Drawer Network - 抽屉网络的整体架构说明
第三方集成
| 集成 Mod | 集成类型 | 功能 |
|---|---|---|
| Waila | 工具提示 | 显示装饰条材质 |
| NEI | 配方/隐藏 | 物品显示和隐藏 |
| Chisel | 变体注册 | 所有装饰条变体的 Chisel 变体注册 |
| MineTweaker | 脚本集成 | OreDictionary 黑/白名单 |
| GTNH | 配方注册 | GTNH/dreamcraft 配方系统 |
| Backhand | 副手兼容 | 副手交互兼容性 |