promotional bannermobile promotional banner

Mekanism‘s Modern Industrialization

Mekanism‘s Modern Industrialization
Back to Files

mekmi-1.1.11.jar

File namemekmi-1.1.11.jar
Uploader
gugugaga233gugugaga233
Uploaded
Sep 16, 2026
Downloads
33
Size
7.1 MB
Mod Loaders
NeoForge
File ID
8896061
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:mekanisms-modern-industrialization-1666205:8896061"

Learn more about Curse Maven

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_VALUE path.
  • 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 int priority but continues to the next compatible endpoint until one actually transfers energy, preventing Flux from falling back to an independent Integer.MAX_VALUE pull.
  • 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% to 0.93%. Remaining dominant samples were in enderio_mek reflection-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,本次未修改第三方模组。
  • 上述优化不改变配方定义、等级/压缩并行、能量消耗、机器库存或持久化状态。

This mod has no additional files