传感器工具包
基本信息
| 属性 | 值 |
|---|---|
| 注册物品数 | 3 |
| 基类 | shedar.mods.ic2.nuclearcontrol.items.ItemSensorKitBase(extends Item) |
| 最大堆叠 | 1(ItemSensorKitBase.java:23) |
| 创造标签 | IC2NuclearControl.tabIC2NC |
| 注册位置 | IC2NuclearControl.registerBlocks(),IC2NuclearControl.java:162-164 |
功能
工具包是定位卡的「安装器」。它们不带数据,作用是在世界里定位目标机器并生成对应的定位卡:右键目标方块,若该方块支持对应的传感器,就产出对应卡片。
三个已注册工具包
| 注册名 | 类 | 英文显示名 |
|---|---|---|
ItemRemoteSensorKit |
ItemKitReactorSensor |
Remote Sensor Kit |
ItemEnergySensorKit |
ItemKitEnergySensor |
Energy Sensor Kit |
ItemCounterSensorKit |
ItemKitMultipleSensor |
Counter Sensor Kit |
类定义证据:ItemKitReactorSensor extends ItemSensorKitBase(items/ItemKitReactorSensor.java:20)、ItemKitEnergySensor extends ItemSensorKitBase(items/ItemKitEnergySensor.java:19)、ItemKitMultipleSensor extends ItemSensorKitBase(items/ItemKitMultipleSensor.java:22)。
注册与未本地化名对应(IC2NuclearControl.java:147-149):itemRemoteSensorKit → ItemRemoteSensorKit、itemEnergySensorKit → ItemEnergySensorKit、itemMultipleSensorKit → ItemCounterSensorKit。
数值
| 数值名 | 值 |
|---|---|
| 最大堆叠 | 1 |
| 产出方式 | 工具包所在槽位被定位卡直接覆盖(player.inventory.mainInventory[player.inventory.currentItem] = sensorLocationCard) |
| 写入 NBT 键 | x、y、z 三个整数(items/ItemSensorKitBase.java:32-37) |
| 成功提示 | 聊天消息 key SensorKit(items/ItemSensorKitBase.java:52) |
交互
| 触发 | 行为 |
|---|---|
| 右键方块(服务端) | 基类 onItemUseFirst 先取 getTargetCoordinates(items/ItemSensorKitBase.java:45),非 null 时用 getItemStackByDamage(stack.getItemDamage()) 生成卡片、写入坐标 NBT,并直接替换玩家当前槽位(items/ItemSensorKitBase.java:47-55) |
| 右键方块(客户端) | if (!isServer) return false; 直接返回,逻辑只在服务端执行(items/ItemSensorKitBase.java:43-44) |
| 目标不可监测 | getTargetCoordinates 返回 null,onItemUseFirst 返回 false,工具包保留(items/ItemSensorKitBase.java:56) |
各子类具体支持的方块类型依赖交叉模组加载情况,见 跨模组集成。