远程温度监控器
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | IC2NuclearControl:blockNuclearControlMain,metadata 3 |
| 常量 | BlockDamages.DAMAGE_REMOTE_THERMO = 3(BlockDamages.java:10) |
| 子方块类 | blocks/subblocks/RemoteThermo.java |
| TileEntity | TileEntityRemoteThermo,注册名 IC2RemoteThermo(CommonProxy.java:35) |
| 父 TileEntity | TileEntityThermo —— 继承全部告警与红石逻辑(TileEntityRemoteThermo.java:35-36) |
| 实现接口 | IEnergySink、ISlotItemFilter、IRotation、IInventory(TileEntityRemoteThermo.java:35-36) |
| 中文名 | 远程温度监控器(zh_CN.lang:38) |
| 需依附方块 | 否(RemoteThermo.java:41-43) |
| 碰撞箱 | 0,0,0 → 1,1,1(RemoteThermo.java:17) |
| GUI | ContainerRemoteThermo + GuiRemoteThermo(RemoteThermo.java:57-63) |
功能
在温度监控器的基础上增加远程读取与自身供电两项能力。温度监控器只能读贴脸的反应堆;远程温度监控器通过「反应堆传感定位卡片」在一定距离外定位反应堆,并用 IC2 电力维持工作。
它实现 IEnergySink,会加入 IC2 电网(addedToEnergyNet 标记,TileEntityRemoteThermo.java:59,64)。库存共 5 格(TileEntityRemoteThermo.java:64):
| 槽位 | 常量 | 用途 |
|---|---|---|
| 0 | SLOT_CHARGER |
充电器(电池 / 任何 IElectricItem) |
| 1 | SLOT_CARD |
传感定位卡片 |
| 2–4 | — | 超频核心 ×3(OC Upgrade) |
充电与耗电逻辑在 updateEntity()(TileEntityRemoteThermo.java:176-213),仅服务端执行:
- 槽 0 中的物品若实现
IElectricItem且能供电,则按maxStorage - energy放电充入(TileEntityRemoteThermo.java:182-189) - 槽 0 若是 IC2 Su 电池(
suBattery)则直接消耗 1 个换取固定能量(TileEntityRemoteThermo.java:190-202) - 每 tick 扣除
remoteThermalMonitorEnergyConsumption,能量不足时直接归零(TileEntityRemoteThermo.java:206-211)
数值
| 数值名 | 值 | 引用 |
|---|---|---|
| 基础存储容量 | 600 | BASE_STORAGE(TileEntityRemoteThermo.java:41) |
| 每超频核心增加的存储 | 10000 | STORAGE_PER_UPGRADE(TileEntityRemoteThermo.java:42) |
| 1 个 Su 电池提供的能量 | 1000 | ENERGY_SU_BATTERY(TileEntityRemoteThermo.java:43) |
| 定位范围 | 8 | LOCATION_RANGE(TileEntityRemoteThermo.java:44) |
| 基础数据包大小 | 32.0 | BASE_PACKET_SIZE(TileEntityRemoteThermo.java:40) |
| 初始电网等级 | 1 | tier = 1(TileEntityRemoteThermo.java:66) |
| 库存格数 | 5 | new ItemStack[5](TileEntityRemoteThermo.java:64) |
| 默认耗电 | 1 EU/tick | 配置项 remoteThermalMonitorEnergyConsumption(ConfigurationHandler.java:31-32) |
交互:红石输出
与温度监控器同一段实现,但多一条前置条件:能量为 0 时不输出任何红石(BlockNuclearControlMain.java:505-512)。能量 > 0 时才按 onFire >= heatLevel 与 invertRedstone 异或输出 15。
交互:其他
| 触发 | 行为 |
|---|---|
| 放置 | 需放入传感定位卡片才能定位反应堆 |
| 破坏 | 库存 5 格内容按 BlockContainer 常规逻辑散落 |
| NBT 持久化 | 额外存储 energy(double)、rotation(int)与 5 格 Items 列表(TileEntityRemoteThermo.java:216-225) |
| 网络同步字段 | 继承 4 个(heatLevel/onFire/facing/invertRedstone)并追加 maxStorage、tier 等(TileEntityRemoteThermo.java:77-80) |
合成配方
recipes/RecipesNew.java:74-77:
IFI
IMI
ITI
| 字符 | 物品 |
|---|---|
I |
plateIron(铁板) |
M |
IC2 machine(机器) |
F |
IC2 frequencyTransmitter(频率发射器) |
T |
温度监控器(metadata 0) |