自动封装机 GUI Arcane Packager GUI
基本信息
| 属性 | 值 |
|---|---|
| 客户端界面 | client/gui/ArcanePackagerGui.java(extends GuiContainer) |
| 服务端容器 | common/containers/ContainerArcanePackager.java(extends Container) |
| GUI ID | 2 |
| 界面宽度 | xSize = 190(ArcanePackagerGui.java:39) |
| 界面高度 | ySize = 234(ArcanePackagerGui.java:38) |
| 对应方块 | BlockStoneMachine 元数据 4 |
槽位布局
ContainerArcanePackager(ContainerArcanePackager.java:30-48):
| 区域 | 槽位数 | 坐标 | 槽位类 | 源码 |
|---|---|---|---|---|
| 3×3 输入矩阵 | 9 | x=16+18*j, y=42+23*i |
Slot |
:30 |
| 功能槽 A | 1 | x=95, y=33 |
FilteredSlot |
:34 |
| 功能槽 B | 1 | x=113, y=33 |
FilteredSlot |
:35 |
| 输出槽 | 1 | x=160, y=64 |
FilteredSlot |
:36 |
| 玩家背包 | 27 | x=16+18*j, y=151+18*i |
Slot |
:44 |
| 玩家快捷栏 | 9 | x=16+18*i, y=209 |
Slot |
:48 |
三个功能槽(:34-36)都使用 FilteredSlot——带物品过滤,对应界面上右侧的三个小图标按钮。
容器总大小为 12(TileArcanePackager.getSizeInventory() 返回 12),与 ItemStack[12] 内部数组一致(TileArcanePackager.java:30、:235-237)。
界面绘制
| 元素 | 绘制坐标 | 贴图 UV | 源码 |
|---|---|---|---|
| 进度条 | (89, 67) |
(210, 0),宽 tile.progress,高 9 |
:55 |
| 功能按钮 1 | (91, 97) |
(249, 10) 8×8 |
:59 |
| 功能按钮 2 | (91, 110) |
(249, 10) 8×8 |
:63 |
| 功能按钮 3 | (91, 123) |
(249, 10) 8×8 |
:67 |
| 背景 | 居中 | (0, 0) |
:78-80 |
进度条宽度由 TileEntity 的 progress 字段驱动,实现动态进度显示。
交互
| 触发 | 行为 |
|---|---|
| 右键方块 | 打开界面 |
| 输入红石信号 | TileArcanePackager.updateRedstone(...) 切换工作状态(BlockStoneMachine.java:236) |
| 破坏方块 | 12 格内容按随机偏移散落(BlockStoneMachine.java:159-176) |
相关条目
- 方块族:BlockStoneMachine - 元数据 4 即本机器
- GUI 总览 - ID 与配对关系
- 配方总览 - 产出配方