燃料与燃料源
引擎系统有两套完全分开的燃料体系——流体燃烧室用纯 datapack 燃料,蒸汽动力室用纯原版燃料。两套互不交叉。
| 流体引擎(燃烧室) | 蒸汽引擎(动力室) | |
|---|---|---|
| 燃料来源 | datapack engine_fuel/*.json |
纯原版——桶物品熔炉燃烧时长 + 固体物品 burnTime |
| 添加方式 | 写 datapack JSON,/reload |
按原版熔炉燃料规则(熔岩桶、煤炭等) |
| 源存储 | 任意含该流体的储罐(如快速装填流体储罐) | 水源罐 + 流体燃料罐 和/或 快速装填燃料箱(固体) |
流体燃烧室燃料(datapack)
流体室燃料位于 data/<命名空间>/engine_fuel/*.json,/reload 热加载:
| 字段 | 含义 |
|---|---|
fluid |
要烧的流体 id |
consumption |
mb/s/室(默认 1.0) |
heat |
温度模型发热倍率 |
stress |
8192 SU 基础应力倍率 |
- 无 priority 字段——多个燃料可用时,controller 按源列表查找顺序选第一个(引擎扫邻居储罐的顺序)。旧数据包 priority 字段忽略不读。
- 无温度字段——过热 220°C / 过冷 100°C / 经济目标 155°C 全部引擎固定。
- 全引擎单燃料制(按源列表查找顺序选一种,不混烧)。
蒸汽引擎燃料(纯原版)
无需 datapack——按原版熔炉规则:
- 流体燃料:任意原版熔炉燃烧时长 > 0 的桶物品(如熔岩桶 = 20000 tick)。添加方式 = 按原版给桶物品设置熔炉燃料(与熔炉共享同一套燃料注册)。
- 固体燃料:任意原版
burnTime > 0的物品(煤炭 = 1600 tick 等),放入引擎旁的快速装填燃料箱,由 controller 自动抽取。 - 流体燃料优先;流体不可用才抽固体燃料。
快速装填流体储罐 {#quick-fill-fluid-tank}

快速装填流体储罐(ccpe:quick_fill_fluid_tank)是 6 向贴附式方块,4000mb 单槽流体存储:
- 手持流体容器右键 → 将流体存入罐内。
- 手持空桶右键 → 从罐装满 1 桶。
- Goggle tooltip 同 Create 流体储罐。
- 暴露流体能力——引擎直接从这里 drain 水/流体燃料。
快速装填燃料箱 {#quick-fill-fuel-vault}

快速装填燃料箱(ccpe:quick_fill_fuel_vault)是 6 向贴附式台阶状方块,单物品类型库存(容量 1024 = 16 组 × 64),无 GUI:
- 手持物品右键 → 整组存入(整个燃料箱只能存一种物品)。
- 空手蹲下右键 → 取出一组(该物品最大堆叠数,不足取全部)。
- 存取成功播放开盖动画(短暂后自动关闭)。
- 挖掘方块内容物掉包。
- 暴露物品能力——蒸汽引擎自动从这里抽固体燃料(并行燃烧,每次 N×K 个,箱不足切下一箱)。
批量补料(引擎如何抽取)
引擎严格零流体缓存——每次通过 capability 从源存储抽入一个小储备:
- 批次 = 引擎数量 × K,K = 可配置批次倍数(
engineSourceBatchMultiplier,默认 1.0,范围 0.25~64;进游戏时缓存一次)。 - 从源列表头抽;头罐/头箱空、被拆或内容不对 → 同 tick 即时切下一个(零停机)。
- 储备耗尽同 tick 内立即补料,应力网络不闪断。