信息屏体系
基本信息
| 属性 |
值 |
| 方块 |
全部为主方块 IC2NuclearControl:blockNuclearControlMain 的不同 metadata |
| metadata 4 |
工业信息屏(DAMAGE_INFO_PANEL) |
| metadata 5 |
工业信息屏扩展(DAMAGE_INFO_PANEL_EXTENDER) |
| metadata 9 |
高级工业信息屏(DAMAGE_ADVANCED_PANEL) |
| metadata 10 |
高级工业信息屏扩展(DAMAGE_ADVANCED_EXTENDER) |
| 常量来源 |
utils/BlockDamages.java:11-12,16-17 |
| 中文名 |
zh_CN.lang:39-40,41-42 |
| 需依附方块 |
全部否(InfoPanel.java:54-56、InfoPanelExtender.java:33-35、AdvancedInfoPanel.java:44-46、AdvancedInfoPanelExtender.java:42-44) |
功能
信息屏是本模组的核心输出设备:把插入的传感卡片数据渲染成屏幕上的一行行文字。整套体系由「面板(Panel)+ 扩展(Extender)」两类方块构成。
- 面板(metadata 4 / 9):自带屏幕,插入卡片,渲染数据
- 扩展(metadata 5 / 10):无屏幕(
hasGui() 返回 false),仅作为面板的延伸部分扩大显示面积,必须依附在面板上并共享同一 Screen
扩展方块的 coreX/coreY/coreZ 指向所属面板;它通过 getScreen() 从核心面板取得同一个 Screen 实例(TileEntityInfoPanelExtender.java:121-123),因此面板与扩展渲染的是同一张连续画面。ScreenManager 负责在服务端维护所有已注册的屏幕(panel/ScreenManager.java:21),提供 registerInfoPanel / registerInfoPanelExtender / unregisterScreenPart / clearWorld 等生命周期方法(ScreenManager.java:165,188,206,256)。
对照表
| 属性 |
工业信息屏 (4) |
扩展 (5) |
高级工业信息屏 (9) |
高级扩展 (10) |
| TileEntity |
TileEntityInfoPanel |
TileEntityInfoPanelExtender |
TileEntityAdvancedInfoPanel |
TileEntityAdvancedInfoPanelExtender |
| TE 注册名 |
IC2NCInfoPanel |
IC2NCInfoPanelExtender |
IC2NCAdvancedInfoPanel |
IC2NCAdvancedInfoPanelExtender |
| 卡片槽位数 |
3 |
0 |
3 |
0 |
| 有 GUI |
是 |
否 |
是 |
否 |
| 屏幕 |
有 |
无(借用核心) |
有 |
无(借用核心) |
TE 注册名来自 CommonProxy.java:36-39。工业信息屏库存 3 格 —— 「卡片 + 范围升级 + 颜色/网页升级」(TileEntityInfoPanel.java:356-358),槽位常量 SLOT_CARD=0、SLOT_UPGRADE_RANGE=1、SLOT_UPGRADE_COLOR=2、SLOT_UPGRADE_WEB=2(TileEntityInfoPanel.java:64-67)。高级信息屏库存 4 格,注释为「3 cards + range/web upgrade」(TileEntityAdvancedInfoPanel.java:80-81),卡片槽 SLOT_CARD1/2/3 = 0/1/2(TileEntityAdvancedInfoPanel.java:30-32)。
数值
| 数值名 |
值 |
引用 |
| 面板定位范围 |
8 |
LOCATION_RANGE(TileEntityInfoPanel.java:67) |
| 高级屏默认厚度 |
16 |
thickness = 16(TileEntityAdvancedInfoPanel.java:83) |
| 高级屏默认着色 |
开启 |
colored = true(TileEntityAdvancedInfoPanel.java:82) |
| 可选文本颜色数 |
15 |
COLORS_HEX 数组长度(TileEntityInfoPanel.java:57-58) |
| 高级屏碰撞箱上限 |
0.98 |
厚度为 16 时的 bounds[4](AdvancedInfoPanel.java:68-70) |
| 高级屏其他厚度碰撞箱 |
thickness / 16 |
bounds[4] = Math.max(thickness, 1) / 16F(AdvancedInfoPanel.java:65-67) |
| 网络同步字段(基础面板) |
10 个 |
powered/facing/rotation/card/showLabels/colorBackground/colorText/colored/screenData/isWeb(TileEntityInfoPanel.java:360-372) |
高级信息屏特有控制
高级信息屏(metadata 9)额外实现了客户端点击事件(TileEntityAdvancedInfoPanel.java:36-46):
| 常量 |
值 |
含义 |
POWER_REDSTONE |
0 |
切换为红石供电 |
POWER_INVERTED |
1 |
切换为反转红石 |
POWER_ON |
2 |
常亮 |
POWER_OFF |
3 |
常灭 |
TRANSPARENCY_CHANGED |
6 |
透明度切换 |
ROTATE_LEFT |
7 |
画面左转 |
ROTATE_RIGHT |
8 |
画面右转 |
OFFSET_THICKNESS |
100 |
厚度偏移基数 |
OFFSET_ROTATE_HOR |
200 |
水平旋转偏移基数 |
OFFSET_ROTATE_VERT |
300 |
垂直旋转偏移基数 |
交互
| 触发 |
行为 |
| 右键面板 |
打开 GuiInfoPanel / GuiAdvancedInfoPanel(InfoPanel.java:70-76、AdvancedInfoPanel.java:77-85) |
| 右键扩展 |
无 GUI,直接返回(hasGui() 为 false) |
| 扳手 |
面板支持定向与拆除(实现 IWrenchable,TileEntityInfoPanel.java:56) |
| 红石 |
实现 IRedstoneConsumer(TileEntityInfoPanel.java:55),setPowered / getPowered(TileEntityInfoPanel.java:163,172) |
| 贴图换色 |
实现 ITextureHelper(TileEntityInfoPanel.java:55),颜色索引 I_PANEL_BACKGROUND = 6(TileEntityInfoPanel.java:60) |
合成配方
| 产物 |
形状 |
材料 |
引用 |
| 工业信息屏 (4) |
PPP / CMC / IRI |
P=paneGlassLime, C=circuitBasic, I=dyeBlack, R=dustRedstone, M=IC2 machine |
RecipesNew.java:83-86 |
| 工业信息屏扩展 (5) |
PPP / WRW / WWW |
P=paneGlassLime, R=dustRedstone, W=plankWood |
RecipesNew.java:92-94 |
| 高级工业信息屏 (9) |
PPP / 1I2 / CAC |
P=paneGlassLime, I=工业信息屏, 1=范围升级, 2=颜色升级, A=circuitAdvanced, C=IC2 carbonPlate |
RecipesNew.java:100-105 |
| 高级工业信息屏扩展 (10) |
PPP / CEC / CMC |
P=paneGlassLime, M=IC2 machine, E=信息屏扩展, C=IC2 carbonPlate |
RecipesNew.java:111-114 |
相关条目
- 卡片 — 插入面板槽 0 的数据来源
- 升级件 — 范围 / 颜色 / 网页升级
- 信息屏显示与渲染 - Screen 渲染与 HTTP 网页传感器