文件柜 (Open File Cabinet)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | openprinter:filecabinet |
| TileEntity | pcl.openprinter.tileentity.FileCabinetTE |
| ItemBlock | ItemBlockFileCabinet(放置时把 NBT display.Name 写入 name) |
| 硬度 | 0.5 |
| 材质 | Material.iron |
功能
文件柜是一个 30 槽(1 输入 + 18 输出 + 11 备用)的简单存储方块,专门存放 PrintedPage(打印页)与 Items.book(书)。NBT 可保存自定义显示名 name。这是 OpenPrinter 三件套(打印→存储→销毁)中的存储角色。
摆放要求
- 元数据 0-3 基础朝向,放置时 meta =
(yaw_segment + 1) & 0x3 - 使用铁砧改名后放置,名称会写入 TileEntity(
ItemBlockFileCabinet.placeBlockAt)
数值
| 数值名 | 值 |
|---|---|
| GUI ID | 5 |
| 槽位数 | 30(0: 输入, 1-18: 输出×18, 19-29: 备用) |
| 侧面槽位访问 | 顶面=输出, 底面=输入, 侧面=输出 |
| 自定义名称 | TileEntity name 字段,NBT 键 "name" |
交互
| 触发 | 行为 |
|---|---|
| 左键 | 无效果 |
| 右键(未潜行) | 打开 File Cabinet GUI(ID 5) |
| 右键(潜行) | 阻止打开 GUI |
| 破坏 | 掉落全部内容物 |
输入校验(isItemValidForSlot)
- 槽位 0 仅接受
PrintedPage或Items.book
自定义名称机制
- TileEntity
writeToNBT/readFromNBT持久化name字符串 placeBlockAt在放置时从ItemStack.tag.display.Name读取名称hasDisplayName()/getDisplayName()提供判断与读取
合成配方
无(文件柜不能合成,必须通过创造模式物品栏或 NEI 获取)