优雅地游玩 Minecraft
20220704: 文章中的某些建议可能已经过时,需注意。
适用于 Minecraft Java Edition 和 Windows 平台。其他平台大同小异。
Why
原版 Minecraft 启动器自带的 JRE 版本较旧。性能相对落后。
近几个版本的 Minecraft 优化十分糟糕。
原版启动器直接将 JRE 安装在当前系统,对于需要多版本 Java 的用户或开发者非常不友好,且无法实现便携化。
Principle
使用新版 OpenJDK、OpenJFX,启动器选用 HMCL,附加 Sodium 优化 Mod,写个“胶水”批处理将这些东西黏起来,再写个简单程序来隐藏 CMD 窗口,给快捷方式提供图标。
How
下载本人提供的模板:
找个位置解压,然后补齐各个组件:
Adoptium OpenJDK:选择
Java 17 - Win64 - JRE - zip
,解压到./jre
。(TUNA?)OpenJFX:选择
JavaFX 11 - Win64 - SDK
,解压到./jfx
。HMCL:选择
.jar
的构建,重命名为hmcl.jar
后置于./
。Sodium:置于
./.minecraft/mods
。
运行 Minecraft.exe
,点击左侧栏“下载”,选择最新的稳定版本,同时选择安装 Fabric。安装完成后启动即可。
也许可以尝试 AZUL Builds ?
Misc
更新日志(点击展开)
20220117
- 修改背景图,适配新版 HMCL。
20200802
- 首个版本。
杂七杂八(点击展开)
OpenJ9 相对默认 Hotspot JVM 占用的内存更少。若你在使用时出现帧数下降等问题,可尝试换回 Hotspot 建议内存充足的用户不要使用 OpenJ9。
将 HMCL 设置为“游戏启动后结束启动器”,可以省下一些内存。
如果可能,尽量启用垂直同步。至于 Minecraft 内部的设置优化,请自行参考 MCBBS 或其他论坛里头的优化教程。
若要追求极致的启动速度(跳过启动器),可以使用 HMCL 中的“生成启动脚本”功能,然后将脚本命名为 launch.bat
,原有的同名文件改个别的名字备用(将失去便携化功能,可以自行修改批处理中的路径来恢复便携化)。
模板中 Minecraft.exe
的源码(使用 tcc
编译):
#include <windows.h>
int main() {
ShellExecute(NULL, NULL, "launch.bat", NULL, NULL, SW_HIDE);
SetFocus(FindWindow("Shell_TrayWnd", NULL)); // Ensure HMCL's window on top
}
如遇报毒请自行抉择。
其他源码可以在模板中获取。