Minecraft Legacies的发展始于两个基础系统:一个动态光源模组和一个基于.dll文件的自定义模组加载器。动态光源系统被实现为一个完全外部化的模組,旨在模拟Minecraft原生块光传播的行为,使用使用BFS(广度优先搜索)方法和考虑实际块透明度和距离衰减来做到这一点。 这样就可以确保移动光源,如玩家的炬或在火焰中的实体,产生与固定光源相匹配的照明,从而消除了由于精心设计的快照系统造成的不一致性和闪烁,这个快照系统将游戏主线更新与渲染线程读取分离。 伴随着这个,一个基于.dll的模组 loader 设计允许在动态光源这样的特性全部存在于核心引擎之外。加载器是在运行时扫描 mods/目录,动态加载每个模组,并 exposes一个结构化 API,允许模组注册游戏循环、照明查询和块重建快照回调。这样就确保了引擎本身保持简单,而所有复杂逻辑,如发射器跟踪、光传播和状态管理,都位于模组中。 这两个系统共同建立了一个可伸缩的基础环境,既可以通过单个文件模组增加、删除或修改功能,也可以通过后续的添加和移除模组来支撑未来和不断发展的模组生态环境。 可以在我的Github仓库中找到当前repo中带模组loader和照明模组的实现 https://github.com/greenkitbluepup/MinecraftConsoles,这是最知名repo的一个 fork。 对性能的反馈将不胜感谢!
动态光效模式 + 模式加载器:使用.dll文件(即将发布重大改进)
评论 (0)