传感工具(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):

  1. 仅服务端执行(player instanceof EntityPlayerMP 判定)
  2. 调用子类 getTargetCoordinates(world, x, y, z, stack) 取得目标坐标
  3. 取得非 null 坐标时,用 getItemStackByDamage(stack.getItemDamage()) 生成对应卡片
  4. 把坐标写入卡片的 NBT(setCoordinates,ItemSensorKitBase.java:33-37)
  5. 直接替换玩家主手物品为该卡片(player.inventory.mainInventory[player.inventory.currentItem] = sensorLocationCard)
  6. 聊天栏提示 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

相关条目