![[JEI] 机械动力航空学燃料标签](https://cdn8.newbeebox.com/nbbnext/2026/08/14/835b8d7bf86ab4652ac3bd68c801e065.png)
[JEI] 机械动力航空学燃料标签
向便携式发动机接受的所有燃料(液体和固体)添加到一个新的JEI标签页中。
查看大图便携式引擎燃料(JEI)
所有便携式引擎可接受的燃料,以及每种燃料实际燃烧时长——集中在一个 JEI 标签页中。
机械动力:航空学的便携式引擎很乐意消耗煤炭、烈焰蛋糕、柴油、植物油或熔岩,但不会告诉你其中哪种值得放入。这个模组在 JEI 中添加了一个 便携式引擎燃料 标签页,列出所有被接受的燃料,按排序展示,并显示引擎实际会提供的燃烧时间。
在 JEI 中点击任意便携式引擎即可打开它。

内容一览
- 一个标签页,涵盖所有燃料。 液体燃料和物品燃料并排显示在同一列表中,而不是分散在熔炉燃料类别中或无处可寻。
- 从优到劣排序。 先列出液体,然后是物品,各按燃烧时间降序排列。“我该用哪种燃料”这个问题通过往下读页面即可回答。
- 真实的燃烧时间。 不是数据映射中写的数字——而是引擎实际遵循的数字。见下文;两者并不总是一致。
- 合理的单位。 液体按每桶显示,因为引擎的储罐恰好容纳一桶并会整桶消耗。物品按每个显示。
- 两种形式的时间。
20:00 每桶(24000 刻)—— 分钟和秒用于规划,刻用于比较。 - 过热燃料特别标注。 使引擎过热运行的燃料会有自己单独标注的行,让你一眼看出哪些燃料能让引擎生成速度翻倍。
- 所有十六种染色引擎均为催化剂。 无论你手持哪种颜色的引擎,都会打开同一个标签页。
- 没有硬编码。 列表是在运行时从实时数据映射构建的。重新调整你的燃料,或安装为你调整燃料的整合包,标签页会随之更新。
/reload后更新。 修改燃料数值,重载,重新打开标签页——新数字就在那里,无需重启。- 可在专用服务器上运行。 这是最困难的部分,且已处理妥当;见下文 多人游戏 章节。
- 优雅的失败机制。 没有安装液体燃料模组?标签页仅列出物品燃料。加入没有此模组的服务器?你仍能连接,并且仍能看到标签页中的物品燃料部分。
为什么燃烧时间与数据映射不同
液体燃料支持并不会按数据映射条目中写入的 burn_time 燃烧流体。它会先将该值转换为每千分之一桶的刻数(使用整数除法),然后燃烧整桶的量:
ticksPerMb = max(1, burn_time / 1000)
burnTime = 1000 * ticksPerMb
任何不是 1000 整数倍的 burn_time 都会静默丢失其余数:
定义的 burn_time |
实际燃烧时长 | 损失 |
|---|---|---|
| 24000 | 24000 | — |
| 26400 | 26000 | 400 刻 |
| 9600 | 9000 | 600 刻 |
| 4800 | 4000 | 800 刻 |
一个仅仅打印配置值的标签页会告诉你燃料比实际情况好最多 17%,并且会错误地对两种燃料进行排序。本模组则复现了引擎自身的运算逻辑,并且该运算逻辑由单元测试覆盖。
过热燃料
某些燃料会使引擎 过热 运行,令其生成速度翻倍。标签页会在单独的行中标记这些燃料。
值得了解的是:过热改变的是引擎的 输出,而不是燃料的 持续时间。过热燃料不会燃烧更久——而是在相同时间内做两倍的工作。燃料按燃烧时间排序,因此在假设列表顶部是您建筑的最佳选择之前,请检查过热标记。
数据来源
| 燃料类型 | 燃烧时间读取自 | 过热条件 |
|---|---|---|
| 液体 | engine_fuel 和 super_engine_fuel 流体数据映射,其中 super_engine_fuel 优先 |
条目来自 super_engine_fuel |
| 物品 | 物品的熔炼燃烧时间——引擎自身燃料槽检查的同一数值 | 机械动力的过热烈焰燃烧器燃料数据映射中有它的条目 |
这些正是引擎决定如何处理你喂给它的东西时所读取的精确数据源,这就是为什么标签页不可能与游戏脱节。
标签页反映但不重复的两项行为:物品燃料优先于液体燃料,并且只要储罐中持有任何流体,就无法插入物品。
多人游戏
在客户端和服务器上都安装此 jar 文件。
燃烧时间存储在不会同步到客户端的数据映射中。在单人游戏中这不会引起注意,因为客户端与内置服务器共享相同的注册表。在专用服务器上,客户端确实无法读取它们,任何试图仅靠客户端构建此标签页的模组都会显示一个空分类。
因此,服务器会构建燃料表,并在每位玩家登录时发送给他们,并且在数据包重载时再次发送。客户端会缓存它并交给 JEI。
同步数据包被注册为可选的,这意味着携带此模组的客户端永远不会被缺乏它的服务器拒绝——你只是获得物品燃料,这不需要服务器支持。
需求
- Minecraft 1.21.1,NeoForge 21.1+
- 机械动力(Create) — 必需
- Create Simulated — 必需;随 Create: Aeronautics 一起提供,并且拥有便携式引擎本身
- JEI — 在加载意义上为可选,但没有它就没有标签页
- Create Aeronautics: Portable Engine Liquid Fuel(作者 XenraO)— 可选;提供此模组读取其数据映射的液体燃料支持。没有它,标签页仅列出物品燃料
客户端和服务器端均需安装。没有配置文件,没有命令,没有按键绑定——安装后标签页就在那里。
致谢
便携式引擎的液体燃料支持是 XenraO 在 Create Aeronautics: Portable Engine Liquid Fuel 中的工作成果。此模组本身完全不添加任何燃料行为——它读取该模组和机械动力已定义的内容,并将其展示给你。便携式引擎来自 Create Simulated,是 Create: Aeronautics 的一部分。
以 MIT 许可证发布。源代码和问题请在 GitHub 上查看。
最初为一个私人机械动力战舰整合包编写,彼时一眼区分柴油和杂酚油相当重要。它没有整合包特定的行为,可在便携式引擎存在的任何地方使用。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。