概述
服务端实测 bug 修复版本(SemVer PATCH)。修复 v2.0.3 上线后服务端实测发现的 5 个独立问题:蜂箱速度升级卸载后工作时间不可逆递减、概率产物被错误地变为必产物、时间流体蜜脾错误产出蜂蜜、蜜蜂属性 tooltip 翻译与整合包不一致、蜂箱产物在离心机阻塞时被困缓冲区。所有修复均经过代码审查与编译验证。
修复
- 蜂箱速度升级不可逆递减(CRITICAL):安装 MEK 速度升级后蜜蜂工作时间从 1200 tick 暴跌到 27 tick,再装降到 7 tick,卸载后仍保持 7 tick 无法恢复。根因是调整后的时间被写回基础值字段形成指数衰减并通过 NBT 持久化。分离
baseMinOccupationTicks与minOccupationTicks字段职责,调整值永不回写基础值,老存档自动迁移 - 概率产物变必产物(CRITICAL):机械蜂箱中的幽匿蜜蜂每次产出必出 10 个花粉球,而非 PB 原版的 5% 概率。根因是
BeeInfoHelper.getBeeProduce使用chancedOutput.max()完全忽略chance字段。新增BeeProduceBatchSampler统一执行概率采样,单次走 Bernoulli、批量走 Binomial+CLT,与离心机路径算法一致 - 时间流体蜜脾错误产出蜂蜜(MAJOR):JDT 时间流体蜜脾在机械蜂箱中产出蜂蜜,但 PB 原版该蜜脾应产出时间流体。根因是
BeeProduceProcessor硬编码 250mB 蜂蜜无条件注入所有蜜蜂。新增BeeFluidOutputResolver从离心配方推断流体类型,非蜂蜜流体蜜蜂不注入蜂蜜 - 蜜蜂属性 tooltip 翻译不一致(MEDIUM):蜜蜂属性 tooltip(产量、天气适应性、昼夜习性等)翻译与整合包宁纳汉化不一致。修正 14 处翻译,如"日行"→"昼行性"、"被动"→"友好"、"极高"→"很高"等
- 蜂箱产物被困缓冲区(MAJOR):蜂箱紧挨离心机且离心机输出槽阻塞时,蜂箱产物被困缓冲区无法弹出,即使开启 MEK 弹出开关也无效。组合修复:缓冲区直接转移绕过两跳路径、成功转移后重置退避、连续 20 tick 阻塞时 fallback 到 MEK Ejector、AE 协同优先通过 AE 网络推送
性能优化
- ApiaryOutputBuffer 独立预扫描数组:
tryRedistributeToExternalSlots与tickRedistribute共享预扫描数组,但离心机输入槽(19)与蜂箱输出槽(9)数量不同,导致每 tick 反复扩容 6 个数组。为外部槽位分发独立数组,零扩容,降低 256× 加速场景的 GC 压力
前置依赖
| 模组 | 版本 |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.214+ |
| Productive Bees | 1.21.1-13.13.5+ |
| Mekanism | 1.21.1-10.7.14.79+ |
完整变更记录请查看 CHANGELOG。