mekmi-1.1.11.jar
Curse Maven Snippet
What's new
1.1.11 Changes Since 1.1.8 - 2026-09-16
English
Fixed
- Fixed generator auto-output invoking Flux long and BigNumber endpoints through package-private provider classes. Calls now go through their public capability interfaces instead of incorrectly falling back to NeoForge's
Integer.MAX_VALUEpath. - Changed compact nuclear reactors from processing only the current fuel rod each tick to a constant-time whole-rod batch that follows the machine's grade and compression parallelism.
- When the requested tick output ends partway through the final rod, the reactor now consumes that whole rod and emits all of its remaining energy. An exact whole-rod target does not consume an extra rod.
- Fuel rods, neutron products, coolant, steam, and generated FE now use the same completed-rod count. Available inputs, product capacity, steam capacity, and exact large-number output-cache space can all cap the batch without losing resources or energy.
- Reserved enough generator-cache headroom for the final rounded-up rod, including finite values beyond
long, so the extra energy is retained instead of being clipped. - Fixed generator auto-output stopping when a present BigNumber, BigInteger, or Flux-long endpoint returned zero. It now preserves
BigNumber -> BigInteger -> Flux long -> NeoForge intpriority but continues to the next compatible endpoint until one actually transfers energy, preventing Flux from falling back to an independentInteger.MAX_VALUEpull. - Audited every recipe-processing family. MI-backed machines apply compression to item inputs, fluid inputs, item outputs, and fluid outputs at the shared Crafter boundary; hand-written special machines keep their input and output batch counts paired. No second tier/compression recipe set or duplicate generated recipe content was found.
Performance
- Removed repeated large-integer division/remainder work from the normal FE-to-EU path and cached recurring exact FE products. An underpowered request now needs at most one division.
- Added a shared-input lane scheduler: once one idle lane proves no recipe can start, later idle lanes skip the same lookup while already-active lanes continue normally.
- Limited optional-fluid candidate expansion to the machine families that require it, and cached coil profiles, tier IDs, factory slot metadata, optional upgrade resolution, compression targets, and forge-hammer recipe matches.
- Removed temporary arrays, boxed values, and transient list views from recipe-inventory hashing; empty outputs also stop before adjacent capability probes or simulated extraction transactions.
- Persisted auxiliary inventories sparsely and removed JEI diagnostics that scanned or materialized the full crafting index only to print counts.
- In the reported stress-test world, Mekmi's inclusive server-thread sample share fell from
59.52%to0.93%. Remaining dominant samples were inenderio_mekreflection-based recipe lookup and vanilla villager AI; no third-party mod was modified. - These optimizations preserve recipe identity, tier/compression parallelism, energy costs, inventories, and persisted machine state.
中文
修复
- 修复发电机自动输出无法调用由包私有实现类提供的 Flux long 与 BigNumber 端点的问题;现在统一通过公开能力接口调用,不再错误回退到 NeoForge 的
Integer.MAX_VALUE路径。 - 紧凑核反应堆不再每 tick 只处理当前一根燃料棒,改为按机器等级与压缩并行一次性计算整根燃料棒批次,计算复杂度不随棒数增长。
- 当本 tick 的目标输出只需要最后一根燃料棒的一部分时,现在会消耗完整的最后一根并输出其全部剩余能量;目标刚好等于若干整根时不会额外多吃一根。
- 燃料棒、核反应产物、冷却液、蒸汽与生成 FE 统一使用同一个“已完成整根数”结算;原料、产物空间、蒸汽空间和精确大数输出缓存均可安全限制批次,不再丢失物料或能量。
- 输出缓存为最后一根向上取整的燃料棒预留额外空间,并支持超过
long的有限值,尾根多出的能量不会被截断。 - 修复发电机自动输出在已发现的 BigNumber、BigInteger 或 Flux long 端点本次返回 0 时直接终止的问题;现在仍按
BigNumber -> BigInteger -> Flux long -> NeoForge int优先级尝试,但只有实际完成传输才停止,否则继续降级,避免 Flux 随后通过独立的 NeoForge 接口反抽并卡在Integer.MAX_VALUE。 - 扫描全部配方机器:所有 MI 配方机都在共用 Crafter 边界同步放大物品输入、流体输入、物品输出与流体输出;手写特殊机器的输入与产出批次也保持一致。未发现第二套等级/压缩运行配方或内容重复的生成配方。
性能
- 移除正常 FE/EU 消耗路径中的重复大整数除法与取余,并缓存重复请求的精确 FE 乘积;能量不足时每次请求最多执行一次除法。
- 为共享输入的虚拟产线加入统一调度:一条空闲产线确认无法启动配方后,后续空闲产线跳过相同查询,已经运行的产线仍正常推进。
- 仅在确有需要的机器家族扩展可选流体候选配方,并缓存线圈档案、等级 ID、工厂槽位元数据、可选升级解析、压缩升级目标与锻锤配方匹配结果。
- 移除配方库存哈希中的临时数组、装箱值和临时列表视图;空输出也会在查询相邻能力或创建模拟提取事务前直接返回。
- 辅助库存改为稀疏持久化,并移除仅为打印数量而扫描或物化完整工作台配方索引的 JEI 诊断逻辑。
- 在反馈所用的压力测试存档中,Mekmi 在服务端线程调用栈中的采样占比从
59.52%降至0.93%。剩余主要热点位于enderio_mek的反射配方查询和原版村民 AI,本次未修改第三方模组。 - 上述优化不改变配方定义、等级/压缩并行、能量消耗、机器库存或持久化状态。
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

