传感工具(Sensor Kit)
基本信息
| 属性 | 远程传感工具 | 电力传感工具 | 计数器传感工具 |
|---|---|---|---|
| 注册名 | ItemRemoteSensorKit |
ItemEnergySensorKit |
ItemMultipleSensorKit |
| 注册引用 | IC2NuclearControl.java:162 |
IC2NuclearControl.java:163 |
IC2NuclearControl.java:164 |
| 未本地化名 | ItemRemoteSensorKit(IC2NuclearControl.java:149) |
ItemEnergySensorKit(IC2NuclearControl.java:148) |
ItemCounterSensorKit(IC2NuclearControl.java:147) |
| 类 | items/ItemKitReactorSensor.java |
items/ItemKitEnergySensor.java |
items/ItemKitMultipleSensor.java |
| 基类 | ItemSensorKitBase |
ItemSensorKitBase |
ItemSensorKitBase |
| 中文名 | 远程传感工具(zh_CN.lang:7) |
电力传感工具(zh_CN.lang:8) |
计数器传感工具(zh_CN.lang:9) |
| 变体数 | 1 | 1 | 3 |
计数器传感工具有 3 个变体(ItemKitMultipleSensor.java:24-26):
| 常量 | 值 | 中文名 | 备注 |
|---|---|---|---|
TYPE_COUNTER |
0 | 计数器传感工具(zh_CN.lang:9) |
统计 EU 累计量 |
TYPE_LIQUID |
1 | 流体传感工具(zh_CN.lang:10) |
统计流体量 |
TYPE_GENERATOR |
2 | 发电机传感工具(zh_CN.lang:21) |
统计发电量 |
三个变体在物品上有独立未本地化名(ItemKitMultipleSensor.java:41-51),但共用同一个注册名 ItemMultipleSensorKit,靠 metadata 区分。
功能
传感工具的作用是为传感定位卡片指定坐标:右键目标方块,工具会被替换成一张已经写入目标坐标的卡片,插进信息屏即可远程显示该位置数据。
通用逻辑在基类 ItemSensorKitBase.onItemUseFirst(ItemSensorKitBase.java:40-59):
- 仅服务端执行(
player instanceof EntityPlayerMP判定) - 调用子类
getTargetCoordinates(world, x, y, z, stack)取得目标坐标 - 取得非 null 坐标时,用
getItemStackByDamage(stack.getItemDamage())生成对应卡片 - 把坐标写入卡片的 NBT(
setCoordinates,ItemSensorKitBase.java:33-37) - 直接替换玩家主手物品为该卡片(
player.inventory.mainInventory[player.inventory.currentItem] = sensorLocationCard) - 聊天栏提示
SensorKit(ItemSensorKitBase.java:54-56)
坐标为 null 时不消耗工具、不发消息(ItemSensorKitBase.java:57-58)。
数值
| 数值名 | 值 | 引用 |
|---|---|---|
| 消息文本 | SensorKit |
ItemSensorKitBase.java:55 |
| 卡片 NBT 字段 | x / y / z(均为 int) |
ItemSensorKitBase.java:33-37 |
| 计数器工具变体数 | 3 | ItemKitMultipleSensor.java:24-26 |
合成配方
远程传感工具(RecipesNew.java:127-130):
DF
PW
| 字符 | 物品 |
|---|---|
D |
数码温度计(带通配符 StackUtil.copyWithWildCard) |
P |
Items.paper(纸) |
F |
IC2 frequencyTransmitter(频率发射器) |
W |
dyeYellow(黄色染料) |
电力传感工具(RecipesNew.java:132-135):
RF
PO
| 字符 | 物品 |
|---|---|
R |
dustRedstone(红石粉) |
F |
IC2 frequencyTransmitter |
O |
dyeRed(红色染料) |
P |
Items.paper |
计数器传感工具(3 个变体,RecipesNew.java:183-191,203-206):
| 变体 | 形状 | 材料 |
|---|---|---|
计数器 TYPE_COUNTER |
CF / PR |
C=circuitBasic, F=IC2 frequencyTransmitter, P=Items.paper, R=dyeOrange |
流体 TYPE_LIQUID |
CF / PB |
C=Items.bucket(桶), F=IC2 frequencyTransmitter, P=Items.paper, B=dyeBlue |
发电机 TYPE_GENERATOR |
CF / PL |
C=IC2 energyStorageUpgrade, F=IC2 frequencyTransmitter, P=Items.paper, L=dyeLightGray |