反应堆结构
基本信息
终焉反应堆(Draconic Reactor)是 Draconic Evolution 的最高级能量设施,由 1 个核心 + 4 个稳定器 + 能量喷射器组成。
| 属性 | 值 | 来源 |
|---|---|---|
| 核心方块 | draconicevolution:reactorCore |
ModBlocks.java:128, 84 |
| 稳定器方块 | draconicevolution:reactorStabilizer |
ModBlocks.java:129, 86 |
| 能量喷射器方块 | draconicevolution:reactorEnergyInjector |
ModBlocks.java:131, 87 |
| 核心 TileEntity | TileReactorCore |
CommonProxy.java:242 |
| 稳定器 TileEntity | TileReactorStabilizer |
CommonProxy.java:245 |
| 喷射器 TileEntity | TileReactorEnergyInjector |
CommonProxy.java:246 |
| 部件搜索最大距离 | 10 | TileReactorCore.java:56 |
| 稳定器数量要求 | 恰好 4 | TileReactorCore.java:326 |
三个部件方块的硬度 / 抗性均继承 BlockDE 默认值 5.0 / 10.0(BlockDE.java:17-27),材质均为 Material.iron。
功能
结构校验
TileReactorCore 在核心周围 MAXIMUM_PART_DISTANCE = 10 格内搜索部件(TileReactorCore.java:284-296):
- 搜索到的
TileReactorStabilizer必须把masterLocation指向当前核心,否则不计入(TileReactorCore.java:315-317)。 - 计数完成后判定:
isStructureValid = stabilizersCount == 4;(TileReactorCore.java:326)——必须恰好 4 个,多于或少于都判定无效。 - 稳定器位置列表写入 NBT 的
Stabilizers标签列表(TileReactorCore.java:602-608),读回逻辑在TileReactorCore.java:628-630。
充能进度
充能进度条由 fieldCharge 与 maxFieldCharge 计算(TileReactorCore.java:119):
stabilizerRender = (float) Math.min(fieldCharge / (maxFieldCharge * 0.1D), 1D);
即进度条在达到满能量的 10% 时就显示为完全充满。
爆炸
反应堆失效会产生实体爆炸,由 ReactorExplosion / ReactorExplosionTrace 两个类实现(common/tileentities/multiblocktiles/reactor/)。爆炸威力由配置项控制:
| 配置项 | 默认值 | 范围 | 说明 |
|---|---|---|---|
EnableBigExplosion |
true |
— | 设为 false 可把反应堆爆炸削弱到「略大于一次 TNT 爆炸」 |
maxFuelStorage |
10368 | 0 – 10,000,000 | 反应堆最大燃料储存 |
EnergyOutputMultiplier |
1.0 | 0 – 1,000,000 | 能量输出倍率 |
FuelUsageMultiplier |
1.0 | 0 – 1,000,000 | 燃料消耗速度倍率 |
linearReactorFuelUsage |
true |
— | true = 线性燃料消耗公式;false = ^0.3 公式 |
配置来源:ConfigHandler.java:362-390(EnableBigExplosion 位于分类 Draconic Reactor)。
源码缺陷:
reactorFuelStorage的读取代码在ConfigHandler.java:369-375与ConfigHandler.java:388-392重复出现了两次(同一配置键maxFuelStorage、同一默认值 10368)。第二次读取会覆盖第一次,虽然两次参数完全一致因此当前无实际行为差异,但属于冗余代码。
稳定器部件
稳定器由 反应堆稳定器部件 的 5 个 meta 组装,配方见 CraftingHandler.java:124-140 起的 reactor 分组,示例(partStabFrame,CraftingHandler.java:125-133):
III
CD
III
| 字符 | 物品 |
|---|---|
I |
铁锭,物品字典 ingotIron |
C |
双足飞龙核心(ModItems.wyvernCore) |
D |
觉醒核心(ModItems.awakenedCore) |
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 部件搜索最大距离 | 10 格 | TileReactorCore.java:56 |
| 稳定器数量要求 | 4(恰好) | TileReactorCore.java:326 |
| 进度条充满阈值 | 满能量的 10% | TileReactorCore.java:119 |
| 反应堆 GUI 按钮 | reactorStart / reactorStop / reactorCharge |
button.de.* 本地化键 |
| 反应堆 NEI 处理器 | 1 个 | integration/nei/ReactorNEIHandler.java,本地化键 nei.recipe.reactor |
| 默认燃料储存 | 10368 | ConfigHandler.java:369-375 |
交互
| 触发 | 行为 |
|---|---|
| 右键反应堆核心 | 打开反应堆 GUI(ContainerReactor + GUIReactor) |
| GUI 中点击启动 / 停止 / 充能 | 对应 button.de.reactorStart / reactorStop / reactorCharge |
| 稳定器数量 ≠ 4 | isStructureValid = false,反应堆不工作 |
| 结构损坏 | 触发 ReactorExplosion 实体爆炸链 |
关闭 EnableBigExplosion |
爆炸规模降至约一次 TNT |
合成配方
反应堆全部部件的配方位于 90 条合成配方的 reactor 分组中(CraftingHandler.java:122 起的 // Reactor 注释块),使用 addOre(...) 即 ShapedOreRecipe。完整统计见 合成配方系统。
相关条目
- 多方块结构方块 - 三个反应堆部件方块的属性
- TileEntity 一览 - 三个反应堆 TileEntity 的注册行
- 配置项总览 -
Draconic Reactor分类的全部配置 - 跨模组集成 - ComputerCraft / OpenComputers 外设支持