温度计 / 数码温度计
基本信息
| 属性 | 温度计 | 数码温度计 |
|---|---|---|
| 注册名 | ItemToolThermometer(IC2NuclearControl.java:160) |
ItemToolDigitalThermometer(IC2NuclearControl.java:161) |
| 未本地化名 | ItemToolThermometer(IC2NuclearControl.java:135) |
ItemToolDigitalThermometer(IC2NuclearControl.java:136-137) |
| 类 | items/ItemToolThermometer.java |
items/ItemToolDigitalThermometer.java |
| 继承 | net.minecraft.item.Item |
继承 ItemToolThermometer,实现 IElectricItem(ItemToolDigitalThermometer.java:19) |
| 构造参数 | 无 | (tier, ratio, transfer),实际传入 (1, 80, 80)(IC2NuclearControl.java:136) |
| 最大耐久 | 102(ItemToolThermometer.java:20) |
101(ItemToolDigitalThermometer.java:27) |
| 最大堆叠 | 1(ItemToolThermometer.java:21) |
继承 1 |
| 创造标签 | IC2NuclearControl.tabIC2NC(ItemToolThermometer.java:22) |
继承 |
| 贴图 | thermometer(ItemToolThermometer.java:23) |
thermometerDigital(ItemToolDigitalThermometer.java:28) |
| 中文名 | 温度计(zh_CN.lang:5) |
数码温度计(zh_CN.lang:6) |
功能
两者都通过右键反应堆方块读取热量并以聊天栏消息反馈。共用逻辑在 ItemToolThermometer.onItemUseFirst(ItemToolThermometer.java:28-59),仅服务端执行。
反应堆查找顺序(ItemToolThermometer.java:39-49):
NuclearHelper.getReactorAt(world, x, y, z)—— 点击处的反应堆- 找不到则查反应堆舱
getReactorChamberAt,取舱内反应堆 - 仍找不到则用
ItemCard55Reactor.getReactor以 5×5 方式解析
三者都失败时不消耗耐久、不发消息(ItemToolThermometer.java:39-50,57-58)。
数值:能量与耐久
这是两者唯一的实质差异:
| 项目 | 温度计 | 数码温度计 |
|---|---|---|
| 每次读取的「耐久」参数 | 2(canTakeDamage(itemstack, 2),ItemToolThermometer.java:33) |
2,判定时乘 50 → 100 EU |
| 判定方式 | 直接返回 true | ElectricItem.manager.discharge(..., i*50, MAX_VALUE, true, false, true) == i*50(ItemToolDigitalThermometer.java:32-35) |
| 实际扣除 | damageItem(10, player) —— 10 点耐久(ItemToolThermometer.java:64-66) |
ElectricItem.manager.use(itemstack, 50 * i, player) —— 50 EU(ItemToolDigitalThermometer.java:45-47) |
| 能否充电 | 不适用 | canProvideEnergy 返回 false(ItemToolDigitalThermometer.java:49-52) |
| 电网等级 / 比例 / 传输 | — | 1 / 80 / 80(IC2NuclearControl.java:136、ItemToolDigitalThermometer.java:23-29) |
注意:数码温度计虽然实现 IElectricItem 且 getChargedItem 返回自身(ItemToolDigitalThermometer.java:57-59),但 canProvideEnergy 为 false,意味着它不能被电池充电,每次使用直接消耗 50 EU。
数值:消息内容
| 物品 | 聊天消息格式 | 引用 |
|---|---|---|
| 温度计 | Thermo:<热量> |
ItemToolThermometer.java:60-63 |
| 数码温度计 | ThermoDigital:<热量>:<50% 阈值>:<85% 阈值> |
ItemToolDigitalThermometer.java:38-43 |
数码温度计额外给出反应堆最大热量的 50% 与 85% 两个参考值((maxHeat * 50) / 100 与 (maxHeat * 85) / 100),用于判断当前热量处于何种警戒区间。
合成配方
温度计(RecipesNew.java:116-119):
IG
GWG
GG
| 字符 | 物品 |
|---|---|
I |
plateIron(铁板) |
G |
blockGlass(玻璃) |
W |
IC2 waterCell(水单元) |
数码温度计(RecipesNew.java:122-125):
RI
ITI
IP
| 字符 | 物品 |
|---|---|
R |
itemRubber(橡胶) |
T |
温度计 |
I |
plateIron(铁板) |
P |
IC2 powerunitsmall(小型电力单位) |