Starlight (Forge) — 全面重写并优化 Minecraft 光照引擎的模组
Starlight (Forge) 完全重写了 Minecraft 的光照引擎,可提升大型服务器的 TPS,并消除区块接缝处的暗色接缝。
Starlight (Forge) 完全重写了 Minecraft 的光照引擎,可提升大型服务器的 TPS,并消除区块接缝处的暗色接缝。
Starlight (Forge) — 全面重写并优化 Minecraft 光照引擎的模组
本文测试和撰写所基于的 Minecraft 版本:1.20.2
支持的版本范围:1.17.1 – 1.20.2
项目已归档:Starlight (Forge) 已转为非活跃状态。针对 1.20.3+、1.21 及更新版本,该模组不会再有新构建。
Starlight (Forge) 是一款 Minecraft 优化模组,完全重写了内部光照引擎。原版实现计算方块光和天空光传播的速度很慢:在有数十名玩家的服务器上,这会在大规模改动方块时导致 TPS 下降,而在单人游戏中,则会在生成地形或执行 /reload 后,在区块接缝处出现暗色接缝。Starlight 用直接绑定到区块对象本身的自有实现替换了整个系统。
光照引擎发生了哪些变化
光照传播是一系列计算:某个亮度等级的方块把数值传递给相邻方块,后者再继续向外传递,直到衰减极限为止(满强度光源为 15)。原版引擎将光照分区与区块分开保存,并通过带有大量中间结构的队列来处理它们。在这种方案下,更新常常被搁置,或者对同一个点重复计算两次。
在 Starlight 中,光照分区只与 ChunkAccess——也就是区块对象本身——一起存在。如果一个区块没有被加载,就不可能存在针对它的任何光照更新。这消除了一整类与"悬空"分区相关的 bug:带有光照数据的空区块、世界重新加载后的暗斑、接缝处未更新的天空光。同时,调度器的工作量也随之减少——引擎不再检查那些已经没有意义的状态。

在平坦世界中执行 /reload 后区块接缝处的光照——原版启动时接缝边界会出现暗色接缝,启用 Starlight 后接缝则均匀一致
启动与表现
将 jar 文件放入 mods 文件夹即可——该模组不需要额外的库模组,启动时也不会在 config/ 中创建额外文件。客户端和服务端的行为一致:首次加载时,现有世界会随着区块的加载逐步重建光照数据,因此进入旧世界后的最初几秒内,快速移动时可能会出现短暂的微卡顿。
Starlight 可以选择性安装——只装在客户端或只装在服务端。如果模组只装在服务端,那么使用原版客户端或玩家端安装了 Starlight 的客户端都可以连接。反过来同样可行:安装了 Starlight 的客户端可以正常连接到原版服务端。
总结
Starlight (Forge) 解决的是一个问题——在高负载服务器以及频繁大规模改动方块的世界中,快速而正确地计算光照。对于在中等配置下生存或建筑而言,FPS 差异几乎察觉不到,因此真正值得安装这个模组的场景是:拥有活跃红石经济的 Forge 服务器、大型模组包,或者是为了消除区块接缝处的暗色接缝。
安装
一次典型安装大约 5 分钟。流程相同,只是 Loader 和对应构建不同。
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











