卡片(Card)

基本信息

本模组共注册 9 张卡片类物品(IC2NuclearControl.java:159,166-173),全部继承 ItemCardBase(items/ItemCardBase.java:19),实现 API 接口 IPanelDataSource。卡片插入信息屏槽 0 后,面板按 getStringData 返回的内容逐行渲染。

注册名 未本地化名 类 中文名 配方
ItemSensorLocationCard ItemSensorLocationCard ItemCardReactorSensorLocation 反应堆传感定位卡片(zh_CN.lang:11) 有
ItemEnergySensorLocationCard ItemEnergySensorLocationCard ItemCardEnergySensorLocation 电力传感定位卡片(zh_CN.lang:12) 有
ItemMultipleSensorLocationCard ItemMultipleSensorLocationCard ItemCardMultipleSensorLocation 计数传感定位卡片(zh_CN.lang:13) 有
ItemEnergyArrayLocationCard ItemEnergyArrayLocationCard ItemCardEnergyArrayLocation 电力阵列定位卡片(zh_CN.lang:15) 无
ItemLiquidArrayLocationCard ItemLiquidArrayLocationCard ItemCardLiquidArrayLocation 流体阵列定位卡片(zh_CN.lang:23) 无
Item55ReactorCard Item55ReactorCard ItemCard55Reactor 流体反应堆传感定位卡片(zh_CN.lang:24) 有
ItemTextCard ItemTextCard ItemCardText 文本卡片(zh_CN.lang:20) 有
ItemTimeCard ItemTimeCard ItemTimeCard 时间卡片(zh_CN.lang:19) 有
ItemPanelMemoryCard ItemPanelMemoryCard ItemPanelMemoryCard 面板记忆卡(zh_CN.lang 无对应条目) 无

「配方」列为「无」的项目,经 grep -c 在 recipes/RecipesNew.java、recipes/RecipesOld.java、crossmod/gregtech/GregtechRecipes.java 三个文件中检索,均为 0 命中 —— 即三套配方组都没有为其注册获取途径,只能通过 NEI 刷取或 /give。

功能

ItemCardBase 定义了卡片的统一契约(ItemCardBase.java:19-58):

方法 作用
update(TileEntity panel, ICardWrapper card, int range) 面板侧更新数据
update(World world, ICardWrapper card, int range) 远程(其他维度)更新数据
getCardType() 返回卡片 UUID 类型标识
getStringData(DisplaySettingHelper, ICardWrapper, boolean) 返回要渲染的文本行
getSettingsList() 返回该卡片支持的显示设置项

isDamageable() 被覆写为返回 false(ItemCardBase.java:30),即卡片不会损坏。

数值:卡片状态

update 系列方法返回 CardState 枚举(api/CardState.java:11-36),面板据此决定是否调用 getStringData:

常量 index 含义
OK 1 数据齐备,可以显示
NO_TARGET 2 目标方块不存在或类型不合法
OUT_OF_RANGE 3 目标超出范围
INVALID_CARD 4 卡片缺少必需字段(注释提示可能由 NEI 生成)
CUSTOM_ERROR 5 预留

仅 OK 与 CUSTOM_ERROR 会调用 getStringData(CardState.java:5-7),其余显示标准错误消息。fromInteger 可由存档中的整数值反查枚举(CardState.java:48-61)。

合成配方

6 张卡片由 IC2 电子电路无序合成(RecipesNew.java:218-229):

产物 输入
反应堆传感定位卡片 IC2 electronicCircuit
流体反应堆传感定位卡片 IC2 electronicCircuit
电力传感定位卡片 IC2 electronicCircuit
文本卡片 IC2 electronicCircuit
时间卡片 IC2 electronicCircuit
计数传感定位卡片 IC2 electronicCircuit

文本卡片另有有序配方(RecipesNew.java:193-196):

 C 
PFP
 C 
字符 物品
P Items.paper(纸)
C circuitBasic(基础电路)
F IC2 insulatedTinCableItem(绝缘锡电缆)

时间卡片另有有序配方(RecipesNew.java:198-201):

 C 
PWP
 C 
字符 物品
C Items.clock(时钟)
P Items.paper(纸)
W IC2 insulatedTinCableItem

面板记忆卡

ItemPanelMemoryCard(items/ItemPanelMemoryCard.java:21)是一张配置复制卡,不是数据卡:它用 addInformation(ItemPanelMemoryCard.java:32)显示所存信息,用 onItemUseFirst(ItemPanelMemoryCard.java:52)把记忆卡与信息屏之间来回读写。它不继承 ItemCardBase,因此不是 IPanelDataSource,无法直接插入面板渲染数据。

相关条目