开放式打印机 (Open Printer)
基本信息
| 属性 |
值 |
| 注册名 |
openprinter:printer |
| TileEntity |
pcl.openprinter.tileentity.PrinterTE |
| 硬度 |
0.5 |
| 爆炸抗性 |
0 (默认铁材质) |
| 材质 |
Material.iron |
| 3D 模型 |
可配置(render3D),启用时使用 TESR |
功能
开放打印机是 OpenPrinter 模组的核型方块。它连接 OpenComputers 组件网络(component.openprinter),提供带颜色与对齐控制的纸张打印、扫描仪(读取 PrintedPage NBT)、Name Tag 打印以及内置文件系统(/lua/printer/)。玩家可通过 GUI 摆放墨水/纸张/扫描纸并输出 9 张打印页。
摆放要求
- 元数据
meta 0-3 表示四个朝向(玩家 rotationYaw 转 4 段)
- 启用 3D 模型时(默认
render3D=true)碰撞箱根据 meta 偏移:
- meta 0:
0.0, 0.0, 0.4 到 1.0, 1.0, 1.0(后缩)
- meta 1:
0.0, 0.0, 0.0 到 0.6, 1.0, 1.0(左缩)
- meta 2:
0.0, 0.0, 0.0 到 1.0, 1.0, 0.6(前缩)
- meta 3:
0.4, 0.0, 0.0 到 1.0, 1.0, 1.0(右缩)
- 关闭 3D 模型时为完整方块碰撞箱
- 放置时玩家朝向决定 meta(
MathHelper.floor_double(player.rotationYaw * 4F / 360F + 0.5D) & 3)
数值
| 数值名 |
值 |
| GUI ID |
0 |
| 槽位数 |
20(0:黑墨水, 1:彩墨水, 2:纸张, 3-11:输出×9, 12:扫描纸槽, 13:扫描纸实际位) |
| 侧面槽位访问 |
顶面=纸张输入 (slot 2), 底面=输出 (3-12), 侧面=墨水槽 (0, 1) |
| OC 组件名 |
openprinter |
| OC 连接器缓冲 |
32 |
| 文件系统组件 |
/lua/printer/(提供 xerox.lua) |
| 单次可写行数上限 |
20 行 |
| 单次可打印页数(默认) |
9(print(copies) 可调) |
交互
| 触发 |
行为 |
| 左键 |
无效果 |
| 右键(未潜行) |
打开 Printer GUI(ID 0) |
| 右键(潜行) |
阻止打开 GUI(返回 false) |
| 破坏 |
掉落所有内容物(按 10-30 随机批量) |
OpenComputers 接口(PrinterTE)
回调方法全部标 @Callback:
greet() - 返回 "Lasciate ogne speranza, voi ch'intrate"(但丁神曲地狱铭文)
setTitle(title) - 设置下一页标题
writeln(text, color?, align?) - 写入一行(color 整数如 0xFF0000;align "left"/"center"/"right")
print(copies=9) - 实际打印当前缓存的所有行,每页消耗 1 个纸张槽;自动消耗黑/彩墨水(每 §[0-9a-f] 颜色码算 1 点彩墨)
scan() - 返回 {pageTitle, {line0=..., line1=..., ...}} 表
scanLine(n) - 返回第 n 行文本(仅 NBT 内容)
getPaperLevel() - 纸卷剩余 256-damage;普通纸返回 stackSize
getBlackInkLevel() - 黑墨水 cfg.printerInkUse - damage
getColorInkLevel() - 彩墨水 cfg.printerInkUse - damage
charCount(text) - 去除 §[0-9a-fk-or] 后字符数(@Callback(direct=true))
clear() - 清空缓存行/颜色/对齐/标题
printTag(name) - 打印 Name Tag(消耗 1 个 name_tag + 1 点黑墨水)
合成配方
| 材料 |
配方 |
nuggetIron × 4(边框) + 红石 × 2(角) + Microchip (OC chip1) × 1 + PCB × 1(中心) |
3×3 配方 IRI / MPM / IRI |
相关条目