暂无日志..
相关信息
如果遇到了无法解决的疑难杂症请在 GitHub Issues Tracker 内上传错误报告或在 Discord 频道中汇报给作者。
Cleanroom
由 CleanroomMC 团队基于 Minecraft Forge 1.12.2 制作的模组加载器分支。
Cleanroom 致力于继续维护 1.12.2 的 Forge 模组社区,类似 GTNH Team 正在做的那些事情。
Cleanroom 的开发将侧重于对 Minecraft 原版以及 Forge 进行漏洞修复与增加功能。
与 Forge 尽量减少 Patch 的理念不同,Cleanroom 不再考虑 Patch 的可读性,会随意进行覆写与重构。
项目相关
目前只能在 GitHub 中 Actions 处找到自动构建的版本。
请注意,这些 Actions 版本是未被正式发布的,开发者不会保证在使用这些版本是出现不可逆的游戏实例错误。
以及,Cleanroom 的开发周期被设置了一个较长的时间阶段,所有开发目标都被分成了三个阶段。
所有内容都被保证在兼容原版 Forge 的情况下进行,但部分修改使得无法 100% 兼容一切第三方模组,请在测试阶段使用 Fugue 来保证基本的(当前已发现的不兼容)模组兼容性。
项目目标
CleanroomMC 认为:
Mojang 的新内容已经不值得费力追随;
1.13+ 的“数据驱动”改动对游戏性能和模组开发弊大于利;
1.13+ 的游戏底层大改(Blaze3D 渲染库),使得对游戏基础的修改变得困难重重;
Mojang 仍在频繁更新开发工具、破坏性修改底层结构,大大提高了模组移植难度;
Forge 多年来歧视低版本玩家、无视模组移植难度,破坏性修改代码结构;
Forge 多年来不作为,在添加新 API 方面极度保守,以至于开发者人均使用 ASM;
Fabric 盲信 Mixin,在新 API 方面更加保守,造成社群分裂。
CleanroomMC 打算:
延续早就被社区所遗弃的 1.12.2 Forge;
使用并兼容新版 Java(Java 21 支持) 、新的前置库;
对游戏整体进行优化和修补(CleanroomMC 成员内有目前 1.12.2 Forge 大部分仍保持活跃开发优化模组的作者);
给常见模组内容开发新 API ,降低模组联动难度,并且通过新 API 引导新模组的开发;
将大部分模组生态吸引到 1.12.2 Forge,新版本有人想为了一个自动合成器便与 Mojang 唇枪舌战,那就随他去。
目前已经实现的特性有:
在 Java 21 + LWJGL3 下运行游戏;
内置输入法支持(类似 1.13+);
支持多语言排版(即 WrapFix)。
未来计划移植高版本标签、Ticket 和世界生成等 1.13+ 特性和部分模组的前置库,详见相关链接中的路线图。
安装器下载位于 GitHub 的 Actions 页面,该页面含有多个分支的安装包,下载前请仔细检查,详细步骤请参阅教程。
Cleanroom 使用了来自 Lwjgl3ify 的 lwjglx 转换层,并且在开发中得到了其作者 eigenraven 的许多帮助。
关于兼容性
Cleanroom 内置了大量兼容 Transformer 以确保与原版 Forge 的兼容性,但仍有部分模组的错误性质特殊,不值得放在全局进行兼容。
为此,开发者开发了 Fugue,使用此模组理论上能修复所有已查清的不兼容专项。
对于 master (主)分支,CleanroomMC 将大部分实验性内容优先实现于 experimental/foundation 中。
如果希望获取到最新最热的更新内容,请前往该分支查询。
注意,实验分支中针对 Scala 运行库进行了剥离。如果需要运行 Scala 模组请安装 Scalar。
如何反馈 BUG
首先在常规 Forge 下再运行测试一次,确定问题在 Cleanroom 中才出现;
用中文则必须在 Discord 中反馈,用英文则还可使用 GitHub Issue;
必须说明复现步骤、附上各种日志、而且要留意是否与现有 Issue 重复;
开发者精力有限,不这样做可能会不予理会。
针对部分因特殊原因无法使用 Github 或 Discord 提交问题的,也可通过加入 QQ 群讨论和提交问题。
Cleanroom 1.12.2 的非官方交流 QQ 群:664266845
授权截图:
发展目标
正在制作中功能
复刻高版本命令补全功能;
CleanroomGradle(Gradle插件,开发使用);
删除 Minecraft Realms;
修复了模组内错误调用 Java 反射系统的 BUG;
Maven 分发功能;
镜像源相关处理。
高优先度计划
正确的版本控制;
修复流体注册问题;
修复 Forge 的版本更新检查;
更好的 Debug 信息;
将 ASM ClassNode 传递给转换器而不是 byte[];
升级/移除 com.mojang 软件包;
扩展 CoreMod 开发内容;
中优先度计划
允许在任意加载阶段调用 Config;
.lang;
CleanroomGradle 构建过程中的 JSON 缩小以及 PNG 图片优化器;
Fluidlogged(含水方块系统);
吞并优化模组并且保持兼容性;
移除 Scala 开发前置;
热重载注册项;
更多 API 以及 Helper;
更多配置文件格式:toml、json;
检查某些绕过伤害事件的模组;
将一些调整类模组功能实现在加载器中;
支持自由视角(倾斜视角);
命令历史;
方块高亮/预览;
整合全部的指引书 API;
更好的控制模组(按键冲突)。
长期计划
扁平化(内置 JEID);
集中化破坏性更新于加载器中;
优化 OpenGL 代码以及使用更新的 GL 版本;
优化;
Jar-In-Jar(内置模组);
低代码;
复刻高版本更高的世界以及更 3D 化的世界生成;
多线程;
吞并修复类模组(例如 CensoredASM、Universal Tweaks、Random Patches);
Mod API 集中化(该 plan item 的内容很多,包含近百的模组 API,请自行查阅);
向后兼容性的标签系统;
Blackbox(CRMC 开发中的一款渲染库)内置;
移植 World Edit(扁平化实现后);
彩色光照、着色器、Canvas 移植;
分离加载区块;
更多模型格式;
远平面2;
更好的传送门;
更多的实体 API;
Vulkan 移植;
游戏内文件管理器;
OpenGL 包装;
JAOPCA 系统内置;
开发团队
目前该项目仅有一名常驻开发者和两名临时开发者,极度缺乏人手。
如有开发、测试、API 讨论、下载的意愿请加入 Discord。