Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2668 commits
Select commit Hold shift + click to select a range
c669026
Fix #4067: 修复使用 JavaFX 25 启动时下载界面布局错位的问题 (#4069)
Glavo Jul 5, 2025
064b39d
修复添加游戏文件夹页面缺少灰色背景的问题 (#4065)
CiiLu Jul 6, 2025
8ebf58e
Fix #4072: 修复无法使用部分中文字体的问题 (#4074)
Glavo Jul 9, 2025
e4c4797
Bump HMCLauncher to 3.6.0.6 (#4086)
Glavo Jul 16, 2025
bab8632
Update versions.txt to 1.21.8 (#4085)
Glavo Jul 17, 2025
cbb83d4
修复无法使用部分日志字体的问题 (#4096)
Glavo Jul 19, 2025
f9dd7a1
修复 InstallersPage 意外地显示滚动条的问题 (#4097)
Glavo Jul 19, 2025
d60a923
使用 Java 11 构建 HMCL (#4078)
Glavo Jul 25, 2025
24d3bbf
Bump HMCLauncher to 3.7.0.0 (#4113)
Glavo Jul 25, 2025
96f68e1
不再使用反射调用 Java 9~11 中引入的 API (#4114)
Glavo Jul 25, 2025
195db2e
fix(locale): unify terminology usage of 'JVM' and 'Java' (#3690)
3gf8jv4dv Jul 25, 2025
fd13088
添加字体抗锯齿算法设置选项 (#4118)
Glavo Jul 25, 2025
fe3fc04
更换 unlisted-versions-of-minecraft 镜像源 (#4095)
zkitefly Jul 25, 2025
43b7699
使用 readAllBytes 和 transferTo 简化代码 (#4115)
Glavo Jul 26, 2025
4650287
简化 FileUtils (#4119)
Glavo Jul 26, 2025
acc96b9
修复多次启动游戏时内存泄露的问题 (#4121)
roj234 Jul 26, 2025
9aa1367
更新 unlisted-versions-of-minecraft 镜像源地址 (#4120)
8MiYile Jul 26, 2025
ffa7afc
优化 GitHub Action 工作流 (#4037)
burningtnt Jul 26, 2025
27361c6
Fix #4063: 修复游戏版本列表错误地过滤掉部分版本的问题 (#4066)
Wulian233 Jul 26, 2025
7f04cdd
在日志中记录更多系统信息 (#4126)
Glavo Jul 28, 2025
c3a3881
Added 16 characters length detection of username. (#4088)
ShulkerSakura Jul 28, 2025
86c1715
Update version check logic to support version like "26-ea" (#4128)
onion108 Jul 29, 2025
e10f1da
修复日志窗口内结束游戏进程会结束启动的所有游戏的问题 (#4130)
CiiLu Jul 29, 2025
3b17e0a
优化主页公告关闭按钮 (#4064)
CiiLu Jul 29, 2025
329b0e8
在 Windows 平台优先使用注册表探测 GPU (#4145)
Glavo Jul 30, 2025
7918b33
README 添加 CurseForge API Key 覆写参数 (#4147)
CiiLu Jul 30, 2025
3adb3a6
将代码中的 URL 替换为 URI (#4131)
Glavo Jul 30, 2025
5703377
fix(locale): restore accidentally removed translations (#4155)
3gf8jv4dv Jul 31, 2025
9bcf952
Fix #4146: 修复导入异常格式的数据包时启动器崩溃的问题 (#4152)
Glavo Jul 31, 2025
4f410fb
修复“下载线程数”的指示器被提示覆盖的问题 (#4153)
CiiLu Jul 31, 2025
7f51e03
遵循系统动画开关设置 (#4148)
Glavo Jul 31, 2025
9298fe4
支持通过环境变量强制使用 GPU 渲染和控制动画帧率 (#4164)
Glavo Jul 31, 2025
401fef5
创建 checkstyle task (#4162)
Glavo Jul 31, 2025
c84afb3
通过主页右下角弹出菜单切换版本后隐藏菜单 (#4163)
Glavo Jul 31, 2025
d5fa232
忽略 %ProgramFiles%\Common Files\Oracle\Java 中的 Java (#4142)
Glavo Jul 31, 2025
3eddfa2
优化 JsonUtils (#4161)
Glavo Jul 31, 2025
7d6f21d
Bump Gradle to 9.0.0 (#4168)
Glavo Aug 1, 2025
bcd73e6
修复下载缓存不生效的问题 (#4167)
Glavo Aug 1, 2025
a470475
模组下载列表翻页后自动回到顶部 (#4170)
CiiLu Aug 2, 2025
e042510
fix: 无法从 BMCLAPI 下载 NeoForge 所有所需文件 (#4174)
CiiLu Aug 2, 2025
2617dd3
修复无法加载 WebP 图标的问题 (#4171)
Glavo Aug 2, 2025
4ee3857
fix(locale): add missing modrinth category i18n keys (#4149)
3gf8jv4dv Aug 2, 2025
3873459
通过 x-bmclapi-hash 缓存资源 (#4169)
Glavo Aug 2, 2025
6230b43
Fix #4158 : 缺少 Microsoft OAuth App ID 时禁用微软账户的刷新选项 (#4160)
CiiLu Aug 2, 2025
9969dc6
优化 ArchiveFileTree (#4177)
Glavo Aug 2, 2025
e2df8e2
修复无法找到不包含 release 文件的 Java 的问题 (#4180)
Glavo Aug 3, 2025
74c647c
统一转义 URI 中的特殊字符 (#4181)
Glavo Aug 3, 2025
9a27c27
支持使用 data URI 作为背景图片源 (#4182)
Glavo Aug 3, 2025
b62659d
支持纯色背景 (#4184)
Glavo Aug 4, 2025
4bc6ffa
支持修改主页背景的不透明度 (#3205)
TunYuntuwuQWQ Aug 4, 2025
31c46c9
fix(locale): corrent residual jvm terms in chinese (#4188)
3gf8jv4dv Aug 4, 2025
1935a70
fix(locale): corrent some typos in zh-tw (#4189)
3gf8jv4dv Aug 4, 2025
6c5d07a
fix(#4166): 新增内存显示条禁用样式 (#4185)
OrzMiku Aug 4, 2025
5cab603
chore(locale): port font anti-aliasing option translation to es and r…
3gf8jv4dv Aug 4, 2025
eef365b
chore(locale): port background option translation to es and ru (#4194)
3gf8jv4dv Aug 4, 2025
a66ddb9
chore(locale): port character length limit translation to es and ru (…
3gf8jv4dv Aug 4, 2025
77c3ef6
修复未正确处理 EnumBackgroundImage.TRANSLUCENT 的问题 (#4195)
Glavo Aug 4, 2025
0bd2adc
Fix #4187: 修复 LWJGL 路径显示错误的问题 (#4192)
CiiLu Aug 4, 2025
a0ddaf6
GetTask 应当遵循 Content-Type 中的字符集设置 (#4183)
Glavo Aug 4, 2025
bb3d03f
修复一些代码中的 typo (#4190)
Wulian233 Aug 4, 2025
0a1d6be
优化 ModTranslations::loadFromResource (#4178)
Glavo Aug 4, 2025
77dc5db
修复整合包格式不匹配提示未被正确格式化的问题 (#4176)
CiiLu Aug 4, 2025
72ffbb4
为弹窗文本添加平滑滚动 (#4201)
CiiLu Aug 5, 2025
f945a85
Fix: 修复一些 typo (#4202)
pynickle Aug 5, 2025
3118c87
实验性支持 APNG 图片 (#4205)
Glavo Aug 6, 2025
2c6ceb3
优化 data URI 支持 (#4206)
Glavo Aug 6, 2025
95bed47
chore(locale): port and fix translation in native directory path prev…
3gf8jv4dv Aug 6, 2025
1a772e8
添加 Modrinth 整合包导出 (#3716)
zkitefly Aug 6, 2025
192c908
修复 #3716 与 main 的冲突 (#4208)
Glavo Aug 6, 2025
7ee2c51
将 `Apple M1 平台` 改为 `Apple Silicon 平台` (#4199)
CiiLu Aug 6, 2025
f95ebe2
优化 GetTask 中 ByteArrayOutputStream 的初始大小 (#4209)
Glavo Aug 6, 2025
ac4c3a7
模组管理支持搜索根据更多数据搜索内容 (#3230)
zkitefly Aug 6, 2025
7ba9d9e
智能选择 popup 弹出位置 (#4203)
pynickle Aug 7, 2025
f621776
修复 APNG Truecolour16Alpha 处理器 clone 方法返回类型错误的问题 (#4210)
Dobby233Liu Aug 7, 2025
bbc546e
创建 ByteArray 辅助类 (#4214)
Glavo Aug 7, 2025
b1d8edc
FetchTask 启用透明 GZip 压缩 (#4219)
Glavo Aug 8, 2025
3cdddfa
在实例名称中包含非字母、数字、减号和下划线字符时弹出警告 (#4222)
Glavo Aug 9, 2025
8f3c716
Fix #4127: 修改整合包下载页面描述 (#4200)
CiiLu Aug 10, 2025
be9efbe
修复版本 Wiki 映射 (#4211)
pynickle Aug 10, 2025
f521a04
Bump Shadow Plugin to 9.0.1 (#4220)
Glavo Aug 10, 2025
80f1367
Fix #4233: 修复 RemoteMod::getIntegrityCheck 未选择正确的算法的问题 (#4238)
Glavo Aug 10, 2025
9213b7f
Fix 4232: 修复初始化 CacheRepository 导致启动器崩溃的问题 (#4235)
Glavo Aug 10, 2025
7ec8808
修复部分版本 wiki 链接不正确的问题 (#4239)
pynickle Aug 10, 2025
41fd38d
导出日志时附带最近日志 (#4051)
zkitefly Aug 10, 2025
0913c5e
支持通过 MCIM 加速模组搜索 (#4225)
Glavo Aug 11, 2025
de221b9
修复非 Windows 平台上游戏进程的 user.home 可能被设置为 null 的问题 (#4241)
Glavo Aug 11, 2025
ba58905
优化游戏下载页版本分类功能 (#4141)
Glavo Aug 11, 2025
d1e006e
修复版本列表排序错误的问题 (#4244)
Wulian233 Aug 11, 2025
2f463c1
在 ./.hmcl/java 中搜索 Java (#4179)
Glavo Aug 11, 2025
b60d889
为愚人节分类添加图标 (#4249)
Wulian233 Aug 13, 2025
b575474
在未安装游戏版本时支持一键下载启动游戏 (#4248)
Glavo Aug 13, 2025
0d5d1ae
将 authlib-injector 嵌入启动器 (#4246)
Glavo Aug 13, 2025
a705b7c
Fix 3955: 启动时不应补全服务端自动更新整合包中已禁用的 mod (#3956)
zkitefly Aug 13, 2025
5118ce4
Fix #4256: 修复游戏下载页面可能崩溃的问题 (#4257)
Glavo Aug 13, 2025
6f4b557
支持最大化和全屏模式 (#4260)
Glavo Aug 14, 2025
f239140
Update amdgpu.ids (#4262)
Glavo Aug 14, 2025
10bda7e
转义 URI 中的中括号和大括号 (#4261)
Glavo Aug 14, 2025
4547448
优化游戏窗口大小选择功能 (#4234)
Glavo Aug 14, 2025
42bb602
优化游戏下载页 (#4264)
Glavo Aug 14, 2025
f6a3b76
暂时禁用 MCIM 加速 (#4265)
Glavo Aug 14, 2025
4445021
Fix #4061: 在 Windows 7/8/8.1 上使用 llvmpipe-loader 加载 mesa (#4224)
Glavo Aug 14, 2025
a4f9438
移除 Pack200 支持 (#4267)
Glavo Aug 16, 2025
13a2777
为 NeoForge 下载添加正式版/快照分类 (#4268)
Wulian233 Aug 16, 2025
7035767
修复 pending 类型的游戏版本被错误识别为愚人节版的问题 (#4273)
Glavo Aug 16, 2025
72f6c2f
修复 1.21.5 以上的地图跳转种子地图错误 (#4274)
Wulian233 Aug 18, 2025
7805508
Fix #2676: 优化版本号排序规则 (#4276)
Glavo Aug 18, 2025
9d17834
Fix #4281: 支持解析 Indev 版本号 (#4282)
Glavo Aug 18, 2025
6cf9337
基于实际屏幕分辨率添加游戏窗口分辨率选项 (#4275)
Wulian233 Aug 18, 2025
aab3b22
修复 TaskListPane 未正确处理 StagesHintTask 的问题 (#4285)
Glavo Aug 19, 2025
58c93ff
修复 Windows 平台 GPU 信息可能显示为 "[B@xxx" 的问题 (#4288)
Henryxjh Aug 19, 2025
ca20509
优化 TaskListPane (#4292)
Glavo Aug 19, 2025
0e12c1a
Fix #4290: 在 macOS 上禁止最大化和全屏模式 (#4293)
Glavo Aug 20, 2025
af56096
优化对于 IntelliJ IDEA 的支持 (#4270)
Glavo Aug 20, 2025
940d4f7
修复 TaskListPane 可能出现横向滚动条的问题 (#4297)
Glavo Aug 20, 2025
07ee786
修复 VersionIconType 成员的排列顺序 (#4298)
Glavo Aug 20, 2025
9ee55cd
修复 ModrinthModpackExportTask 名称未被翻译的问题 (#4301)
Glavo Aug 20, 2025
96f2d01
优化 TaskListPane 的显示效果 (#4306)
Glavo Aug 21, 2025
ab9eea3
fix(locale): revise mcmod-info-mirror description on thanks list (#4305)
3gf8jv4dv Aug 21, 2025
cba4ba2
删除无用的 debug 日志 (#4309)
Glavo Aug 21, 2025
c9c97a4
修复 TaskListPane 中任务总数显示错误的问题 (#4310)
Glavo Aug 21, 2025
b152e2b
fix(locale): add missing i18n when installing an instance with quilt …
3gf8jv4dv Aug 21, 2025
87a3a4e
chore(locale): add new translations for russian and spanish (#4304)
3gf8jv4dv Aug 21, 2025
e52cfb0
优化 Task.getCaller() (#4308)
Glavo Aug 21, 2025
421f9a3
支持以字符串形式序列化 VersionSetting 中的枚举成员 (#4299)
Glavo Aug 21, 2025
885e25d
更新文档 (#4328)
Glavo Aug 24, 2025
933b7ca
将 URI 中的错误代理对编码为 U+FFFD (#4329)
Glavo Aug 24, 2025
06b7b1e
Fix #4325: 修复未将 15w14a 识别为愚人节版本的问题 (#4327)
Glavo Aug 24, 2025
91a613d
HintPane 使用新版 Bootstrap 调色盘 (#4323)
CiiLu Aug 24, 2025
64cc640
增加 TaskListPane 中任务条目之间的间距 (#4340)
Glavo Aug 26, 2025
97219c9
游戏崩溃窗口中增加对拍照的提醒 (#4294)
YuChuXi Aug 26, 2025
0fdfc94
Fix: IJ support (#4343)
burningtnt Aug 26, 2025
f9ee9c8
更严格地检测文件名合法性 (#4341)
Glavo Aug 27, 2025
1ddb735
修复世界管理页面不支持显示极限模式的问题 (#4321)
Wulian233 Aug 27, 2025
73214ad
不对回环地址应用代理 (#4338)
Glavo Aug 27, 2025
d34dc82
Feature: Decompress legacy HMCL log files while exporting. (#4342)
burningtnt Aug 27, 2025
71d5495
修复 TaskListPane.StatusChangeListener 持有 ListCell 的强引用的问题 (#4347)
Glavo Aug 28, 2025
b9fd0e5
为迁移至 Java 17 做准备 (#4311)
Glavo Aug 28, 2025
5581603
启动游戏时隐藏 GameAssetDownloadTask (#4349)
Glavo Aug 29, 2025
67e4ddd
添加文言文支持 (#4348)
Glavo Aug 29, 2025
1a3b473
Fix #3076: 修复无法识别部分简体中文环境的问题 (#4350)
Glavo Aug 29, 2025
5af6858
更新文言文翻译 (#4356)
Andypsl8 Aug 29, 2025
73531db
优化文言文翻译 (#4361)
Glavo Aug 30, 2025
b7361c8
优化语言设置 (#4362)
Glavo Aug 30, 2025
d83f610
Add `I18N_uk.properties` (#4346)
BANSAFAn Aug 30, 2025
df489c0
添加乌克兰语支持 (#4363)
Glavo Aug 30, 2025
5374127
修改部分文言条目 (#4359)
Wulian233 Aug 30, 2025
82e0cd1
Fix #3669: 修复首次打开子页面时切换动画丢失的问题 (#4365)
Glavo Aug 31, 2025
30f4770
更新文言文翻译 (#4364)
Glavo Aug 31, 2025
8608503
优化自动切换游戏语言功能 (#4353)
Glavo Aug 31, 2025
28b222e
优化中文适配 (#4370)
Glavo Sep 1, 2025
10e5e7b
优化 Minecraft Wiki 跳转功能 (#4372)
Glavo Sep 1, 2025
ce24e4e
修复连续点击两次返回按钮时会最大化窗口的问题 (#4384)
Glavo Sep 3, 2025
e8813fe
feat: Cleanroom 自动安装 (#4272)
CiiLu Sep 3, 2025
16816d8
修复 Linux 平台上无法正确为安装了 Cleanroom 的游戏版本选择 Java 的问题 (#4385)
Glavo Sep 3, 2025
b38076f
Fix #4377: 修复离线账户换肤功能使用无效 CSL API 导致启动失败的问题 (#4386)
Glavo Sep 3, 2025
6ab216d
增强本地化支持 (#4379)
Glavo Sep 3, 2025
ed6c738
Update microsoft_auth.html (#4388)
Glavo Sep 3, 2025
dbfd6c7
更新文档结构 (#4389)
Glavo Sep 4, 2025
3d63523
chore(l10n): change translation from 版本 to 实例 in zh-cn for term INSTA…
3gf8jv4dv Sep 4, 2025
7576bf6
在 LocaleUtils 中添加更多工具方法 (#4390)
Glavo Sep 4, 2025
f4a8e3d
重构 Config (#4394)
Glavo Sep 5, 2025
ea0b65b
在 README 中声明对 FreeBSD 的支持 (#4395)
Glavo Sep 5, 2025
9cc45bc
将 README.md 翻译至更多语言 (#4397)
Glavo Sep 5, 2025
8cd8a38
将 README.md 移动至 docs 文件夹中 (#4398)
Glavo Sep 5, 2025
9a475c2
更新 PLATFORM.md (#4399)
Glavo Sep 5, 2025
fe59f49
优化地区判断逻辑 (#4401)
Glavo Sep 6, 2025
09c17fc
优化 checkTranslations Task (#4396)
Glavo Sep 6, 2025
4883c38
文言翻译优化 (#4387)
dovisutu Sep 6, 2025
86ad055
修复 Config 的序列化问题 (#4402)
Glavo Sep 6, 2025
5697cbd
使用 Gradle 自动更新文档内容 (#4403)
Glavo Sep 7, 2025
50080ab
修复地支中的「丑」被误写为「醜」的问题 (#4404)
Glavo Sep 7, 2025
55a7169
Fix MultiMC modpack update not applying configuration overrides (#4382)
xiaoyv404 Sep 7, 2025
c3352d2
优化游戏下载界面 (#4405)
Glavo Sep 7, 2025
68dbe69
优化语言设置中简体/繁体中文选项的显示方式 (#4410)
Glavo Sep 7, 2025
24fd2cf
Fix #4409: 修复导出的历史日志文件为空的问题 (#4411)
Glavo Sep 7, 2025
480f8b6
使用宏自动从英文文档复制部分内容 (#4406)
Glavo Sep 8, 2025
37ad445
序列化不透明的 Color 时省略 Alpha 通道的值 (#4415)
Glavo Sep 9, 2025
41e004f
删除不必要的 System.gc() 调用 (#4416)
Glavo Sep 9, 2025
8db8ade
文言时间使用古代时辰格式 (#4413)
Glavo Sep 9, 2025
3fbe199
Fix #4435: 修复 backgroundType 为 null 时启动器崩溃的问题 (#4437)
Glavo Sep 10, 2025
36ea1da
更新模组和整合包数据 (#4439)
Glavo Sep 10, 2025
8eb17b6
检测到配置文件由高版本启动器创建时禁止保存配置文件 (#4414)
Glavo Sep 10, 2025
3184f91
使用 Java 17 构建 HMCL (#4452)
Glavo Sep 11, 2025
c65e4d8
简化 StyleSheets (#4453)
Glavo Sep 11, 2025
9ded2e4
优化对于 ISO 639-3 语言代码的支持 (#4455)
Glavo Sep 11, 2025
913ce55
简化调用 JavaFX 12+ API 的代码 (#4456)
Glavo Sep 11, 2025
228a1e4
修复 popup 第一次无法计算高度的问题 & 应用此方法到世界管理界面 (#4412)
pynickle Sep 11, 2025
f41b008
不再使用 OperatingSystemMXBean 中被弃用的方法 (#4459)
Glavo Sep 12, 2025
cf5957f
删除 AwtUtils (#4460)
Glavo Sep 12, 2025
962ee0d
使用 java.util.HexFormat 替代 Hex (#4457)
Glavo Sep 12, 2025
8708e7f
Fix #4463: 修复启用代理身份认证且未设置密码时启动器崩溃的问题 (#4465)
Glavo Sep 12, 2025
356960c
新增辅助方法 `GameVersionNumber#isAtLeast(String, String)` (#4458)
Glavo Sep 12, 2025
60ff34a
修复滚动切换游戏实例/账户功能 (#4466)
Glavo Sep 13, 2025
6b6276e
在 Label 文本溢出时安装 Tooltip (#4467)
Glavo Sep 13, 2025
72ae46c
优化 FXUtils#openLink (#4470)
Glavo Sep 13, 2025
811b1fb
创建 JsonSerializable 接口 (#4472)
Glavo Sep 13, 2025
e7526e3
将 IconedTwoLineListItem#tags 的类型修改为 ObservableList<Label> (#4473)
Glavo Sep 13, 2025
c2d5a07
修复数据包管理在低于1.13的版本意外出现的问题 (#4428)
Wulian233 Sep 13, 2025
a10e9a0
创建 OSVersion 工具类 (#4480)
Glavo Sep 14, 2025
a39a23f
Fix: 无法安装带有 Fabric 的非标准 MMC 整合包 (#4034)
burningtnt Sep 14, 2025
19072bd
修复`download.hint`翻译条目未添加`光影`的说明的问题 (#4474)
Wulian233 Sep 14, 2025
5195416
创建 RawPreservingProperty 接口 (#4464)
Glavo Sep 14, 2025
a717880
Create FileUtils#deleteDirectory(Path) (#4482)
Glavo Sep 14, 2025
7ce59ca
清理 org.jackhuang.hmcl.util.logging (#4484)
Glavo Sep 15, 2025
15e490f
Convert Pair to record (#4485)
Glavo Sep 15, 2025
b66e249
在未启用 JIT 或硬件渲染加速的环境中启动时弹出提示 (#4487)
Glavo Sep 15, 2025
f594abc
更新 HMCLBoot 以使用地区中立的文件命名 (#4488)
Glavo Sep 15, 2025
7c02447
世界管理新增删除世界功能 (#4263)
Wulian233 Sep 15, 2025
831a8a9
fix(fmllib): Forge 1.5.2 安装时下载 fmllib,修复无法启动的问题 (#3976)
zkitefly Sep 16, 2025
e4bc8f4
Bump Gson to 2.13.2 (#4490)
Glavo Sep 16, 2025
5005343
缓存文件时遵循 Cache-Control 设置 (#4462)
Glavo Sep 16, 2025
5a8d567
将 isNameValid 方法移动至 FileUtils (#4491)
Glavo Sep 16, 2025
b328ed2
Fix #4481: 修复 .hmcl 目录为跨驱动器符号链接时无法卸载 Java 的问题 (#4492)
Glavo Sep 16, 2025
fc1cce5
删除 FileUtils 中基于 java.io.File 的工具方法 (#4493)
Glavo Sep 16, 2025
6a497df
清理 org.jackhuang.hmcl.download.game (#4495)
Glavo Sep 16, 2025
26e274a
将 GameRepository 从 java.io.File 迁移至 NIO (#4496)
Glavo Sep 17, 2025
94994ff
将 org.jackhuang.hmcl.setting 从 java.io.File 迁移至 NIO (#4498)
Glavo Sep 17, 2025
e9d7d0a
将 org.jackhuang.hmcl.mod 从 java.io.File 迁移至 NIO (#4499)
Glavo Sep 17, 2025
77fadf5
将 org.jackhuang.hmcl.ui 从 java.io.File 迁移至 NIO (#4501)
Glavo Sep 17, 2025
45f7719
Close #2987: 从 java.io.File 迁移至 NIO (#4502)
Glavo Sep 17, 2025
a0568e3
清理残留的 java.io.File 用例 (#4503)
Glavo Sep 18, 2025
6652461
支持以类型安全的方式读写 Navigation#getSettings() (#4504)
Glavo Sep 18, 2025
a14a265
Bump JavaFX to 21.0.8/25 (#4454)
Glavo Sep 18, 2025
8bd104c
使用 Java 25 启动游戏时默认开启 Compact Object Headers (#4506)
Glavo Sep 18, 2025
a24fea4
支持禁止生成 JVM 优化参数 (#4507)
Glavo Sep 18, 2025
e6ac07f
修复使用 JavaFX 25 时游戏下载界面布局错误的问题 (#4508)
Glavo Sep 18, 2025
eb3be8c
在未启用 JIT 或硬件渲染加速的环境中默认禁用动画 (#4510)
Glavo Sep 19, 2025
c38371f
优化 Java 自动选择规则 (#4515)
Glavo Sep 19, 2025
9ee611c
Bump Gradle to 9.1.0 (#4520)
Glavo Sep 20, 2025
ac0a0c7
修复 AdvancedListBox 在非必要的情况下显示滚动条的问题 (#4514)
rootwhois Sep 20, 2025
756b95c
添加本地化说明文档 (#4516)
Glavo Sep 20, 2025
dd7703c
修复删除世界时无法删除 zip 格式世界的问题 (#4500)
Wulian233 Sep 20, 2025
867a04d
支持在“实例管理”按钮上通过滚动滚轮切换游戏实例 (#4509)
Glavo Sep 20, 2025
bd9ae18
优化本地化支持 (#4525)
Glavo Sep 21, 2025
1b65e0b
Fix #4526: 修复将空字符串注册为 Access Token 后日志输出异常的问题 (#4528)
Glavo Sep 22, 2025
cbe6554
feat(l10n): add `boot_es.properties` (#4532)
3gf8jv4dv Sep 22, 2025
36d71bd
支持颠倒的英语 (#4527)
Glavo Sep 22, 2025
a8552a9
chore(l10n): add new translations to spanish (#4531)
3gf8jv4dv Sep 23, 2025
16ea98c
chore(l10n): revise chinese (traditional) and english (#4530)
3gf8jv4dv Sep 23, 2025
9416c0c
修复日志页面选中条目时 hover 背景闪烁两次的问题 (#4517)
rootwhois Sep 23, 2025
cb467ae
优化本地化支持 (#4539)
Glavo Sep 23, 2025
5b14144
添加 Debug_zh.md (#4542)
Glavo Sep 24, 2025
225dba7
Bump JNA to 5.18.0 (#4549)
Glavo Sep 26, 2025
4b4dd59
将 Schedulers.io() 切换至虚拟线程 (#4548)
Glavo Sep 26, 2025
938d864
删除 InvocationDispatcher 中的 synchronized 块 (#4550)
Glavo Sep 26, 2025
710e697
重构 FetchTask 以使用 HttpClient 和虚拟线程 (#4546)
Glavo Sep 26, 2025
f0a16b3
GitHub Action 按文件类型分别上传构建产物 (#4537)
Glavo Sep 27, 2025
75789c7
修复切换下载源后需要重启启动器才会生效的问题 (#4296)
Glavo Sep 27, 2025
7f4c5fc
清理代码 (#4519)
CiiLu Sep 27, 2025
8a89bae
使用 Gradle 获取更新信息 (#4560)
Glavo Sep 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1,118 changes: 1,118 additions & 0 deletions .editorconfig

Large diffs are not rendered by default.

28 changes: 0 additions & 28 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Bug 反馈 | Bug Report
description:
反馈一个 HMCL 错误。| File a bug report for HMCL.
title: "[Bug] "
labels: bug
body:
- type: markdown
attributes:
value: |
提交前请确认:

* 该问题确实是 **HMCL 的错误**,而**不是 Minecraft 非正常退出**,如果你的 Minecraft 非正常退出,请前往 [QQ 群](https://docs.hmcl.net/groups.html)/[Discord 服务器](https://discord.gg/jVvC7HfM6U) 获取帮助。
* 你的启动器版本是**最新的预览版本**,可以点击 [此处](https://zkitefly.github.io/HMCL-Snapshot-Update/) 下载最新预览版本。

如果你的问题并不属于上述两类,你可以选取另一种 Issue 类型,或者直接前往 [QQ 群](https://docs.hmcl.net/groups.html)/[Discord 服务器](https://discord.gg/jVvC7HfM6U) 获取帮助。

Before submitting, please confirm:

* The issue is indeed **a bug of HMCL**, not **Minecraft abnormal exit**. If your Minecraft exits abnormally, please go to the [QQ group](https://docs.hmcl.net/groups.html) or [Discord server](https://discord.gg/jVvC7HfM6U) for help.
* Your launcher is the **latest nightly build**. You can click [here](https://zkitefly.github.io/HMCL-Snapshot-Update/en) to download the latest nightly build.

If your issue does not fall into the above two categories, you can choose another type of issue or directly go to the [QQ group](https://docs.hmcl.net/groups.html) or [Discord server](https://discord.gg/jVvC7HfM6U) for help.
- type: textarea
id: bug-report
attributes:
label: 问题描述 | Bug Description
description: |
请尽可能地详细描述你所遇到的问题,并描述如何重新触发这个问题。
Please describe the bug you met in as much detail as possible. Additionally, describe the steps to reproduce this bug.
placeholder: |
1. 点击 HMCL 上的某个按钮 | Click a button named ...
2. 向下翻页 | Scroll down
3. ...
validations:
required: true
- type: textarea
id: hmcl-crash-report-or-logs
attributes:
label: 启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File
description: |
如果你的启动器崩溃了,请将崩溃报告填入(或将文件拖入)下方。
如果你的启动器没有崩溃,请在遇到问题后**不要退出启动器**,在启动器的 “设置 → 通用 → 调试” 一栏中点击 “导出启动器日志”,并将导出的日志拖到下方的输入栏中。
**请注意:启动器崩溃报告或日志文件是诊断问题的重要依据,请务必上传!**

If your launcher crashes, please fill in (or drag the file in) the following input field with the crash report.
If your launcher does not crash, please DO NOT EXIT your launcher, click "Export Launcher Logs" in the "Settings → General → Debug" of the launcher, and drag the exported log to the following input field.
**ATTENTION: The crash report or log file is the key to resolving the bug. Please upload them!**
validations:
required: true
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: QQ 群 | QQ Group
url: https://docs.hmcl.net/groups.html
about: Hello Minecraft! Launcher 的官方 QQ 交流群。| The official QQ group of Hello Minecraft! Launcher.
- name: Discord 服务器 | Discord Server
url: https://discord.gg/jVvC7HfM6U
about: Hello Minecraft! Launcher 的官方 Discord 服务器。| The official Discord server of Hello Minecraft! Launcher.
- name: 其他反馈 | Others
url: https://github.com/HMCL-dev/HMCL/discussions/new/choose
about: 通过 Discussions 反馈其他问题。| Report other problems in Discussions.
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: 新功能 | Feature Request
description: 为 HMCL 提出新功能。| Suggest a new feature or enhancement for HMCL.
title: "[Feature] "
labels: enhancement
body:
- type: markdown
attributes:
value: |
请确认 Issues 列表无重复的项目。
Please make sure that no duplicate issues have already been submitted.
- type: textarea
id: summary
attributes:
label: 概述 | Summary
description: |
请介绍你想加入的新功能。
Please describe the new feature.
validations:
required: true
- type: textarea
id: reason
attributes:
label: 原因 | Reason
description: |
请描述该功能带来的好处及原因。
Please describe why you want to add the feature or enhancement to HMCL.
validations:
required: true
- type: textarea
id: description
attributes:
label: 详情 | Description
description: |
在这里可以补充描述该功能的具体实现方式或建议。(可选)
Describe implementation details or suggestions here. (Optional)
25 changes: 25 additions & 0 deletions .github/workflows/check-codes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Check Codes

on:
push:
paths:
- '**.java'
- '**.properties'
pull_request:
paths:
- '**.java'
- '**.properties'

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
java-package: 'jdk+fx'
- name: Check Codes
run: ./gradlew checkstyle checkTranslations --no-daemon --parallel
122 changes: 122 additions & 0 deletions .github/workflows/check-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Check Update

on:
workflow_dispatch:
schedule:
- cron: '30 * * * *'

permissions:
contents: write

jobs:
dev-check-update:
if: ${{ github.repository_owner == 'HMCL-dev' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
- name: Fetch tags
run: git fetch --all --tags
- name: Fetch last version
run: ./gradlew checkUpdateDev --no-daemon --info --stacktrace
- name: Check for existing tags
run: if [ -z "$(git tag -l "$HMCL_TAG_NAME")" ]; then echo "continue=true" >> $GITHUB_ENV; fi
- name: Download artifacts
if: ${{ env.continue == 'true' }}
run: |
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.exe"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.exe.sha256"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.jar"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.jar.sha256"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.sh"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.sh.sha256"
env:
DOWNLOAD_BASE_URL: https://ci.huangyuhui.net/job/HMCL/lastSuccessfulBuild/artifact/HMCL/build/libs
- name: Generate release note
if: ${{ env.continue == 'true' }}
run: |
echo "The full changelogs can be found on the website: https://docs.hmcl.net/changelog/dev.html" >> RELEASE_NOTE
echo "" >> RELEASE_NOTE
echo "*Notice: changelogs are written in Chinese.*" >> RELEASE_NOTE
echo "" >> RELEASE_NOTE
echo "| File Name | SHA-256 Checksum |" >> RELEASE_NOTE
echo "| --- | --- |" >> RELEASE_NOTE
echo "| [HMCL-$HMCL_VERSION.exe]($GH_DOWNLOAD_BASE_URL/v$HMCL_VERSION/HMCL-$HMCL_VERSION.exe) | \`$(cat HMCL-$HMCL_VERSION.exe.sha256)\` |" >> RELEASE_NOTE
echo "| [HMCL-$HMCL_VERSION.jar]($GH_DOWNLOAD_BASE_URL/v$HMCL_VERSION/HMCL-$HMCL_VERSION.jar) | \`$(cat HMCL-$HMCL_VERSION.jar.sha256)\` |" >> RELEASE_NOTE
echo "| [HMCL-$HMCL_VERSION.sh]($GH_DOWNLOAD_BASE_URL/v$HMCL_VERSION/HMCL-$HMCL_VERSION.sh) | \`$(cat HMCL-$HMCL_VERSION.sh.sha256)\` |" >> RELEASE_NOTE
env:
GH_DOWNLOAD_BASE_URL: https://github.com/HMCL-dev/HMCL/releases/download
- name: Create release
if: ${{ env.continue == 'true' }}
uses: softprops/action-gh-release@v2
with:
body_path: RELEASE_NOTE
files: |
HMCL-${{ env.HMCL_VERSION }}.exe
HMCL-${{ env.HMCL_VERSION }}.jar
HMCL-${{ env.HMCL_VERSION }}.sh
target_commitish: ${{ env.HMCL_COMMIT_SHA }}
name: ${{ env.HMCL_TAG_NAME }}
tag_name: ${{ env.HMCL_TAG_NAME }}
prerelease: true
stable-check-update:
if: ${{ github.repository_owner == 'HMCL-dev' }}
needs: dev-check-update
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
- name: Fetch tags
run: git fetch --all --tags

- name: Fetch last version
run: ./gradlew checkUpdateStable --no-daemon --info --stacktrace
- name: Check for existing tags
run: if ! git tag -l | grep -q "$HMCL_TAG_NAME"; then echo "continue=true" >> $GITHUB_ENV; fi
- name: Download artifacts
if: ${{ env.continue == 'true' }}
run: |
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.exe"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.exe.sha256"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.jar"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.jar.sha256"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.sh"
wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.sh.sha256"
env:
DOWNLOAD_BASE_URL: https://ci.huangyuhui.net/job/HMCL-stable/lastSuccessfulBuild/artifact/HMCL/build/libs
- name: Generate release note
if: ${{ env.continue == 'true' }}
run: |
echo "**This version is a stable version.**" >> RELEASE_NOTE
echo "" >> RELEASE_NOTE
echo "The full changelogs can be found on the website: https://docs.hmcl.net/changelog/stable.html" >> RELEASE_NOTE
echo "" >> RELEASE_NOTE
echo "*Notice: changelogs are written in Chinese.*" >> RELEASE_NOTE
echo "" >> RELEASE_NOTE
echo "| File Name | SHA-256 Checksum |" >> RELEASE_NOTE
echo "| --- | --- |" >> RELEASE_NOTE
echo "| [HMCL-$HMCL_VERSION.exe]($GH_DOWNLOAD_BASE_URL/release-$HMCL_VERSION/HMCL-$HMCL_VERSION.exe) | \`$(cat HMCL-$HMCL_VERSION.exe.sha256)\` |" >> RELEASE_NOTE
echo "| [HMCL-$HMCL_VERSION.jar]($GH_DOWNLOAD_BASE_URL/release-$HMCL_VERSION/HMCL-$HMCL_VERSION.jar) | \`$(cat HMCL-$HMCL_VERSION.jar.sha256)\` |" >> RELEASE_NOTE
echo "| [HMCL-$HMCL_VERSION.sh]($GH_DOWNLOAD_BASE_URL/release-$HMCL_VERSION/HMCL-$HMCL_VERSION.sh) | \`$(cat HMCL-$HMCL_VERSION.sh.sha256)\` |" >> RELEASE_NOTE
env:
GH_DOWNLOAD_BASE_URL: https://github.com/HMCL-dev/HMCL/releases/download
- name: Create release
if: ${{ env.continue == 'true' }}
uses: softprops/action-gh-release@v2
with:
body_path: RELEASE_NOTE
files: |
HMCL-${{ env.HMCL_VERSION }}.exe
HMCL-${{ env.HMCL_VERSION }}.jar
HMCL-${{ env.HMCL_VERSION }}.sh
target_commitish: ${{ env.HMCL_COMMIT_SHA }}
name: ${{ env.HMCL_TAG_NAME }}
tag_name: ${{ env.HMCL_TAG_NAME }}
21 changes: 21 additions & 0 deletions .github/workflows/gitee.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Sync to Gitee

on:
push

jobs:
run:
if: ${{ github.repository_owner == 'HMCL-dev' }}
runs-on: ubuntu-latest
steps:
- name: Mirror GitHub to Gitee
uses: Yikun/hub-mirror-action@v1.4
with:
src: github/HMCL-dev
dst: gitee/huanghongxun
static_list: 'HMCL'
force_update: true
debug: true
dst_key: ${{ secrets.GITEE_SYNC_BOT_PRIVATE_KEY }}
dst_token: ${{ secrets.GITEE_SYNC_BOT_TOKEN }}
cache_path: /github/workspace/hub-mirror-cache
50 changes: 50 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Java CI

on:
push:
pull_request:
paths-ignore:
- '**.md'

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
java-package: 'jdk+fx'
- name: Build with Gradle
run: ./gradlew build --no-daemon
env:
MICROSOFT_AUTH_ID: ${{ secrets.MICROSOFT_AUTH_ID }}
MICROSOFT_AUTH_SECRET: ${{ secrets.MICROSOFT_AUTH_SECRET }}
CURSEFORGE_API_KEY: ${{ secrets.CURSEFORGE_API_KEY }}
- name: Get short SHA
run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
- name: Upload JAR
uses: actions/upload-artifact@v4
with:
name: HMCL-${{ env.SHORT_SHA }}-jar
path: |
HMCL/build/libs/HMCL-*.jar
HMCL/build/libs/HMCL-*.jar.sha256
- name: Upload EXE
uses: actions/upload-artifact@v4
with:
name: HMCL-${{ env.SHORT_SHA }}-exe
path: |
HMCL/build/libs/HMCL-*.exe
HMCL/build/libs/HMCL-*.exe.sha256
- name: Upload SH
uses: actions/upload-artifact@v4
with:
name: HMCL-${{ env.SHORT_SHA }}-sh
path: |
HMCL/build/libs/HMCL-*.sh
HMCL/build/libs/HMCL-*.sh.sha256
Loading