介绍
Radium (Re-Reforged) — 为 Forge 1.20.1 维护的 Radium 分支。
Radium 是 锂 的 Forge 移植版;锂是 CaffeineMC 开发的通用优化模组。它能提升服务端刻性能,同时不会改变原版行为、玩法或世界生成。
创建此分支是因为上游开发已趋于停滞。它沿用相同的模组 ID,可直接替换原版。
与上游版本的区别
已修复 — 复制 NBT 复合标签时发生 NullPointerException
NbtCompoundMixin 可能会导致 fastutil 映射的内部列表为空,因此任何对 CompoundTag 执行深度复制或深度遍历的模组都会崩溃。已知的变通方法是设置 mixin.alloc.nbt=false,但这意味着完全放弃该项优化。现在会提前填充映射,因此可以继续启用此选项。
上游问题:Reforged-Hub/radium-upstream#52(上游仍未解决)。
已修复 — 实体状态变更期间发生 ConcurrentModificationException
区块分区的实体追踪状态变更时触发的回调,可能会在遍历过程中移除实体并中断迭代。现在会遍历该分区实体列表的副本。
配置:mixin.chunk.entity_status_iteration
新增 — 为挤压检测缓存可推动状态
挤压检测的计算量呈平方级增长:分区中的每个实体都会询问其他所有实体是否可被推动,而答案只取决于被询问的实体。现在每个实体每刻只需计算一次,将 N*N 次调用降至 N 次。
这对模组化服务器尤其重要。在原版中,isPushable() 的逻辑很简单,但它会调用 isClimbing() —— 后者是热门的 Mixin 目标。对模组化服务器进行性能分析后发现,Botania 在该方法上挂钩以查询 Curios 槽位,每次调用都会遍历能力分发器:仅挤压检测就占用了服务器线程约 0.6% 的时间,Pehkui 还额外添加了自己的挂钩。
最多会产生一刻的状态延迟——如果实体在一刻进行到一半时死亡,它仍会保持可推动状态,直到该刻结束。
配置:mixin.entity.collisions.pushable_cache
已移植 — 上游 Radium 尚未引入的优化
移植自 CaffeineMC 的 Lithium 1.20.1 分支:
mixin.ai.useless_sensors— 跳过结果从未被读取的大脑传感器(山羊物品传感器;非幼年动物的亲代动物传感器)mixin.block.beehive— 蜂箱会先检查是否受阻,再执行原本每次尝试离开时都会进行的高开销 NBT 复制mixin.entity.sprinting_particles— 跳过服务端的疾跑粒子处理
除了一项实验性选项 experimental.entity.block_caching.fluid_pushing 外,此分支现已与 Lithium 1.20.1 功能一致。该选项以 Fabric 的 updateMovementInFluid 方法中的流体标签参数作为缓存键,而 Forge 将此方法替换成了无参数版本,因此没有可用作缓存键的参数。相关功能已由 mixin.entity.collisions.fluid 覆盖。
兼容性
- Minecraft 1.20.1,Forge
- 模组 ID 为
radium— 请勿与原版同时安装 - 每项优化都有独立的配置开关,详见
lithium-mixin-config.md - Aperture Innovations:安装该模组时,
mixin.entity.collisions.movement会自动关闭——启用此选项后,玩家将无法进入其传送门。你无需手动修改配置。
更多优化
欢迎看看我的其他模组:JEIOptimizer
鸣谢与许可
锂 作者:CaffeineMC。Forge 移植版由 dima_dencep 和 NanoLive 制作。采用 LGPL-3.0-only 许可证。
常见问题
Radium Re-Reforged 支持哪些 Minecraft 版本?
Radium Re-Reforged 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
Radium Re-Reforged 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
big_energy 的其他作品
查看全部 →Glassential Renewed
各种类型的玻璃,助你建造。已更新至新版MC。
WorldBorder (dimensional)
按维度管理世界边界,而非按世界管理!(已更新至新版本)
ItemBlocker
用于拦截物品的服务器模组
Torch Slabs Renewed
允许将火把和灯笼放置在半砖的顶部或侧面。
评论
登录后评论和评分