Author SHA1 Message Date
copilot-swe-agent[bot]andGlavo 6a8ea72d82 Replace two-level lists with bold section headers in changelog files
continuous-integration/drone/push Build is passing
Agent-Logs-Url: https://github.com/HMCL-dev/HMCL-docs/sessions/85dd9646-e48a-449e-90ed-93535a3be5dd

Co-authored-by: Glavo <20694662+Glavo@users.noreply.github.com>
2026-04-24 12:40:18 +00:00
copilot-swe-agent[bot] 8824bd509d Initial plan 2026-04-24 12:36:31 +00:00
neveler d92735a4e6 修正更新日志中错误将 Copilot 列为贡献者的问题 (#438)
continuous-integration/drone/push Build is passing
2026-04-20 18:53:40 +08:00
neveler e0303cb44a 修复 hits url tag 参数被二次编码的问题 (#452)
continuous-integration/drone/push Build is passing
2026-04-20 11:26:21 +08:00
neveler 8b05643a2f 自动识别 GP / GC 标记并生成对应链接 (#436)
continuous-integration/drone/push Build is passing
2026-04-19 07:25:51 +08:00
Glavo 5101a59793 Add 3.14.0.341 changelog (#454) 2026-04-18 21:36:35 +08:00
Glavo c5c8d64e7e Add 3.13.1 changelog (#453)
continuous-integration/drone/push Build is passing
2026-04-17 20:42:49 +08:00
neveler 0907ca4b6e 优化 document 布局内容 (#423)
continuous-integration/drone/push Build is passing
2026-04-17 07:52:37 +08:00
neveler 493d605495 优化设置页 (#421)
continuous-integration/drone/push Build is passing
2026-04-16 17:31:10 +08:00
neveler f2dbe9e57a 临时禁用磁盘缓存 (#451) 2026-04-16 17:02:19 +08:00
neveler f0a110fc20 添加 kramdown_enhancer 插件 (#435)
continuous-integration/drone/push Build is passing
2026-04-16 15:13:23 +08:00
neveler 0278979106 减少集合列表页的最大列数 (#427)
continuous-integration/drone/push Build is passing
2026-04-13 08:50:00 +08:00
neveler 45e412eafc 移除页脚的 “关注” 字样 (#429) 2026-04-13 08:49:44 +08:00
Glavo e7004603ba Add 3.13.0.340 changelog (#450)
continuous-integration/drone/push Build is passing
2026-04-11 21:04:40 +08:00
Glavo ad5cf6db1a Add 3.13.0.339 changelog (#449)
continuous-integration/drone/push Build is passing
2026-04-08 20:47:41 +08:00
neveler cdadbdb980 Bump nokogiri to 1.19.1 (#426)
continuous-integration/drone/push Build is passing
2026-04-07 16:14:20 +08:00
neveler b996c7d627 优化 offline-skin 文章 (#425) 2026-04-07 16:11:58 +08:00
Glavo 06950ec9ba Add 3.12.4 changelog (#447)
continuous-integration/drone/push Build is passing
2026-04-06 21:27:47 +08:00
GlavoandCopilot 82f889169c Add 3.13.0.337 and 3.13.0.338 changelogs (#446)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-06 21:24:34 +08:00
neveler b12add2489 Bump minimal-mistakes to 4.28.0 (#418)
continuous-integration/drone/push Build is passing
2026-04-02 08:47:21 +08:00
Glavo b022b6c741 Add 3.13.0.336 changelog (#437)
continuous-integration/drone/push Build is passing
2026-03-29 20:28:15 +08:00
Glavo 391d12c754 Add 3.13.0.335 and 3.12.2 changelogs (#432)
continuous-integration/drone/push Build is passing
2026-03-24 22:26:17 +08:00
Zkitefly 0b3511322d Update to Java 25 Download (#378)
continuous-integration/drone/push Build is passing
2026-03-24 14:27:16 +08:00
GlavoandCopilot f4e908f771 Add 3.12.1 and 3.13.0.333 changelogs (#428)
continuous-integration/drone/push Build is passing
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-20 22:45:40 +08:00
71 changed files with 1597 additions and 639 deletions
+2 -1
View File
@@ -10,8 +10,9 @@ concurrency:
group: pr-preview group: pr-preview
cancel-in-progress: false cancel-in-progress: false
env: env:
GITHUB_PR_NUMBER: ${{ github.event_name == 'issue_comment' && github.event.issue.number || github.event.pull_request.number }}
JEKYLL_ENV: production JEKYLL_ENV: production
ENABLE_WEBP_AUTO_CONVERSION: "true"
GITHUB_PR_NUMBER: ${{ github.event_name == 'issue_comment' && github.event.issue.number || github.event.pull_request.number }}
jobs: jobs:
cache-refresh: cache-refresh:
if: ${{ !github.event.repository.fork && github.event_name == 'schedule' && github.event.schedule == '0 0 */6 * *' }} if: ${{ !github.event.repository.fork && github.event_name == 'schedule' && github.event.schedule == '0 0 */6 * *' }}
+2 -3
View File
@@ -8,7 +8,7 @@ source "https://rubygems.org"
# This will help ensure the proper Jekyll version is running. # This will help ensure the proper Jekyll version is running.
# Happy Jekylling! # Happy Jekylling!
gem "jekyll", "4.4.1" gem "jekyll", "4.4.1"
gem "minimal-mistakes-jekyll", "4.27.3" gem "minimal-mistakes-jekyll", "4.28.0"
group :jekyll_plugins do group :jekyll_plugins do
gem "jekyll-paginate", "1.1.0" gem "jekyll-paginate", "1.1.0"
@@ -32,5 +32,4 @@ gem "wdm", "0.2.0", :platforms => [:windows]
gem "http_parser.rb", "0.8.0", :platforms => [:jruby] gem "http_parser.rb", "0.8.0", :platforms => [:jruby]
# plugin dependencies # plugin dependencies
gem "nokogiri", "1.18.10" gem "webp-ffi", "0.4.0" if ENV["ENABLE_WEBP_AUTO_CONVERSION"] == "true" || ENV["DRONE"] == "true"
gem "addressable", "2.8.7"
+21
View File
@@ -0,0 +1,21 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1181885655980965928)
- GP-5313: 支持从 CurseForge 下载光影 (by 辞庐)
- GP-5631: 重启 HMCL 时继承所有 JVM 参数 (by 辞庐, Glavo)
- GP-5787: 添加 Gitee Issue 模板配置 (by Zkitefly)
- GP-5791: 支持愚人节模式 (by Glavo)
- GP-5798: 使用 MCIM 作为回退下载源 (by Glavo)
- GP-5800: 更新进度条样式 (by Glavo)
- GP-5801: 更新 GitHub Actions (by Glavo)
- GP-5803: 更新 `JFXSpinner` 默认样式 (by Glavo)
- GP-5804: 优化 `JFXSpinner` 动画生成逻辑 (by Glavo)
- GP-5805: 平滑进度条 (by Glavo)
错误修复:
- GP-4876: 修复 macOS 平台上空闲内存识别错误的问题 (by Damon Lu, Glavo)
- GP-5782: 修复对高版本 Cleanroom 选择的 Java 版本错误的问题 (by 辞庐, Glavo)
- GP-5810: 修复无法归一化 26.1 发布候选版本号的问题 (by mineDiamond)
+22
View File
@@ -0,0 +1,22 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1183364580749869077)
- GP-5660: 在游戏进程结束后禁用“结束游戏进程”与“导出游戏运行栈”按钮 (by 辞庐, Glavo)
- GP-5667: 使用 HelloNBT 替代 OpenNBT (by Glavo)
- GP-5694: 为游戏崩溃界面导出和启动器日志导出添加加载指示器 (by 辞庐, Glavo)
- GP-5702: 优化 tag 展示逻辑 (by 辞庐)
- GP-5786: 安装 CurseForge 整合包时下载图标 (by Calboot)
- GP-5802, GP-5837: 当 CurseForge API Key 缺失时隐藏下载源切换选项 (by Glavo)
- GP-5829: 更新内存状态栏 (by Glavo)
- GP-5830: 禁止在颜色选择器中调整颜色透明度 (by neveler)
- GP-5832, GP-5836: 为对话框添加圆角 (by neveler)
- GP-5813: 将游戏设置中“不适用于当前系统的选项”提示移动到副标题 (by Damon Lu)
- GP-5833: 优化对 26.1 正式版/预发布版/候选版的支持 (by Glavo)
- GP-5841: 将 Java 下载页面默认 Java 版本更新至 Java 25 (by Glavo)
- GP-5845: 更新文言文翻译 (by Glavo)
错误修复:
- GP-5839: 修复文本框导致 GPU 占用率异常高的问题 (by Glavo)
+12
View File
@@ -0,0 +1,12 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1185155375901442055)
- GP-5854: 将 twelvemonkeys 更新至 3.13.1 (by Glavo)
- GP-5855: 将 HelloNBT 更新至 0.3.0 (by Glavo)
- GP-5601: 下载页面折叠快照 Minecraft 版本 (by 辞庐, Glavo)
- GP-5703: 更新更新渠道选择选项 (by 辞庐, 3gf8jv4dv, Glavo)
- GP-5851: 优化读取 JAR/ZIP 文件时的性能 (by Glavo)
- GP-5860: 更新种子地图、要塞地图、下届要塞地图和末地城地图链接以支持 26.1 (by neveler)
- GP-5870: 优化 Minecraft 26.1 性能 (by Glavo, 3gf8jv4dv) ([BV1mPXSBEEBx](https://www.bilibili.com/video/BV1mPXSBEEBx))
+21
View File
@@ -0,0 +1,21 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1188172826709852165)
- GP-5882: 将 lwjgl-unsafe-agent 更新至 2.0 (by Glavo)
- GP-5883: 将 XZ for Java 更新至 1.12 (by Glavo)
- GP-5316: 更新 AMD 显卡信息数据 (by 辞庐, Glavo)
- GP-5484: 支持加载 SVG 图片 (by Glavo)
- GP-5518: 在 Wine 环境中启动时发出警告 (by Damon Lu)
- GP-5738: 为在临时目录中启动 HMCL 时弹出的提示对话框添加 5 秒倒计时 (by 辞庐)
- GP-5775: 为自定义颜色选择对话框添加确认和取消按钮 (by mineDiamond, Glavo)
- GP-5781: 支持设置模组/整合包/光影/资源包/世界默认下载源 (by Calboot, Glavo, 3gf8jv4dv)
- GP-5861: 优化“关于”页面组件间距 (by neveler)
- GP-5892: 优化对 26w14a 愚人节版本的支持,更新模组下载页游戏版本列表至 26.1.1 (by Glavo)
- 优化软件文案,修订翻译 (by 3gf8jv4dv, 辞庐, Xirren)
错误修复:
- GP-5301: 修复清理游戏资源/库操作在 JavaFX 线程运行的问题 (by 辞庐)
- GP-5877: 修复对话框动画过程中内容模糊的问题 (by 辞庐)
+26
View File
@@ -0,0 +1,26 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1188173041413128193)
- GP-4716: 优化 Java 搜索 (by Glavo)
- GP-5859: 优化 Java 下载 (by Glavo)
- GP-5730: 支持通过版本 JSON 安装实例 (by 辞庐, Glavo)
- GP-5917, GP-5905: 优化组合框样式 (by Wulian233, 辞庐, Glavo)
- GP-5872: 优化下载页面依赖项展示 (by 辞庐)
- GP-5923: 优化原理图管理和世界界面中部分输入框的校验方式 (by 辞庐)
- GP-5924: 优化 Java 下载弹窗旋转指示器样式 (by 辞庐)
- GP-5925: 优化添加认证服务器 HTTP 警告颜色 (by 辞庐)
错误修复:
- GP-5609: 修复阴影无法完整覆盖部分控件的问题 (by 辞庐)
- GP-5688: 修复预览皮肤时 Alex 模型皮肤手臂后侧有一列侧面的异常像素的问题 (by 辞庐)
- GP-5879: 修复安装模组时未检查是否已存在的问题 (by 辞庐)
- GP-5888: 修复模组管理页面对于 1.20.1+NeoForge 实例会将部分 Forge 模组识别为 `MixinExtras` 的问题 (by Calboot)
- GP-5899: 修复下载游戏内容时出现空游戏版本条目的问题 (by Calboot)
- GP-5910: 修复无法为 Minecraft 26.1.1 从官方源安装 NeoForge 的问题 (by Glavo, Burning_TNT)
- GP-5911: 修复多次打开微软登录弹窗后报错的问题 (by Glavo)
- GP-5914: 修复深色模式下导入整合包界面箭头颜色错误的问题 (by Calboot)
- GP-5915: 修复长按标题栏中部分按钮时可以拖动窗口的问题 (by 辞庐)
- GP-5922: 修复安装整合包部分任务未正确归类的问题 (by 辞庐)
+6
View File
@@ -0,0 +1,6 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1188905221714083844)
- GP-5928: 支持在 FreeBSD x86-64、Linux Arm64、Linux LoongArch64 和 Linux RISC-V64 平台上启动 Minecraft 26.2-snapshot-1+ (by Glavo)
+12
View File
@@ -0,0 +1,12 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1190023991956340740)
- GP-5930: 增强对 Vulkan 的支持 (by Glavo, 3gf8jv4dv)
- GP-5931: 支持将新格式快照版本号翻译为文言 (by Glavo)
- GP-5934: 更新游戏内容下载页游戏版本列表至 26.1.2 (by Glavo)
错误修复:
- GP-5935: 修复日志窗口可能意外的显示横向滚动条的问题 (by Glavo)
+14
View File
@@ -0,0 +1,14 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1192630259688669201)
- GP-5940: 支持更多 Vulkan 渲染器 (by Glavo) [BV1Nhd5B9ENc](https://bilibili.com/video/BV1Nhd5B9ENc)
- GP-5945: 增大自动安装界面加载器名称版本号间距 (by 辞庐)
- GP-5949: 上传微软账户皮肤时校验大小 (by 辞庐)
- GP-5944: 优化菜单分隔符颜色 (by 辞庐,Glavo)
- GP-5946: 隐藏 CurseForge 源中游戏内容的不重要标签 (by 辞庐)
错误修复:
- GP-5943: 修复模组名字过长时下载页面布局异常的问题 (by 辞庐)
+7 -7
View File
@@ -9,10 +9,10 @@
- GP-3490: 修复 OAuth 登录时轮询过于频繁的问题 - GP-3490: 修复 OAuth 登录时轮询过于频繁的问题
- GP-3464: 修复在更新日志界面无法拖动启动器窗口的问题 - GP-3464: 修复在更新日志界面无法拖动启动器窗口的问题
- GP-3503: 使用 Zink 渲染器时禁用 DRI3 - GP-3503: 使用 Zink 渲染器时禁用 DRI3
- GC-`5fd52bb`: 皮肤缓存不再保存到 .minecraft 目录 - GC-5fd52bb: 皮肤缓存不再保存到 .minecraft 目录
- GC-`d5408c3`: 版本特定游戏设置从全局设置复制 - GC-d5408c3: 版本特定游戏设置从全局设置复制
- GC-`81b3911`: 修复按 ESC 键时文本框内的值没有保存的问题 - GC-81b3911: 修复按 ESC 键时文本框内的值没有保存的问题
- GC-`260f4b6`: 修复输入对话框中 ESC 键不起作用的问题 - GC-260f4b6: 修复输入对话框中 ESC 键不起作用的问题
- GC-`7d12ef6`: 修复内存滑块提示被设备内存进度条覆盖的问题 - GC-7d12ef6: 修复内存滑块提示被设备内存进度条覆盖的问题
- GC-`78e15d1`: 修复游戏设置中内存没有实时刷新的问题 - GC-78e15d1: 修复游戏设置中内存没有实时刷新的问题
- GC-`6f53da1`: 完善模组下载界面 - GC-6f53da1: 完善模组下载界面
+1 -1
View File
@@ -10,6 +10,6 @@
错误修复 错误修复
- GP-3252: 修复无法补全部分第三方 Minecraft 客户端游戏资源的问题 - GP-3252: 修复无法补全部分第三方 Minecraft 客户端游戏资源的问题
- GC-`56d20a5`, GC-`397edae`: 修复 Linux 平台调整窗口大小的问题 - GC-56d20a5, GC-397edae: 修复 Linux 平台调整窗口大小的问题
- GP-3531: 修复在 FreeBSD x86-64 平台未正确替换 LWJGL 本地库的问题 - GP-3531: 修复在 FreeBSD x86-64 平台未正确替换 LWJGL 本地库的问题
- GP-3541: 修复安装 MultiMC 整合包后没有设置图标的问题 - GP-3541: 修复安装 MultiMC 整合包后没有设置图标的问题
+1 -1
View File
@@ -12,4 +12,4 @@
- GP-3594: Java 下载对话框中切换包类型时不应重置版本字段 - GP-3594: Java 下载对话框中切换包类型时不应重置版本字段
- GP-3598: 修复使用自定义字体时未正确设置字重的问题 - GP-3598: 修复使用自定义字体时未正确设置字重的问题
- GP-3602: 修复使用系统 GLFW/OpenAL 时无法启动部分游戏版本的问题 - GP-3602: 修复使用系统 GLFW/OpenAL 时无法启动部分游戏版本的问题
- GC-`ecafc9d`: 修复安装新游戏页面中组件框的高度问题 - GC-ecafc9d: 修复安装新游戏页面中组件框的高度问题
+85 -75
View File
@@ -3,78 +3,88 @@
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1158118032843735049) [详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1158118032843735049)
- 启动器 **启动器**
- GP-4289: 在添加游戏目录页面选择目录时自动填写名称 (by Dime, 辞庐, Glavo)
- GP-4882: 取消部分控件的连点限制 (by 辞庐) - GP-4289: 在添加游戏目录页面选择目录时自动填写名称 (by Dime, 辞庐, Glavo)
- GP-5024: 使用副标题显示重启生效提示 (by neveler) - GP-4882: 取消部分控件的连点限制 (by 辞庐)
- GP-5032: 优化文本输入对话框体验 (by mineDiamond) - GP-5024: 使用副标题显示重启生效提示 (by neveler)
- GP-5035: 在非 Windows 平台也将文件名中的 `:` 视为非法字符 (by 辞庐) - GP-5032: 优化文本输入对话框体验 (by mineDiamond)
- GP-5056: 优化列表滚动时的性能 (by Glavo) - GP-5035: 在非 Windows 平台也将文件名中的 `:` 视为非法字符 (by 辞庐)
- GP-5060: 优化独立窗口中对话框的样式 (by 辞庐) - GP-5056: 优化列表滚动时的性能 (by Glavo)
- GP-5062: 更新 NBT 标签图标 (by mineDiamond) - GP-5060: 优化独立窗口中对话框的样式 (by 辞庐)
- GP-5077: 优化设置页面内边距 (by neveler) - GP-5062: 更新 NBT 标签图标 (by mineDiamond)
- GP-5082: 更新关于页面的版权年份至 2026 (by 辞庐) - GP-5077: 优化设置页面内边距 (by neveler)
- GP-5087: 更新启动按钮分隔符颜色 (by neveler) - GP-5082: 更新关于页面的版权年份至 2026 (by 辞庐)
- GP-5088: 首页切换实例菜单仅在菜单高度大于最大高度时显示垂直滚动条 (by neveler) - GP-5087: 更新启动按钮分隔符颜色 (by neveler)
- GP-5101: 在进度指示器中添加圆角 (by 辞庐) - GP-5088: 首页切换实例菜单仅在菜单高度大于最大高度时显示垂直滚动条 (by neveler)
- GP-5107: 使切换按钮垂直居中对齐 (by 辞庐) - GP-5101: 在进度指示器中添加圆角 (by 辞庐)
- GP-5108: 优化打包日志逻辑 (by 辞庐) - GP-5107: 使切换按钮垂直居中对齐 (by 辞庐)
- GP-5114: 优化部分页面的布局效果 (by neveler) - GP-5108: 优化打包日志逻辑 (by 辞庐)
- GP-5129: 优化输入框校验逻辑 (by 辞庐, Glavo) - GP-5114: 优化部分页面的布局效果 (by neveler)
- GP-5150: 调整平滑滚动的截止速度 (by Glavo) - GP-5129: 优化输入框校验逻辑 (by 辞庐, Glavo)
- GP-5143, GP-5168: 优化对获取账号信息时发生 SSL 异常的处理 (by Xirren, 3gf8jv4dv) - GP-5150: 调整平滑滚动的截止速度 (by Glavo)
- GP-5182: 支持重置日志字体 (by 辞庐) - GP-5143, GP-5168: 优化对获取账号信息时发生 SSL 异常的处理 (by Xirren, 3gf8jv4dv)
- GP-5188: 仅在左键点击时触发 `JFXRippler` 波纹 (by Glavo) - GP-5182: 支持重置日志字体 (by 辞庐)
- 实例管理 - GP-5188: 仅在左键点击时触发 `JFXRippler` 波纹 (by Glavo)
- GP-5059: 调整实例管理页面“浏览”菜单中条目的顺序 (by 3gf8jv4dv) **实例管理**
- GP-5137: 允许重命名实例时使用原名 (by mineDiamond)
- GP-5174: 优化存在大量实例的情况下的实例列表性能 (by Glavo) - GP-5059: 调整实例管理页面“浏览”菜单中条目的顺序 (by 3gf8jv4dv)
- 模组管理 - GP-5137: 允许重命名实例时使用原名 (by mineDiamond)
- GP-4832: 支持更新选中的模组 (by ZZZank) - GP-5174: 优化存在大量实例的情况下的实例列表性能 (by Glavo)
- GP-5016: 刷新模组列表不滚动到顶部 (by OrzMiku) **模组管理**
- 世界管理
- GP-4823: 优化世界管理界面和世界信息界面 (by mineDiamond, 3gf8jv4dv) - GP-4832: 支持更新选中的模组 (by ZZZank)
- GP-5162: 优化存在大量数据包的情况下数据包管理页面的性能 (by mineDiamond) - GP-5016: 刷新模组列表不滚动到顶部 (by OrzMiku)
- GP-5224: 优化存在大量世界的情况下世界管理页面的性能 (by Glavo) **世界管理**
- 整合包
- GP-4897: 导出整合包时隐藏系统资源文件 (by Calboot) - GP-4823: 优化世界管理界面和世界信息界面 (by mineDiamond, 3gf8jv4dv)
- GP-5119: 安装 Modrinth 整合包时下载图标 (by Glavo) - GP-5162: 优化存在大量数据包的情况下数据包管理页面的性能 (by mineDiamond)
- 账户 - GP-5224: 优化存在大量世界的情况下世界管理页面的性能 (by Glavo)
- GP-4794: 优化微软登录页面 (by 辞庐, 3gf8jv4dv) **整合包**
- 下载
- GP-5026: 限制访问 CurseForge/Modrinth 时的并发数 (by Burning_TNT) - GP-4897: 导出整合包时隐藏系统资源文件 (by Calboot)
- GP-5180: 在资源包下载页面中隐藏不必要的标签 (by Glavo) - GP-5119: 安装 Modrinth 整合包时下载图标 (by Glavo)
- GP-5160: 优化下载页面中来自 Modrinth 的内容标签显示 (by ENC_Euphony) **账户**
- GP-5211: 优化下载页面图标缓存功能 (by Glavo)
- 联机 - GP-4794: 优化微软登录页面 (by 辞庐, 3gf8jv4dv)
- GP-4929: 将陶瓦联机更新至 0.4.1 (by Burning_TNT) **下载**
- 本地化
- 优化软件文案,修订翻译 (by 3gf8jv4dv) - GP-5026: 限制访问 CurseForge/Modrinth 时的并发数 (by Burning_TNT)
- 错误修复 - GP-5180: 在资源包下载页面中隐藏不必要的标签 (by Glavo)
- GP-5034: 修复下载光影时对话框的标题文字错误的问题 (by Wulian233) - GP-5160: 优化下载页面中来自 Modrinth 的内容标签显示 (by ENC_Euphony)
- GP-5043: 修复导出整合包有关以及 NBT 文件查看有关的界面样式及深色模式问题 (by Calboot) - GP-5211: 优化下载页面图标缓存功能 (by Glavo)
- GP-5064: 修复弹出菜单在 HiDPI 显示器上播放动画过程中内容 Y 轴方向缩放异常的问题 (by Glavo) **联机**
- GP-5076: 优化不透明度滑块未垂直居中的问题 (by neveler)
- GP-5080: 修复外置登录对话框在部分情况下未正确验证用户名的问题 (by Glavo) - GP-4929: 将陶瓦联机更新至 0.4.1 (by Burning_TNT)
- GP-5081: 修复无法读取 `AppliedE` 模组信息的问题 (by Glavo) **本地化**
- GP-5086: 修复安装游戏时选择加载器版本后返回动画方向不正确的问题 (by 辞庐)
- GP-5091: 修复部分版本无法正确归一化的问题 (by mineDiamond) - 优化软件文案,修订翻译 (by 3gf8jv4dv)
- GP-5102: 修复文本输入框的上下文菜单未使用 MD3 色彩系统的问题 (by Glavo) **错误修复**
- GP-5111: 修复复制游戏实例相关问题 (by 辞庐)
- GP-5112: 修复添加实例目录页面有一个空 Tooltip 的问题 (by 辞庐) - GP-5034: 修复下载光影时对话框的标题文字错误的问题 (by Wulian233)
- GP-5117: 修复离线换肤对话框提示栏和按钮重叠的问题 (by NoClassDefFoundError) - GP-5043: 修复导出整合包有关以及 NBT 文件查看有关的界面样式及深色模式问题 (by Calboot)
- GP-5118: 修复部分平台弹出菜单无法通过点击侧边栏收起的问题 (by 辞庐) - GP-5064: 修复弹出菜单在 HiDPI 显示器上播放动画过程中内容 Y 轴方向缩放异常的问题 (by Glavo)
- GP-5131: 修复缓存目录设置进入时默认未勾选的问题 (by 辞庐) - GP-5076: 优化不透明度滑块未垂直居中的问题 (by neveler)
- GP-5133: 修复第三方构建下禁用账户刷新的 tooltip 展示不支持的超链接标签的问题 (by Wulian233, 3gf8jv4dv) - GP-5080: 修复外置登录对话框在部分情况下未正确验证用户名的问题 (by Glavo)
- GP-5144: 修复 `FetchTask` 未捕获部分异常的问题 (by Glavo) - GP-5081: 修复无法读取 `AppliedE` 模组信息的问题 (by Glavo)
- GP-5146, GP-5148, GP-5151: 修复无法读取部分包含特殊字符的整合包的问题 (by Glavo) - GP-5086: 修复安装游戏时选择加载器版本后返回动画方向不正确的问题 (by 辞庐)
- GP-5153: 修复窗口重新获取焦点时 `JFXRadioButton` 显示阴影的问题 (by Glavo) - GP-5091: 修复部分版本无法正确归一化的问题 (by mineDiamond)
- GP-5166: 修复未下载陶瓦联机时打开陶瓦联机页面抛出异常的问题 (by Glavo) - GP-5102: 修复文本输入框的上下文菜单未使用 MD3 色彩系统的问题 (by Glavo)
- GP-5167: 修复游戏设置中 Java 路径过长时可能与 Java 版本号标签冲突的问题 (by ENC_Euphony) - GP-5111: 修复复制游戏实例相关问题 (by 辞庐)
- GP-5170: 修复无法安装 `Aether Enhanced` 整合包的问题 (by 3gf8jv4dv) - GP-5112: 修复添加实例目录页面有一个空 Tooltip 的问题 (by 辞庐)
- GP-5178: 修复窗口重新获取焦点时 `JFXButton` 意外地显示阴影的问题 (by Glavo) - GP-5117: 修复离线换肤对话框提示栏和按钮重叠的问题 (by NoClassDefFoundError)
- GP-5179: 修复窗口重新获取焦点时 `JFXCheckBox` 意外地显示阴影的问题 (by Glavo) - GP-5118: 修复部分平台弹出菜单无法通过点击侧边栏收起的问题 (by 辞庐)
- GP-5183: 修复重置字体后未遵循 `hmcl.font.override`/`HMCL_FONT` 设置的问题 (by 辞庐, Glavo) - GP-5131: 修复缓存目录设置进入时默认未勾选的问题 (by 辞庐)
- GP-5184: 修复安装页面选择模组加载器按钮波纹没有正常显示的问题 (by 辞庐, Glavo) - GP-5133: 修复第三方构建下禁用账户刷新的 tooltip 展示不支持的超链接标签的问题 (by Wulian233, 3gf8jv4dv)
- GP-5186: 修复弹出菜单在 Windows HiDPI 显示器上异常模糊的问题 (by 辞庐) - GP-5144: 修复 `FetchTask` 未捕获部分异常的问题 (by Glavo)
- GP-5197: 修复默认窗口大小下进入高级版本设置会向下滚动一段距离的问题 (by 辞庐) - GP-5146, GP-5148, GP-5151: 修复无法读取部分包含特殊字符的整合包的问题 (by Glavo)
- GP-5153: 修复窗口重新获取焦点时 `JFXRadioButton` 显示阴影的问题 (by Glavo)
- GP-5166: 修复未下载陶瓦联机时打开陶瓦联机页面抛出异常的问题 (by Glavo)
- GP-5167: 修复游戏设置中 Java 路径过长时可能与 Java 版本号标签冲突的问题 (by ENC_Euphony)
- GP-5170: 修复无法安装 `Aether Enhanced` 整合包的问题 (by 3gf8jv4dv)
- GP-5178: 修复窗口重新获取焦点时 `JFXButton` 意外地显示阴影的问题 (by Glavo)
- GP-5179: 修复窗口重新获取焦点时 `JFXCheckBox` 意外地显示阴影的问题 (by Glavo)
- GP-5183: 修复重置字体后未遵循 `hmcl.font.override`/`HMCL_FONT` 设置的问题 (by 辞庐, Glavo)
- GP-5184: 修复安装页面选择模组加载器按钮波纹没有正常显示的问题 (by 辞庐, Glavo)
- GP-5186: 修复弹出菜单在 Windows HiDPI 显示器上异常模糊的问题 (by 辞庐)
- GP-5197: 修复默认窗口大小下进入高级版本设置会向下滚动一段距离的问题 (by 辞庐)
+82 -73
View File
@@ -3,76 +3,85 @@
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1169614354625069063) [详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1169614354625069063)
- 启动器 **启动器**
- GP-5391: 将 XZ for Java 更新至 1.11 (by Glavo)
- GP-5390: 将 TwelveMonkeys 更新至 3.13.0 (by Glavo) - GP-5391: 将 XZ for Java 更新至 1.11 (by Glavo)
- GP-5392: 将 Gradle Shadow 插件更新至 9.3.1 (by Glavo) - GP-5390: 将 TwelveMonkeys 更新至 3.13.0 (by Glavo)
- GP-4733: 导出日志时允许重名文件 (by Glavo) - GP-5392: 将 Gradle Shadow 插件更新至 9.3.1 (by Glavo)
- GP-5172: 支持通过拖动标题栏退出最大化 (by neveler) - GP-4733: 导出日志时允许重名文件 (by Glavo)
- GP-5259, GP-5272: 优化非法路径检查 (by 辞庐) - GP-5172: 支持通过拖动标题栏退出最大化 (by neveler)
- GP-5273: 优化游戏代理参数设置 (by Glavo) - GP-5259, GP-5272: 优化非法路径检查 (by 辞庐)
- GP-5274: 对 Java 26 默认启用压缩对象头 (by Glavo) - GP-5273: 优化游戏代理参数设置 (by Glavo)
- GP-5364: 在 NBT 查看器页面启用平滑滚动 (by Glavo) - GP-5274: 对 Java 26 默认启用压缩对象头 (by Glavo)
- GP-5426: 导出运行栈时附加 `-e` 和 `-l` 参数 (by 辞庐) - GP-5364: 在 NBT 查看器页面启用平滑滚动 (by Glavo)
- GP-5462: 未安装实例时点击主页“开始游戏”按钮不选择不支持当前平台的版本 (by 辞庐, Glavo) - GP-5426: 导出运行栈时附加 `-e` 和 `-l` 参数 (by 辞庐)
- GP-5467: 自动展开 NBT 查看器中部分子标签 (by Calboot) - GP-5462: 未安装实例时点击主页“开始游戏”按钮不选择不支持当前平台的版本 (by 辞庐, Glavo)
- GP-5527: 增加弹窗图标与内容间距 (by 辞庐) - GP-5467: 自动展开 NBT 查看器中部分子标签 (by Calboot)
- 游戏设置 - GP-5527: 增加弹窗图标与内容间距 (by 辞庐)
- GP-4975: 调整渲染器名称 (by Chen Meng) **游戏设置**
- 模组管理
- GP-5029: 优化检查模组更新功能 (by Burning_TNT) - GP-4975: 调整渲染器名称 (by Chen Meng)
- GP-5196: 使用 Forge/Quilt 加载器时模组管理页面应当扫描子文件夹 (by Wulian233) **模组管理**
- GP-5296: 扫描模组子目录时忽略 `.connector` 文件夹 (by 辞庐)
- 世界管理 - GP-5029: 优化检查模组更新功能 (by Burning_TNT)
- GP-5215: 优化世界管理与世界信息页面 (by mineDiamond, 3gf8jv4dv, Glavo) - GP-5196: 使用 Forge/Quilt 加载器时模组管理页面应当扫描子文件夹 (by Wulian233)
- 账户 - GP-5296: 扫描模组子目录时忽略 `.connector` 文件夹 (by 辞庐)
- GP-5330, GP-5531, GP-5538: 优化微软登录流程,更新微软账户登录对话框 (by 辞庐, 3gf8jv4dv, Glavo) **世界管理**
- 下载
- GP-4792: 优化 Fabric API / Quilt API 安装提示 (by 辞庐, 3gf8jv4dv) - GP-5215: 优化世界管理与世界信息页面 (by mineDiamond, 3gf8jv4dv, Glavo)
- GP-5090: 支持 Legacy Fabric 自动安装 (by 辞庐) **账户**
- GP-5250: Modrinth 默认不获取更新日志 (by Calboot)
- GP-5304: 取消游戏下载页面中高版本游戏对 Windows 7/8/8.1 的不兼容提示 (by 辞庐) - GP-5330, GP-5531, GP-5538: 优化微软登录流程,更新微软账户登录对话框 (by 辞庐, 3gf8jv4dv, Glavo)
- GP-5394: Java 下载页面支持选择多个 Java 版本下载 (by NoClassDefFoundError, Glavo) **下载**
- GP-5465, GP-5474: 优化下载页面条目中标签的展示方式 (by Glavo)
- 外观 - GP-4792: 优化 Fabric API / Quilt API 安装提示 (by 辞庐, 3gf8jv4dv)
- GP-5279: 更新下载页面条目样式 (by Glavo) - GP-5090: 支持 Legacy Fabric 自动安装 (by 辞庐)
- GP-5283, GP-5317, GP-5319: 优化深色模式支持 (by Glavo) - GP-5250: Modrinth 默认不获取更新日志 (by Calboot)
- GP-5292, GP-5398: 更新文本输入框的右键菜单样式 (by 辞庐) - GP-5304: 取消游戏下载页面中高版本游戏对 Windows 7/8/8.1 的不兼容提示 (by 辞庐)
- GP-5337: 使用 `LineSelectButton` 代替 `JFXComboBox` (by Glavo) - GP-5394: Java 下载页面支持选择多个 Java 版本下载 (by NoClassDefFoundError, Glavo)
- GP-5368: 自定义颜色对话框添加输入验证,阻止输入非法信息 (by WhatDamon) - GP-5465, GP-5474: 优化下载页面条目中标签的展示方式 (by Glavo)
- GP-5395, GP-5408, GP-5416, GP-5446: 统一列表卡片样式 (by Glavo) **外观**
- GP-5405: 统一加载指示器大小 (by 辞庐)
- GP-5406: 统一实例管理页面子页面刷新时的样式 (by 辞庐) - GP-5279: 更新下载页面条目样式 (by Glavo)
- GP-5422: 优化日志窗口无日志行的背景色 (by 辞庐) - GP-5283, GP-5317, GP-5319: 优化深色模式支持 (by Glavo)
- GP-5456: 优化工具栏按钮图标 (by Glavo) - GP-5292, GP-5398: 更新文本输入框的右键菜单样式 (by 辞庐)
- GP-5481: 优化设置页面检查更新设置项的样式 (by Glavo) - GP-5337: 使用 `LineSelectButton` 代替 `JFXComboBox` (by Glavo)
- 本地化 - GP-5368: 自定义颜色对话框添加输入验证,阻止输入非法信息 (by WhatDamon)
- 优化软件文案,修订简繁英翻译,清理过时翻译 (by 3gf8jv4dv) - GP-5395, GP-5408, GP-5416, GP-5446: 统一列表卡片样式 (by Glavo)
- 错误修复 - GP-5405: 统一加载指示器大小 (by 辞庐)
- GP-5012: 修复 Modrinth 模组依赖已经被删除的条目时无法加载版本列表的问题 (by Burning_TNT) - GP-5406: 统一实例管理页面子页面刷新时的样式 (by 辞庐)
- GP-5195: 修复导出 Modrinth 整合包时勾选“包含启动器”选项时导出的整合包不是 ZIP 格式的问题 (by 辞庐) - GP-5422: 优化日志窗口无日志行的背景色 (by 辞庐)
- GP-5245: 修复主页公告阴影被裁切的问题 (by 辞庐) - GP-5456: 优化工具栏按钮图标 (by Glavo)
- GP-5265: 修复系统代理 JVM 参数格式 (by Xirren) - GP-5481: 优化设置页面检查更新设置项的样式 (by Glavo)
- GP-5284: 修复部分列表页面出现横向滚动条的问题 (by Glavo) **本地化**
- GP-5299: 修复添加认证服务器对话框非 CJK 语言下宽度异常的问题 (by 辞庐)
- GP-5300: 修复下载页面模组简介只会显示一行的问题 (by 辞庐) - 优化软件文案,修订简繁英翻译,清理过时翻译 (by 3gf8jv4dv)
- GP-5308: 修复 `JFXTabPane` 指示器偏移的问题 (by 辞庐) **错误修复**
- GP-5328: 修复弹出菜单在 RTL 布局下弹出位置错误的问题 (by 辞庐)
- GP-5333: 修复启动服务端自动更新整合包时会下载并启用已禁用的模组的问题 (by Luo Chen) - GP-5012: 修复 Modrinth 模组依赖已经被删除的条目时无法加载版本列表的问题 (by Burning_TNT)
- GP-5369: 修复在 ZIP 文件中遇到重名目录条目时读取失败的问题 (by NoClassDefFoundError) - GP-5195: 修复导出 Modrinth 整合包时勾选“包含启动器”选项时导出的整合包不是 ZIP 格式的问题 (by 辞庐)
- GP-5374: 修复不透明度数值标签可能被折叠的问题 (by NoClassDefFoundError) - GP-5245: 修复主页公告阴影被裁切的问题 (by 辞庐)
- GP-5375: 修复部分列表点击后无法通过 Esc 返回的问题 (by NoClassDefFoundError) - GP-5265: 修复系统代理 JVM 参数格式 (by Xirren)
- GP-5379: 修复版本设置页面滚动条总是显示的问题 (by Dime) - GP-5284: 修复部分列表页面出现横向滚动条的问题 (by Glavo)
- GP-5388: 修复导出的 PowerShell 脚本中路径可能无效的问题 (by Xirren) - GP-5299: 修复添加认证服务器对话框非 CJK 语言下宽度异常的问题 (by 辞庐)
- GP-5411: 修复离线账户换肤对话框中对 Custom Skin API 地址的校验未生效的问题 (by 辞庐) - GP-5300: 修复下载页面模组简介只会显示一行的问题 (by 辞庐)
- GP-5423: 修复安装游戏时选择版本后返回已选择的版本会被清除的问题 (by 辞庐) - GP-5308: 修复 `JFXTabPane` 指示器偏移的问题 (by 辞庐)
- GP-5432: 修复部分页面弹出菜单会被重复触发的问题 (by Glavo) - GP-5328: 修复弹出菜单在 RTL 布局下弹出位置错误的问题 (by 辞庐)
- GP-5433: 修复部分环境中进入下载页面时启动器崩溃的问题 (by Glavo) - GP-5333: 修复启动服务端自动更新整合包时会下载并启用已禁用的模组的问题 (by Luo Chen)
- GP-5434: 修复日志级别选择按钮背景颜色溢出的问题 (by 辞庐) - GP-5369: 修复在 ZIP 文件中遇到重名目录条目时读取失败的问题 (by NoClassDefFoundError)
- GP-5449: 修复 SVG 图标对齐错误的问题 (by Glavo) - GP-5374: 修复不透明度数值标签可能被折叠的问题 (by NoClassDefFoundError)
- GP-5477: 修复部分页面意外的显示滚动条的问题 (by Glavo) - GP-5375: 修复部分列表点击后无法通过 Esc 返回的问题 (by NoClassDefFoundError)
- GP-5479: 修复无法正确识别 Minecraft 2.0 实例版本号的问题 (by Glavo) - GP-5379: 修复版本设置页面滚动条总是显示的问题 (by Dime)
- GP-5480: 修复无法归一化版本号 "1.16.2 Pre-release 1" 的问题 (by Glavo) - GP-5388: 修复导出的 PowerShell 脚本中路径可能无效的问题 (by Xirren)
- GP-5508: 修复部分请求头中 Accept-Language 字段包含 Java 版本的问题 (by Glavo) - GP-5411: 修复离线账户换肤对话框中对 Custom Skin API 地址的校验未生效的问题 (by 辞庐)
- GP-5520: 下载游戏版本列表点击左侧图标无法触发水波纹效果、光标没有变成手型的问题 (by 辞庐) - GP-5423: 修复安装游戏时选择版本后返回已选择的版本会被清除的问题 (by 辞庐)
- GP-5522: 修复安装卡片部分区域点击无法触发水波纹效果的问题 (by 辞庐) - GP-5432: 修复部分页面弹出菜单会被重复触发的问题 (by Glavo)
- GP-5433: 修复部分环境中进入下载页面时启动器崩溃的问题 (by Glavo)
- GP-5434: 修复日志级别选择按钮背景颜色溢出的问题 (by 辞庐)
- GP-5449: 修复 SVG 图标对齐错误的问题 (by Glavo)
- GP-5477: 修复部分页面意外的显示滚动条的问题 (by Glavo)
- GP-5479: 修复无法正确识别 Minecraft 2.0 实例版本号的问题 (by Glavo)
- GP-5480: 修复无法归一化版本号 "1.16.2 Pre-release 1" 的问题 (by Glavo)
- GP-5508: 修复部分请求头中 Accept-Language 字段包含 Java 版本的问题 (by Glavo)
- GP-5520: 下载游戏版本列表点击左侧图标无法触发水波纹效果、光标没有变成手型的问题 (by 辞庐)
- GP-5522: 修复安装卡片部分区域点击无法触发水波纹效果的问题 (by 辞庐)
+76
View File
@@ -0,0 +1,76 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1181883220765966343)
- 启动器
- GP-4706: 添加"关闭启动时的更新弹窗"选项 (by An5w1r, Glavo)
- GP-5583, GP-5624: 支持在 FreeBSD x86-64、Linux Arm64、Linux LoongArch64 和 Linux RISC-V64 平台上启动 Minecraft 26.1-snapshot-8 及更高版本 (by Glavo)
- GP-5586: 优化无法补全 JavaFX 时的报错信息 (by Glavo)
- GP-5631: 重启 HMCL 时继承所有 JVM 参数 (by 辞庐, Glavo)
- GP-5655: 添加对 `1.21.11-rc3_unobfuscated` 的支持 (by TNTyep520, Glavo)
- GP-5697: 导出 BAT 脚本时将单行长度限制放宽至 32767 字符 (by 辞庐)
- GP-5759: 为主页启动按钮添加冷却时间 (by Glavo)
- GP-5773: 更新模组和整合包数据 (by Glavo)
- GP-5791: 支持愚人节模式 (by Glavo)
- 实例管理
- GP-5242: 支持在实例列表页面搜索实例 (by 辞庐, Zkitefly)
- 游戏设置
- GP-5514: 为渲染器设置项添加描述 (by Damon Lu)
- GP-5638: 切换版本隔离设置后自动刷新其他子页面 (by 辞庐)
- 世界管理
- GP-5552: 支持新版本世界指定资源包位置 (by mineDiamond)
- GP-5652: 在世界管理页面隐藏 `.zip` 格式的世界 (by Wulian233)
- GP-5675: 支持读取 26.1-snapshot-6 及更高版本的存档数据 (by mineDiamond)
- 整合包
- GP-5710: 导出 Modrinth 整合包时不再要求填写作者 (by MovTery)
- 外观
- GP-5521: 优化下载页面条目水波纹样式 (by 辞庐)
- GP-5554: 向图标添加圆角 (by Dime)
- GP-5565, GP-5800, GP-5803, GP-5804: 更新进度条和进度指示器样式 (by Glavo)
- GP-5636: 支持在 `LineSelectButton` 弹出菜单中使用键盘上下键进行选择 (by 辞庐)
- GP-5663: 调整导出游戏运行栈加载指示器大小 (by 辞庐)
- GP-5664: 优化“删除”按钮的图标 (by 辞庐)
- GP-5690: 优化文件选择器按钮样式 (by 辞庐)
- GP-5707: 优化 `LineSelectButton` 弹出菜单中标签的配色 (by 辞庐)
- GP-5716: 向滚动条添加圆角 (by Calboot)
- GP-5760: 优化 `JFXToggleButton` 的配色 (by Glavo)
- GP-5769: 当背景自定义路径是文件夹时随机在文件夹中选取图片作为背景 (by 辞庐)
- GP-5805: 平滑进度条 (by Glavo)
- 下载
- GP-5030, GP-5798: 重新启用 MCIM 加速 (by Glavo)
- GP-5313: 支持从 CurseForge 下载光影 (by 辞庐)
- GP-5458, GP-5463: 使下载界面简介不滚动 (by Calboot)
- GP-5603: 下载文件失败时在重试前添加等待延迟 (by Glavo)
- GP-5698: 优化实例默认实例名称 (by 辞庐)
- GP-5739: 移除下载页面超链接多余 Tooltip (by 辞庐)
- 本地化
- GP-5714: 更新阿拉伯语翻译 (by Hommam-Prom)
- 优化软件文案,修订翻译 (by 3gf8jv4dv, 辞庐)
- 错误修复
- GP-4876: 修复 macOS 平台上空闲内存识别错误的问题 (by Damon Lu, Glavo)
- GP-5359: 修复语言为文言时下载游戏的选择模组加载器页面的版本号未本地化的问题 (by Wulian233)
- GP-5430: 修复启动游戏补全文件时,任务没有正确归类的问题 (by 辞庐, Glavo)
- GP-5532: 修复高分屏下新建账户标签页文字模糊的问题 (by 辞庐)
- GP-5536: 修复更新整合包后模组加载器版本号不会及时更新的问题 (by 小宇)
- GP-5539: 修复解析 Yggdrasil 服务器地址时不遵循重定向的问题 (by Glavo)
- GP-5556: 修复通过 CurseForge/Modrinth 安装整合包时可以返回到整合包类型选择页面的问题 (by 辞庐)
- GP-5558: 修复光影下载搜索栏中错误地显示“支持中英文搜索”提示的问题 (by 辞庐)
- GP-5581: 修复日志窗口中复制日志时会在主窗口中显示提示的问题 (by 辞庐)
- GP-5600: 修复部分对话框中取消按钮行为异常的问题 (by 辞庐)
- GP-5605: 修复选择角色弹窗未适配深色模式的问题 (by 辞庐)
- GP-5607: 修复账号列表复制 UUID 按钮样式异常的问题 (by 辞庐)
- GP-5633: 修复部分弹窗标题未本地化的问题 (by 辞庐)
- GP-5659: 修复不支持导出游戏运行栈的提示未正确展示的问题 (by 辞庐)
- GP-5662: 修复无法导出使用 Java 11 启动的游戏进程的运行栈的问题 (by 辞庐)
- GP-5669: 修复无法导入部分 Modrinth 整合包的问题 (by 辞庐)
- GP-5691: 修复安装整合包界面实例名称重复提示显示不全的问题 (by 辞庐)
- GP-5693: 修复 `SpinnerPane` 会裁切元素的问题 (by 辞庐)
- GP-5705: 修复手动取消模组更新检查时会弹窗提示操作失败的问题 (by 辞庐)
- GP-5706: 修复 `LineComponent` 副标题样式未正确应用 (by 辞庐)
- GP-5728: 修复“从互联网下载整合包”选项对话框可能会意外被关闭的问题 (by Glavo)
- GP-5737: 修复运行路径中包含非法字符 `=` 时的提示 (by 辞庐)
- GP-5765, GP-5810: 修复无法归一化 26.1 的预发布版和发布候选版本号的问题 (by mineDiamond)
- GP-5772: 修复 Windows 平台 125% 缩放的屏幕上弹出菜单内容模糊的问题 (by 辞庐)
- GP-5776: 修复颜色选择器中“自定义颜色”对话框初始值不会与当前颜色同步的问题 (by Damon Lu)
- GP-5782: 修复对高版本 Cleanroom 选择的 Java 版本错误的问题 (by 辞庐, Glavo)
+14
View File
@@ -0,0 +1,14 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1183364799797395474)
- 启动器
- GP-5833: 优化对 26.1 正式版/预发布版/候选版的支持 (by Glavo)
- 下载
- GP-5841: 将 Java 下载页面默认 Java 版本更新至 Java 25 (by Glavo)
- 本地化
- GP-5845: 更新文言文翻译 (by Glavo)
- 错误修复
- GP-5839: 修复文本框导致 GPU 占用率异常高的问题 (by Glavo)
+15
View File
@@ -0,0 +1,15 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1188175055790538753)
**启动器**
- GP-5870, GP-5873, GP-5874, GP-5882: 优化 Minecraft 26.1 性能 (by Glavo, 3gf8jv4dv) [BV1mPXSBEEBx](https://www.bilibili.com/video/BV1mPXSBEEBx)
- GP-5892: 优化对 26w14a 愚人节版本的支持,更新模组下载页游戏版本列表至 26.1.1 (by Glavo)
**世界管理**
- GP-5860: 种子地图、要塞地图、下届要塞地图和末地城地图支持 26.1 (by Glavo,neveler)
**错误修复**
- GP-5910: 修复无法为 Minecraft 26.1.1 从官方源安装 NeoForge 的问题 (by Glavo, Burning_TNT)
+73
View File
@@ -0,0 +1,73 @@
---
---
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1192242668981190663)
**启动器**
- GP-5851: 将 kala-compress 更新至 1.27.1-3 (by Glavo)
- GP-5854: 将 twelvemonkeys 更新至 3.13.1 (by Glavo)
- GP-5883: 将 XZ for Java 更新至 1.12 (by Glavo)
- GP-4716: 优化 Java 信息识别功能 (by Glavo)
- GP-5316: 更新 AMD 显卡信息数据 (by 辞庐, Glavo)
- GP-5518: 在 Wine 环境中启动时发出警告 (by Damon Lu)
- GP-5667: 优化 NBT 读取功能 (by Glavo)
- GP-5660: 在游戏进程结束后禁用“结束游戏进程”与“导出游戏运行栈”按钮 (by 辞庐)
- GP-5694: 为游戏崩溃界面导出和启动器日志导出添加加载指示器 (by 辞庐)
- GP-5702: 优化标签的展示逻辑 (by 辞庐)
- GP-5703: 更新更新渠道选择选项 (by 辞庐, 3gf8jv4dv, Glavo)
- GP-5730: 支持通过版本 json 安装实例 (by 辞庐, Glavo)
- GP-5738: 为在临时目录中启动 HMCL 时弹出的提示对话框添加 5 秒倒计时 (by 辞庐)
- GP-5879: 安装模组时检查文件是否已存在 (by 辞庐)
- GP-5880: 优化手动更新 URL (by Xirren)
- GP-5923: 优化原理图管理和世界界面中部分输入框的校验方式 (by 辞庐)
- GP-5928: 支持在 FreeBSD x86-64、Linux Arm64、Linux LoongArch64 和 Linux RISC-V64 平台上启动 Minecraft 26.2-snapshot-1+ (by Glavo)
**游戏设置**
- GP-5813: 将“不适用于当前系统的选项”的系统支持信息移到子标题 (by Damon Lu)
- GP-5930, GP-5940: 支持设置 Vulkan 的渲染器 (by Glavo, 3gf8jv4dv) [BV1Nhd5B9ENc](https://www.bilibili.com/video/BV1Nhd5B9ENc)
**账户**
- GP-5949: 上传微软账户皮肤时校验图片尺寸 (by 辞庐)
**整合包**
- GP-5786, GP-5837: 安装 CurseForge 整合包时下载图标 (by Calboot)
**外观**
- GP-5484: 支持加载 SVG 图片 (by Glavo)
- GP-5775: 为自定义颜色选择对话框添加确认和取消按钮 (by mineDiamond, Glavo)
- GP-5829: 更新内存状态栏样式 (by Glavo)
- GP-5830: 在颜色选择器中隐藏透明度值 (by neveler)
- GP-5832, GP-5836: 为弹窗添加圆角 (by neveler)
- GP-5861: 优化“关于”页面组件间距 (by neveler)
- GP-5905: 优化组合框样式 (by Wulian233)
- GP-5917: 优化组合框展开图标 (by 辞庐, Glavo)
- GP-5924: 优化 Java 下载弹窗旋转指示器样式 (by 辞庐)
- GP-5925: 优化添加认证服务器 http 警告颜色 (by 辞庐)
- GP-5944: 优化菜单分隔符颜色 (by 辞庐, Glavo)
- GP-5945: 增大自动安装界面加载器名称和版本号之间的间距 (by 辞庐)
**下载**
- GP-5601, GP-5899: 下载页面折叠快照 Minecraft 版本 (by 辞庐, Glavo, Calboot)
- GP-5781: 支持设置游戏内容默认下载源 (by Calboot, Glavo, 3gf8jv4dv)
- GP-5859: 增强 Java 下载功能可靠性 (by Glavo)
- GP-5872: 优化下载页面依赖项展示 (by 辞庐)
- GP-5934: 更新游戏内容下载页游戏版本列表至 26.1.2 (by Glavo)
- GP-5946: 隐藏 CurseForge 源中游戏内容的不重要标签 (by 辞庐)
**本地化**
- GP-5931: 支持将新格式快照版本号翻译为文言 (by Glavo)
- 优化软件文案,修订翻译 (by 3gf8jv4dv)
**错误修复**
- GP-5301: 修复清理游戏资源/库操作在 JavaFX 线程运行的问题 (by 辞庐)
- GP-5609: 修复涟漪无法完整覆盖大型控件的问题 (by 辞庐)
- GP-5688: 修复 Alex 模型皮肤 3D 预览手臂背后有一列侧面的异常像素的问题 (by 辞庐)
- GP-5877: 修复弹窗过程中模糊 (by 辞庐)
- GP-5888: 修复模组管理页面对于 1.20.1+NeoForge 实例会将部分 Forge 模组识别为 `MixinExtras` 的问题 (by Calboot)
- GP-5911: 修复多次打开微软登录弹窗后报错的问题 (by Glavo)
- GP-5914: 修复导入整合包界面箭头颜色错误的问题 (by Calboot)
- GP-5915: 修复长按标题栏中部分按钮时可以拖动窗口的问题 (by 辞庐)
- GP-5922: 修复安装整合包时部分任务未正确归类的问题 (by 辞庐)
- GP-5935: 修复日志窗口中可能显示横向滚动条的问题 (by Glavo)
- GP-5943: 修复模组名字过长时下载页面布局异常的问题 (by 辞庐)
+8 -8
View File
@@ -52,21 +52,21 @@
- GP-3490: 修复 OAuth 登录时轮询过于频繁的问题 - GP-3490: 修复 OAuth 登录时轮询过于频繁的问题
- GP-3464: 修复在更新日志界面无法拖动启动器窗口的问题 - GP-3464: 修复在更新日志界面无法拖动启动器窗口的问题
- GP-3503: 使用 Zink 渲染器时禁用 DRI3 - GP-3503: 使用 Zink 渲染器时禁用 DRI3
- GC-`5fd52bb`: 皮肤缓存不再保存到 .minecraft 目录 - GC-5fd52bb: 皮肤缓存不再保存到 .minecraft 目录
- GC-`81b3911`: 修复按 ESC 键时文本框内的值没有保存的问题 - GC-81b3911: 修复按 ESC 键时文本框内的值没有保存的问题
- GC-`260f4b6`: 修复输入对话框中 ESC 键不起作用的问题 - GC-260f4b6: 修复输入对话框中 ESC 键不起作用的问题
- GC-`7d12ef6`: 修复内存滑块提示被设备内存进度条覆盖的问题 - GC-7d12ef6: 修复内存滑块提示被设备内存进度条覆盖的问题
- GC-`78e15d1`: 修复游戏设置中内存没有实时刷新的问题 - GC-78e15d1: 修复游戏设置中内存没有实时刷新的问题
- GC-`6f53da1`: 完善模组下载界面 - GC-6f53da1: 完善模组下载界面
- GP-3252: 修复无法补全部分第三方 Minecraft 客户端游戏资源的问题 - GP-3252: 修复无法补全部分第三方 Minecraft 客户端游戏资源的问题
- GC-`56d20a5`, GC-`397edae`: 修复 Linux 平台调整窗口大小的问题 - GC-56d20a5, GC-397edae: 修复 Linux 平台调整窗口大小的问题
- GP-3531: 修复在 FreeBSD x86-64 平台未正确替换 LWJGL 本地库的问题 - GP-3531: 修复在 FreeBSD x86-64 平台未正确替换 LWJGL 本地库的问题
- GP-3541: 修复安装 MultiMC 整合包后没有设置版本图标的问题 - GP-3541: 修复安装 MultiMC 整合包后没有设置版本图标的问题
- GP-3549: 修复 macOS 平台 HMCLauncher.sh 不会显示 Java 下载页面的问题 - GP-3549: 修复 macOS 平台 HMCLauncher.sh 不会显示 Java 下载页面的问题
- GP-3594: Java 下载对话框中切换包类型时不应重置版本字段 - GP-3594: Java 下载对话框中切换包类型时不应重置版本字段
- GP-3598: 修复使用自定义字体时未正确设置字重的问题 - GP-3598: 修复使用自定义字体时未正确设置字重的问题
- GP-3602: 修复使用系统 GLFW/OpenAL 时无法启动部分游戏版本的问题 - GP-3602: 修复使用系统 GLFW/OpenAL 时无法启动部分游戏版本的问题
- GC-`ecafc9d`: 修复安装新游戏页面中组件框的高度问题 - GC-ecafc9d: 修复安装新游戏页面中组件框的高度问题
- GP-3618: 修复无法识别 Intel64 架构的问题 - GP-3618: 修复无法识别 Intel64 架构的问题
- GP-3626: 修复离线账户选择 Steve/Alex 皮肤时模型错误的问题 - GP-3626: 修复离线账户选择 Steve/Alex 皮肤时模型错误的问题
- GP-3622: 修复在非官方支持的平台上 Minecraft 1.21 与 Sodium 不兼容的问题 - GP-3622: 修复在非官方支持的平台上 Minecraft 1.21 与 Sodium 不兼容的问题
+7 -5
View File
@@ -1,8 +1,10 @@
--- ---
--- ---
- 启动器 **启动器**
- GP-4262: 更新 AMD 显卡信息 (by Glavo)
- GP-4274: 更新 chunkbase 种子地图链接 (by Wulian233) - GP-4262: 更新 AMD 显卡信息 (by Glavo)
- 错误修复: - GP-4274: 更新 chunkbase 种子地图链接 (by Wulian233)
- GP-4174: 修复无法从 BMCLAPI 下载部分 NeoForge 所需文件的问题 (by 辞庐) **错误修复:**
- GP-4174: 修复无法从 BMCLAPI 下载部分 NeoForge 所需文件的问题 (by 辞庐)
+34 -28
View File
@@ -3,31 +3,37 @@
版本介绍: [cv43005407](https://www.bilibili.com/opus/1111270122956259346) 版本介绍: [cv43005407](https://www.bilibili.com/opus/1111270122956259346)
- 启动器 **启动器**
- GP-4422: 弃用 Java 11 支持 (by Glavo)
- GP-4164: 支持通过环境变量强制使用 GPU 渲染和控制动画帧率 (by Glavo) - GP-4422: 弃用 Java 11 支持 (by Glavo)
- GP-4179: 在 `./.hmcl/java` 中搜索 Java (by Glavo) - GP-4164: 支持通过环境变量强制使用 GPU 渲染和控制动画帧率 (by Glavo)
- GP-4365: 修复首次打开子页面时切换动画丢失的问题 (by Glavo) - GP-4179: 在 `./.hmcl/java` 中搜索 Java (by Glavo)
- GP-4439: 更新模组和整合包数据 (by Glavo) - GP-4365: 修复首次打开子页面时切换动画丢失的问题 (by Glavo)
- GP-4414: 检测到配置文件由高版本启动器创建时禁止保存配置文件 (by Glavo) - GP-4439: 更新模组和整合包数据 (by Glavo)
- 游戏管理 - GP-4414: 检测到配置文件由高版本启动器创建时禁止保存配置文件 (by Glavo)
- GP-4224: 支持在 Windows 7/8/8.1 上使用软渲染器 (by Glavo) **游戏管理**
- 下载
- GP-4170: 模组下载列表翻页后自动回到顶部 (by 辞庐) - GP-4224: 支持在 Windows 7/8/8.1 上使用软渲染器 (by Glavo)
- GP-4171: 支持加载 WebP 图标,解决部分模组/整合包图标无法加载的问题 (by Glavo) **下载**
- 外观
- GP-4185: 新增内存显示条禁用样式 (by OrzMiku) - GP-4170: 模组下载列表翻页后自动回到顶部 (by 辞庐)
- 本地化 - GP-4171: 支持加载 WebP 图标,解决部分模组/整合包图标无法加载的问题 (by Glavo)
- GP-4376: 将“版本”重命名为“实例” (by 3gf8jv4dv) **外观**
- 优化软件文案,完善英语、西班牙语、俄语翻译
- 错误修复 - GP-4185: 新增内存显示条禁用样式 (by OrzMiku)
- GP-4121: 修复多次启动游戏时内存泄露的问题 (by roj234) **本地化**
- GP-4066: 修复游戏版本列表错误地过滤掉部分版本的问题 (by Wulian233)
- GP-4152: 修复导入异常格式的数据包时启动器崩溃的问题 (by Glavo) - GP-4376: 将“版本”重命名为“实例” (by 3gf8jv4dv)
- GP-4241: 修复非 Windows 平台上游戏进程的 `user.home` 可能被设置为 `null` 的问题 (by Glavo) - 优化软件文案,完善英语、西班牙语、俄语翻译
- GP-4437: 修复 backgroundType 为 `null` 时启动器崩溃的问题 (by Glavo) **错误修复**
- GP-4153: 修复“下载线程数”的指示器被提示覆盖的问题 (by 辞庐)
- GP-4238: 修复 `RemoteMod::getIntegrityCheck` 未选择正确的算法的问题 (by Glavo) - GP-4121: 修复多次启动游戏时内存泄露的问题 (by roj234)
- GP-4176: 修复整合包格式不匹配提示未被正确格式化的问题 (by 辞庐) - GP-4066: 修复游戏版本列表错误地过滤掉部分版本的问题 (by Wulian233)
- GP-4321: 世界管理页面添加对极限模式的支持 (by Wulian233) - GP-4152: 修复导入异常格式的数据包时启动器崩溃的问题 (by Glavo)
- GP-4192: 修复 LWJGL 路径显示错误的问题 (by 辞庐) - GP-4241: 修复非 Windows 平台上游戏进程的 `user.home` 可能被设置为 `null` 的问题 (by Glavo)
- GP-4437: 修复 backgroundType 为 `null` 时启动器崩溃的问题 (by Glavo)
- GP-4153: 修复“下载线程数”的指示器被提示覆盖的问题 (by 辞庐)
- GP-4238: 修复 `RemoteMod::getIntegrityCheck` 未选择正确的算法的问题 (by Glavo)
- GP-4176: 修复整合包格式不匹配提示未被正确格式化的问题 (by 辞庐)
- GP-4321: 世界管理页面添加对极限模式的支持 (by Wulian233)
- GP-4192: 修复 LWJGL 路径显示错误的问题 (by 辞庐)
+8 -6
View File
@@ -3,9 +3,11 @@
版本介绍: [cv43162536](https://www.bilibili.com/opus/1116529228834144258) 版本介绍: [cv43162536](https://www.bilibili.com/opus/1116529228834144258)
- 游戏管理 **游戏管理**
- GP-4515: 优化 Java 自动选择规则 (by Glavo)
- 错误修复 - GP-4515: 优化 Java 自动选择规则 (by Glavo)
- GP-4508: 修复使用 JavaFX 25 时游戏下载界面布局错误的问题 (by Glavo) **错误修复**
- GP-4465: 修复启用代理身份认证且未设置密码时启动器崩溃的问题 (by Glavo)
- GP-4466: 修复滚动切换游戏实例/账户功能 (by Glavo) - GP-4508: 修复使用 JavaFX 25 时游戏下载界面布局错误的问题 (by Glavo)
- GP-4465: 修复启用代理身份认证且未设置密码时启动器崩溃的问题 (by Glavo)
- GP-4466: 修复滚动切换游戏实例/账户功能 (by Glavo)
+8 -6
View File
@@ -3,10 +3,12 @@
版本介绍: [cv43348716](https://www.bilibili.com/opus/1123235936240402439) 版本介绍: [cv43348716](https://www.bilibili.com/opus/1123235936240402439)
- 启动器 **启动器**
- GP-4223: 在“设置 > 通用”添加“提前预览 HMCL 版本”选项 (by Glavo)<br>
- GP-4223: 在“设置 > 通用”添加“提前预览 HMCL 版本”选项 (by Glavo)<br>
详情请见完整更新日志: [cv43348716](https://www.bilibili.com/opus/1123235936240402439) 详情请见完整更新日志: [cv43348716](https://www.bilibili.com/opus/1123235936240402439)
- GP-4088: 当离线账户名称超过 16 字符时弹出警告 (by ShulkerSakura) - GP-4088: 当离线账户名称超过 16 字符时弹出警告 (by ShulkerSakura)
- 下载 **下载**
- GP-4120: 更新 unlisted-versions-of-minecraft 镜像源地址 (by 8Mi_Yile)
- GP-4626: 更新模组下载页游戏版本列表至 1.21.10 (by Glavo) - GP-4120: 更新 unlisted-versions-of-minecraft 镜像源地址 (by 8Mi_Yile)
- GP-4626: 更新模组下载页游戏版本列表至 1.21.10 (by Glavo)
+10 -7
View File
@@ -3,10 +3,13 @@
详细版本介绍: [cv43648491](https://www.bilibili.com/opus/1132495430464045104) 详细版本介绍: [cv43648491](https://www.bilibili.com/opus/1132495430464045104)
- 启动器 **启动器**
- GP-4742: 更新 Chunkbase 种子地图链接 (by Wulian233)
- 联机 - GP-4742: 更新 Chunkbase 种子地图链接 (by Wulian233)
- GP-4723: 将陶瓦联机更新至 0.3.13 (by Burning_TNT) **联机**
- GP-4735: 在不支持的平台上打开陶瓦联机页面时弹出提示 (by Glavo)
- 错误修复 - GP-4723: 将陶瓦联机更新至 0.3.13 (by Burning_TNT)
- GP-4736: 修复 FreeBSD x86-64 平台上错误的将所有版本视作未经测试的版本的问题 (by Glavo) - GP-4735: 在不支持的平台上打开陶瓦联机页面时弹出提示 (by Glavo)
**错误修复**
- GP-4736: 修复 FreeBSD x86-64 平台上错误的将所有版本视作未经测试的版本的问题 (by Glavo)
+14 -11
View File
@@ -3,16 +3,19 @@
详细版本介绍: [cv43836292](https://www.bilibili.com/opus/1138359439513878544) 详细版本介绍: [cv43836292](https://www.bilibili.com/opus/1138359439513878544)
- 下载 **下载**
- GP-4767: 添加对 25w45a_unobfuscated 的支持 (by Glavo)
- GP-4782: 添加对 25w46a_unobfuscated 的支持 (by Glavo)
- GP-4829: 添加对 1.21.11-pre1/2_unobfuscated 的支持 (by mineDiamond)
- GP-4841: 更新 HMCL 元数据链接 (by Glavo)
- 联机 - GP-4767: 添加对 25w45a_unobfuscated 的支持 (by Glavo)
- GP-4816: 更新陶瓦联机用户须知 (by Glavo) - GP-4782: 添加对 25w46a_unobfuscated 的支持 (by Glavo)
- GP-4838: 将陶瓦联机更新至 0.3.14 (by Burning_TNT) - GP-4829: 添加对 1.21.11-pre1/2_unobfuscated 的支持 (by mineDiamond)
- GP-4841: 更新 HMCL 元数据链接 (by Glavo)
- 错误修复 **联机**
- GP-4795: 修复初次打开部分页面时页面闪烁的问题 (by Glavo)
- GP-4808: 修复 Windows 下全局设置中本地库路径路径分隔符显示错误的问题 (by 辞庐) - GP-4816: 更新陶瓦联机用户须知 (by Glavo)
- GP-4838: 将陶瓦联机更新至 0.3.14 (by Burning_TNT)
**错误修复**
- GP-4795: 修复初次打开部分页面时页面闪烁的问题 (by Glavo)
- GP-4808: 修复 Windows 下全局设置中本地库路径路径分隔符显示错误的问题 (by 辞庐)
+30 -26
View File
@@ -3,29 +3,33 @@
详细版本介绍: [cv43836921](https://www.bilibili.com/opus/1138376365938049027) 详细版本介绍: [cv43836921](https://www.bilibili.com/opus/1138376365938049027)
- 启动器 **启动器**
- GP-4703, GP-4743: 优化更新日志展示功能 (by Glavo)
- GP-4696: 在外链按钮上添加 tooltip (by neveler) - GP-4703, GP-4743: 优化更新日志展示功能 (by Glavo)
- GP-4749: 恢复对 JavaFX 14 的兼容性 (by Glavo) - GP-4696: 在外链按钮上添加 tooltip (by neveler)
- GP-4760: 从注册表中读取 Windows 版本信息 (by Glavo) - GP-4749: 恢复对 JavaFX 14 的兼容性 (by Glavo)
- GP-4540: 删除实例失败时弹出对话框 (by Glavo) - GP-4760: 从注册表中读取 Windows 版本信息 (by Glavo)
- GP-4770: 更新模组数据 (by Glavo) - GP-4540: 删除实例失败时弹出对话框 (by Glavo)
- GP-4776: 优化游戏实例默认图标 (by Glavo) - GP-4770: 更新模组数据 (by Glavo)
- GP-4672: 优化数据包管理功能 (by mineDiamond) - GP-4776: 优化游戏实例默认图标 (by Glavo)
- GP-4612: 增强解析数据包/资源包元数据的能力 (by mineDiamond) - GP-4672: 优化数据包管理功能 (by mineDiamond)
- GP-4826: 从首页打开子页面时打开默认标签页 (by Glavo) - GP-4612: 增强解析数据包/资源包元数据的能力 (by mineDiamond)
- GP-4845: 更新 amdgpu.ids (by 辞庐) - GP-4826: 从首页打开子页面时打开默认标签页 (by Glavo)
- 外观/动画 - GP-4845: 更新 amdgpu.ids (by 辞庐)
- GP-4780, GP-4790, GP-4803, GP-4815: 优化界面动画效果 (by Glavo) **外观/动画**
- GP-4698: 被打包为 `.app` 文件时使用 `.app` 文件内置的 Dock 栏图标 (by 风花AnemoFlower)
- GP-4779: 预加载页面以减少动画卡顿 (by Glavo) - GP-4780, GP-4790, GP-4803, GP-4815: 优化界面动画效果 (by Glavo)
- GP-4762: 在 macOS 平台使用系统默认最小化动画 (by Damon Lu) - GP-4698: 被打包为 `.app` 文件时使用 `.app` 文件内置的 Dock 栏图标 (by 风花AnemoFlower)
- GP-4809: 在更多页面上启用平滑滚动 (by Glavo) - GP-4779: 预加载页面以减少动画卡顿 (by Glavo)
- 本地化 - GP-4762: 在 macOS 平台使用系统默认最小化动画 (by Damon Lu)
- GP-4709: 本地化下载速度显示 (by Glavo) - GP-4809: 在更多页面上启用平滑滚动 (by Glavo)
- 优化软件文案,修订翻译 (by 3gf8jv4dv, Glavo) **本地化**
- 错误修复
- GP-4775: 修复无法获取部分远古版本版本号的问题 (by Glavo) - GP-4709: 本地化下载速度显示 (by Glavo)
- GP-4783: 修复模组管理页面点击搜索按钮后未聚焦到搜索栏的问题 (by mineDiamond) - 优化软件文案,修订翻译 (by 3gf8jv4dv, Glavo)
- GP-4805: 修复复制实例时使用非法实例 ID 启动器行为异常的问题 (by Haowei Wen) **错误修复**
- GP-4844: 修复缓存异常时下载任务无限循环的问题 (by Glavo)
- GP-4775: 修复无法获取部分远古版本版本号的问题 (by Glavo)
- GP-4783: 修复模组管理页面点击搜索按钮后未聚焦到搜索栏的问题 (by mineDiamond)
- GP-4805: 修复复制实例时使用非法实例 ID 启动器行为异常的问题 (by Haowei Wen)
- GP-4844: 修复缓存异常时下载任务无限循环的问题 (by Glavo)
+9 -7
View File
@@ -3,10 +3,12 @@
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1148470393780043777) [详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1148470393780043777)
- 启动器 **启动器**
- GP-4886: 优化对 Linux MIPS64el 平台的支持 (by Glavo)
- GP-4917: 支持 Minecraft 新版本号规则 (by Glavo) - GP-4886: 优化对 Linux MIPS64el 平台的支持 (by Glavo)
- 错误修复 - GP-4917: 支持 Minecraft 新版本号规则 (by Glavo)
- GP-4850: 修复 `FetchTask` 未设置 User-Agent 的问题 (by Glavo) **错误修复**
- GP-4913: 修复游戏进程结束时点击日志窗口的“结束游戏进程”按钮会导致启动器无响应的问题 (by Glavo)
- GP-4981: 修复从 BMCLAPI 下载部分旧文件时校验失败的问题 (by Glavo) - GP-4850: 修复 `FetchTask` 未设置 User-Agent 的问题 (by Glavo)
- GP-4913: 修复游戏进程结束时点击日志窗口的“结束游戏进程”按钮会导致启动器无响应的问题 (by Glavo)
- GP-4981: 修复从 BMCLAPI 下载部分旧文件时校验失败的问题 (by Glavo)
+43 -35
View File
@@ -3,38 +3,46 @@
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1148770448825122832) [详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1148770448825122832)
- 启动器 **启动器**
- GP-4837: 实验性支持阿拉伯语 (by Hommam-Prom)
- GP-4911, GP-4963: 添加对 1.21.11_unobfuscated 及其预发布版的支持 (by mineDiamond) - GP-4837: 实验性支持阿拉伯语 (by Hommam-Prom)
- GP-4927: 在 macOS 平台上导出启动脚本时支持导出 `.command` 文件 (by WhatDamon) - GP-4911, GP-4963: 添加对 1.21.11_unobfuscated 及其预发布版的支持 (by mineDiamond)
- GP-5019: 使用子标题注解“提前预览 HMCL 版本”选项 (by neveler) - GP-4927: 在 macOS 平台上导出启动脚本时支持导出 `.command` 文件 (by WhatDamon)
- GP-5008: 优化反馈页面 (by Glavo) - GP-5019: 使用子标题注解“提前预览 HMCL 版本”选项 (by neveler)
- 游戏设置 - GP-5008: 优化反馈页面 (by Glavo)
- GP-4144: 添加输出游戏调试日志选项 (by 辞庐) **游戏设置**
- 实例管理
- GP-4475: 添加资源包管理功能 (by 辞庐) - GP-4144: 添加输出游戏调试日志选项 (by 辞庐)
- GP-4872: 添加快速进入世界功能 (by mineDiamond) **实例管理**
- 账户管理
- GP-4932: 在主页右键点击账户按钮时弹出快速切换账户菜单 (by zimzaza4) - GP-4475: 添加资源包管理功能 (by 辞庐)
- 外观 - GP-4872: 添加快速进入世界功能 (by mineDiamond)
- GP-4835: 更新至 Material Design 3 颜色系统 (by Glavo) **账户管理**
- 支持深色模式 (by Glavo, Wulian233, neveler)
- GP-4854: 更新表格控件的样式 (by Calboot) - GP-4932: 在主页右键点击账户按钮时弹出快速切换账户菜单 (by zimzaza4)
- GP-4865: 更新颜色选择器样式 (by Glavo) **外观**
- GP-4915: 在 `HintPane` 提示框中为图标和文本添加间距 (by neveler)
- GP-4951: 更新选择框下拉菜单滚动条样式 (by Glavo) - GP-4835: 更新至 Material Design 3 颜色系统 (by Glavo)
- GP-4964: 更新表格中复选框的样式 (by Glavo) - 支持深色模式 (by Glavo, Wulian233, neveler)
- 下载 - GP-4854: 更新表格控件的样式 (by Calboot)
- GP-4856: 优化下载源选择逻辑 (by Glavo) - GP-4865: 更新颜色选择器样式 (by Glavo)
- GP-4990: 支持下载 Java 25 (by OrzMiku) - GP-4915: 在 `HintPane` 提示框中为图标和文本添加间距 (by neveler)
- 联机 - GP-4951: 更新选择框下拉菜单滚动条样式 (by Glavo)
- GP-4869: 在陶瓦联机页面向非中国内地用户添加提示框 (by Glavo) - GP-4964: 更新表格中复选框的样式 (by Glavo)
- GP-4916: 在陶瓦联机界面启动游戏时禁用离线皮肤功能 (by Glavo) **下载**
- 错误修复
- GP-4857: 修复惯性滚动可能导致弹出菜单错位的问题 (by Glavo) - GP-4856: 优化下载源选择逻辑 (by Glavo)
- GP-4871: 修复修改主题色后 `JFXCheckBox` 颜色不会及时变化的问题 (by Glavo) - GP-4990: 支持下载 Java 25 (by OrzMiku)
- GP-4874: 修复 `JFXRadioButton` 在 Windows 平台上中心圆点偏移的问题 (by Glavo) **联机**
- GP-4895: 修复模组更新列表界面按 esc 无法正确退出的问题 (by Calboot)
- GP-4935: 修复本地安装新版本 Forge 时未移除版本号中 `forge-` 前缀的问题 (by 辞庐) - GP-4869: 在陶瓦联机页面向非中国内地用户添加提示框 (by Glavo)
- GP-4946: 修复模组管理页面中 OptiFine HD U G6 pre1 与 CurseForge 上的无关模组相关联的问题 (by Burning_TNT) - GP-4916: 在陶瓦联机界面启动游戏时禁用离线皮肤功能 (by Glavo)
- GP-4945: 修复无法识别部分 Forge/NeoForge 模组的问题 (by Burning_TNT) **错误修复**
- GP-4857: 修复惯性滚动可能导致弹出菜单错位的问题 (by Glavo)
- GP-4871: 修复修改主题色后 `JFXCheckBox` 颜色不会及时变化的问题 (by Glavo)
- GP-4874: 修复 `JFXRadioButton` 在 Windows 平台上中心圆点偏移的问题 (by Glavo)
- GP-4895: 修复模组更新列表界面按 esc 无法正确退出的问题 (by Calboot)
- GP-4935: 修复本地安装新版本 Forge 时未移除版本号中 `forge-` 前缀的问题 (by 辞庐)
- GP-4946: 修复模组管理页面中 OptiFine HD U G6 pre1 与 CurseForge 上的无关模组相关联的问题 (by Burning_TNT)
- GP-4945: 修复无法识别部分 Forge/NeoForge 模组的问题 (by Burning_TNT)
+10 -8
View File
@@ -3,11 +3,13 @@
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1157751599072804904) [详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1157751599072804904)
- 启动器 **启动器**
- GP-5046: 禁用日志窗口的平滑滚动效果 (by Glavo)
- GP-5052: 优化列表的平滑滚动效果 (by Glavo) - GP-5046: 禁用日志窗口的平滑滚动效果 (by Glavo)
- GP-5110: 更新 NeoForge 版本号规则 (by 辞庐) - GP-5052: 优化列表的平滑滚动效果 (by Glavo)
- 错误修复 - GP-5110: 更新 NeoForge 版本号规则 (by 辞庐)
- GP-5128: 修复使用 BMCLAPI 下载源时选择 `Liteloader` 版本时可能报错的问题 (by Wulian233) **错误修复**
- GP-5125: 修复未正确归类 NeoForge alpha 版本的问题 (by 辞庐)
- GP-5220: 修复 CurseForge 源无法搜索到内容的问题 (by Glavo) - GP-5128: 修复使用 BMCLAPI 下载源时选择 `Liteloader` 版本时可能报错的问题 (by Wulian233)
- GP-5125: 修复未正确归类 NeoForge alpha 版本的问题 (by 辞庐)
- GP-5220: 修复 CurseForge 源无法搜索到内容的问题 (by Glavo)
+2 -4
View File
@@ -9,6 +9,7 @@
# data_dir: _data # data_dir: _data
# includes_dir: _includes # includes_dir: _includes
# cache_dir: .jekyll-cache # cache_dir: .jekyll-cache
disable_disk_cache: true
sass: sass:
# sass_dir: _sass # sass_dir: _sass
# minimal-mistakes # minimal-mistakes
@@ -105,10 +106,7 @@ defaults:
path: "" path: ""
values: values:
layout: document layout: document
read_time: false show_date: true
author_profile: false
share: false
comments: false
sidebar: sidebar:
nav: docs nav: docs
hits: true hits: true
-15
View File
@@ -1,15 +0,0 @@
note:
title: 注意
class_name: notice--info
tip:
title: 提示
class_name: notice--success
important:
title: 重要
class_name: notice--primary
warning:
title: 警告
class_name: notice--warning
caution:
title: 谨慎
class_name: notice--danger
+18 -14
View File
@@ -5,22 +5,18 @@ appearance_color:
- light - light
- dark - dark
- auto - auto
appearance_skin_light: appearance_color_switcher:
type: radio type: radio
default: default default: enable
options: options:
- default - enable
- air - disable
- aqua appearance_skin:
- contrast type: multi-radio
- dark children:
- dirt light:
- neon default: default
- mint dark:
- plum
- sunrise
appearance_skin_dark:
type: radio
default: dark default: dark
options: options:
- default - default
@@ -33,3 +29,11 @@ appearance_skin_dark:
- mint - mint
- plum - plum
- sunrise - sunrise
- catppuccin_latte
- catppuccin_mocha
miscellaneous_hits:
type: radio
default: enable
options:
- enable
- disable
+2
View File
@@ -0,0 +1,2 @@
zh:
follow_label: false
+2 -2
View File
@@ -5,7 +5,7 @@ date: 2022-12-03 17:30:00 +0800
点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。 点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。
[链接](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre-full&bitness=32&architecture=arm#:~:text=All%20versions) [链接](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre-full&bitness=32&architecture=arm#:~:text=All%20versions)
或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。 或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。
@@ -13,6 +13,6 @@ date: 2022-12-03 17:30:00 +0800
Click one of the following links to download Java, and then use the package or extract it manually to install Java. Click one of the following links to download Java, and then use the package or extract it manually to install Java.
[Link](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre-full&bitness=32&architecture=arm#:~:text=All%20versions) [Link](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre-full&bitness=32&architecture=arm#:~:text=All%20versions)
Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux). Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux).
+2 -2
View File
@@ -5,7 +5,7 @@ date: 2022-12-03 17:30:00 +0800
点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。 点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。
[链接](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre-full&bitness=64&architecture=arm#:~:text=All%20versions) [链接](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre-full&bitness=64&architecture=arm#:~:text=All%20versions)
或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。 或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。
@@ -13,6 +13,6 @@ date: 2022-12-03 17:30:00 +0800
Click one of the following links to download Java, and then use the package or extract it manually to install Java. Click one of the following links to download Java, and then use the package or extract it manually to install Java.
[Link](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre-full&bitness=64&architecture=arm#:~:text=All%20versions) [Link](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre-full&bitness=64&architecture=arm#:~:text=All%20versions)
Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux). Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux).
+5 -3
View File
@@ -16,7 +16,7 @@ redirect_from:
如果你正在使用新世界龙芯系统,请下载新世界 Java。 如果你正在使用新世界龙芯系统,请下载新世界 Java。
直接下载 (需自行安装):[loongson25.1.5-fx-jdk25_36-linux-loongarch64-glibc2.34.tar.gz](https://ftp.loongnix.cn/Java/openjdk25/loongson25.1.5-fx-jdk25_36-linux-loongarch64-glibc2.34.tar.gz) 直接下载 (需自行安装):[loongson25.3.20-fx-jdk25.0.1_8-linux-loongarch64-glibc2.34.tar.gz](https://ftp.loongnix.cn/Java/openjdk25/loongson25.3.20-fx-jdk25.0.1_8-linux-loongarch64-glibc2.34.tar.gz)
通过包管理器安装: 通过包管理器安装:
@@ -38,6 +38,8 @@ redirect_from:
如果你正在使用旧世界龙芯系统,请下载旧世界 Java: 如果你正在使用旧世界龙芯系统,请下载旧世界 Java:
- `.tar.gz`: [loongson25.1.5-fx-jdk25_36-linux-loongarch64.tar.gz](https://ftp.loongnix.cn/Java/openjdk25/loongson25.1.5-fx-jdk25_36-linux-loongarch64.tar.gz) - `.tar.gz`: [loongson25.3.20-fx-jdk25.0.1_8-linux-loongarch64.tar.gz](https://ftp.loongnix.cn/Java/openjdk25/loongson25.3.20-fx-jdk25.0.1_8-linux-loongarch64.tar.gz)
- `.deb`: [loongson25.1.5-fx-jdk25_36-linux-loongarch64.deb](https://ftp.loongnix.cn/Java/openjdk25/loongson25.1.5-fx-jdk25_36-linux-loongarch64.deb) - `.deb`: [loongson25.3.20-fx-jdk25.0.1_8-linux-loongarch64.deb](https://ftp.loongnix.cn/Java/openjdk25/loongson25.3.20-fx-jdk25.0.1_8-linux-loongarch64.deb)
- `.rpm`: [loongson25.3.20-fx-jdk25.0.1_8-linux.loongarch64.rpm](https://ftp.loongnix.cn/Java/openjdk25/loongson25.3.20-fx-jdk25.0.1_8-linux.loongarch64.rpm)
+2 -2
View File
@@ -5,7 +5,7 @@ date: 2024-10-06 22:00:00 +0800
点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。 点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。
[链接](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre&bitness=64&architecture=riscv#:~:text=All%20versions) [链接](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre&bitness=64&architecture=riscv#:~:text=All%20versions)
或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。 或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。
@@ -13,6 +13,6 @@ date: 2024-10-06 22:00:00 +0800
Click one of the following links to download Java, and then use the package or extract it manually to install Java. Click one of the following links to download Java, and then use the package or extract it manually to install Java.
[Link](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre&bitness=64&architecture=riscv#:~:text=All%20versions) [Link](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre&bitness=64&architecture=riscv#:~:text=All%20versions)
Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux). Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux).
+2 -2
View File
@@ -5,7 +5,7 @@ date: 2022-12-03 17:30:00 +0800
点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。 点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。
[链接](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre&bitness=32&architecture=x86#:~:text=All%20versions) [链接](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre&bitness=32&architecture=x86#:~:text=All%20versions)
或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。 或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。
@@ -13,6 +13,6 @@ date: 2022-12-03 17:30:00 +0800
Click one of the following links to download Java, and then use the package or extract it manually to install Java. Click one of the following links to download Java, and then use the package or extract it manually to install Java.
[Link](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre&bitness=32&architecture=x86#:~:text=All%20versions) [Link](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre&bitness=32&architecture=x86#:~:text=All%20versions)
Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux). Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux).
+2 -2
View File
@@ -5,7 +5,7 @@ date: 2022-12-03 17:30:00 +0800
点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。 点下面的链接以下载 Java ,然后使用软件包管理器或者手动解压安装。
[链接](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre-full&bitness=64&architecture=x86#:~:text=All%20versions) [链接](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre-full&bitness=64&architecture=x86#:~:text=All%20versions)
或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。 或者你也可以根据[教程](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux)来添加仓库到你的软件包管理器。
@@ -13,6 +13,6 @@ date: 2022-12-03 17:30:00 +0800
Click one of the following links to download Java, and then use the package or extract it manually to install Java. Click one of the following links to download Java, and then use the package or extract it manually to install Java.
[Link](https://bell-sw.com/pages/downloads/?version=java-21&os=linux&package=jre-full&bitness=64&architecture=x86#:~:text=All%20versions) [Link](https://bell-sw.com/pages/downloads/?version=java-25&os=linux&package=jre-full&bitness=64&architecture=x86#:~:text=All%20versions)
Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux). Or you can add the repository to the package manager according to the [instruction](https://docs.bell-sw.com/liberica-jdk/latest/general/install-guide/#linux).
+3 -3
View File
@@ -7,19 +7,19 @@ date: 2022-12-03 17:30:00 +0800
![macos-arm64-1](/assets/img/docs/java-download-pages/macos-arm64-1.gif) ![macos-arm64-1](/assets/img/docs/java-download-pages/macos-arm64-1.gif)
没有下载?[点击此处开始下载](https://bell-sw.com/pages/downloads/?version=java-21&os=macos&architecture=arm&package=jre-full&bitness=64#:~:text=All%20versions) 没有下载?[点击此处开始下载](https://bell-sw.com/pages/downloads/?version=java-25&os=macos&architecture=arm&package=jre-full&bitness=64#:~:text=All%20versions)
--- ---
You are going to the Java download page. Please scroll down and click `DMG` download button, then wait for the Java installer to finish downloading, and finally open the installer and follow the prompts to install Java. You are going to the Java download page. Please scroll down and click `DMG` download button, then wait for the Java installer to finish downloading, and finally open the installer and follow the prompts to install Java.
No redirect? [Click here to start downloading](https://bell-sw.com/pages/downloads/?version=java-21&os=macos&architecture=arm&package=jre-full&bitness=64#:~:text=All%20versions) No redirect? [Click here to start downloading](https://bell-sw.com/pages/downloads/?version=java-25&os=macos&architecture=arm&package=jre-full&bitness=64#:~:text=All%20versions)
<script> <script>
/* 等待 5 秒. */ /* 等待 5 秒. */
setTimeout(function() { setTimeout(function() {
window.location.href = "https://bell-sw.com/pages/downloads/?version=java-21&os=macos&architecture=arm&package=jre-full&bitness=64#:~:text=All%20versions"; window.location.href = "https://bell-sw.com/pages/downloads/?version=java-25&os=macos&architecture=arm&package=jre-full&bitness=64#:~:text=All%20versions";
}, 5000); }, 5000);
</script> </script>
+3 -3
View File
@@ -7,19 +7,19 @@ date: 2022-12-03 17:30:00 +0800
![macos-x86_64-1](/assets/img/docs/java-download-pages/macos-x86_64-1.gif) ![macos-x86_64-1](/assets/img/docs/java-download-pages/macos-x86_64-1.gif)
没有下载?[点击此处开始下载](https://bell-sw.com/pages/downloads/?version=java-21&os=macos&architecture=x86&package=jre-full&bitness=64#:~:text=All%20versions) 没有下载?[点击此处开始下载](https://bell-sw.com/pages/downloads/?version=java-25&os=macos&architecture=x86&package=jre-full&bitness=64#:~:text=All%20versions)
--- ---
You are going to the Java download page. Please scroll down and click `DMG` download button, then wait for the Java installer to finish downloading, and finally open the installer and follow the prompts to install Java. You are going to the Java download page. Please scroll down and click `DMG` download button, then wait for the Java installer to finish downloading, and finally open the installer and follow the prompts to install Java.
No redirect? [Click here to start downloading](https://bell-sw.com/pages/downloads/?version=java-21&os=macos&architecture=x86&package=jre-full&bitness=64#:~:text=All%20versions) No redirect? [Click here to start downloading](https://bell-sw.com/pages/downloads/?version=java-25&os=macos&architecture=x86&package=jre-full&bitness=64#:~:text=All%20versions)
<script> <script>
/* 等待 5 秒. */ /* 等待 5 秒. */
setTimeout(function() { setTimeout(function() {
window.location.href = "https://bell-sw.com/pages/downloads/?version=java-21&os=macos&architecture=x86&package=jre-full&bitness=64#:~:text=All%20versions"; window.location.href = "https://bell-sw.com/pages/downloads/?version=java-25&os=macos&architecture=x86&package=jre-full&bitness=64#:~:text=All%20versions";
}, 5000); }, 5000);
</script> </script>
+6 -6
View File
@@ -9,17 +9,17 @@ Java 安装包已开始下载,请等待 Java 安装程序下载完成,最后
![windows-x86_64-2](/assets/img/docs/java-download-pages/windows-x86_64-2.gif) ![windows-x86_64-2](/assets/img/docs/java-download-pages/windows-x86_64-2.gif)
没有下载?[点击此处开始下载](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-21-windows-aarch64.msi) 没有下载?[点击此处开始下载](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-25-windows-aarch64.msi)
无法下载?[点击此处开始下载(备用)](https://aka.ms/download-jdk/microsoft-jdk-21-windows-aarch64.msi) 无法下载?[点击此处开始下载(备用)](https://aka.ms/download-jdk/microsoft-jdk-25-windows-aarch64.msi)
--- ---
The Java installation package has started to download. Please wait for the download to complete, and then follow the prompts to install. The Java installation package has started to download. Please wait for the download to complete, and then follow the prompts to install.
No redirect? [Click here to start downloading](https://aka.ms/download-jdk/microsoft-jdk-21-windows-aarch64.msi) No redirect? [Click here to start downloading](https://aka.ms/download-jdk/microsoft-jdk-25-windows-aarch64.msi)
Can't download? [Click here to download (alternative)](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-21-windows-aarch64.msi) Can't download? [Click here to download (alternative)](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-25-windows-aarch64.msi)
<script> <script>
@@ -27,8 +27,8 @@ Can't download? [Click here to download (alternative)](https://alist.8mi.tech/d/
setTimeout(function() { setTimeout(function() {
const isZhCN = /^zh-CN/i.test(navigator.language); const isZhCN = /^zh-CN/i.test(navigator.language);
const url = isZhCN const url = isZhCN
? "https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-21-windows-aarch64.msi" ? "https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-25-windows-aarch64.msi"
: "https://aka.ms/download-jdk/microsoft-jdk-21-windows-aarch64.msi"; : "https://aka.ms/download-jdk/microsoft-jdk-25-windows-aarch64.msi";
location.href = url; location.href = url;
}, 5000); }, 5000);
</script> </script>
+3 -3
View File
@@ -11,19 +11,19 @@ date: 2022-12-03 17:30:00 +0800
![windows-x86-3](/assets/img/docs/java-download-pages/windows-x86-3.gif) ![windows-x86-3](/assets/img/docs/java-download-pages/windows-x86-3.gif)
没有下载?[点击此处开始下载](https://bell-sw.com/pages/downloads/?version=java-21&os=windows&architecture=x86&bitness=32&package=jre-full#:~:text=All%20versions) 没有下载?[点击此处开始下载](https://bell-sw.com/pages/downloads/?version=java-25&os=windows&architecture=x86&bitness=32&package=jre-full#:~:text=All%20versions)
--- ---
You are going to the Java download page. Please scroll down and click `MSI` download button, then wait for the Java installer to finish downloading, and finally open the installer and follow the prompts to install Java. You are going to the Java download page. Please scroll down and click `MSI` download button, then wait for the Java installer to finish downloading, and finally open the installer and follow the prompts to install Java.
No redirect? [Click here to start downloading](https://bell-sw.com/pages/downloads/?version=java-21&os=windows&architecture=x86&bitness=32&package=jre-full#:~:text=All%20versions) No redirect? [Click here to start downloading](https://bell-sw.com/pages/downloads/?version=java-25&os=windows&architecture=x86&bitness=32&package=jre-full#:~:text=All%20versions)
<script> <script>
/* 等待 5 秒. */ /* 等待 5 秒. */
setTimeout(function() { setTimeout(function() {
window.location.href = "https://bell-sw.com/pages/downloads/?version=java-21&os=windows&architecture=x86&bitness=32&package=jre-full#:~:text=All%20versions"; window.location.href = "https://bell-sw.com/pages/downloads/?version=java-25&os=windows&architecture=x86&bitness=32&package=jre-full#:~:text=All%20versions";
}, 5000); }, 5000);
</script> </script>
+6 -6
View File
@@ -9,17 +9,17 @@ Java 安装包已开始下载,请等待 Java 安装程序下载完成,最后
![windows-x86_64-2](/assets/img/docs/java-download-pages/windows-x86_64-2.gif) ![windows-x86_64-2](/assets/img/docs/java-download-pages/windows-x86_64-2.gif)
没有下载?[点击此处开始下载](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-21-windows-x64.msi) 没有下载?[点击此处开始下载](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-25-windows-x64.msi)
无法下载?[点击此处开始下载(备用)](https://aka.ms/download-jdk/microsoft-jdk-21-windows-x64.msi) 无法下载?[点击此处开始下载(备用)](https://aka.ms/download-jdk/microsoft-jdk-25-windows-x64.msi)
--- ---
The Java installation package has started to download. Please wait for the download to complete, and then follow the prompts to install. The Java installation package has started to download. Please wait for the download to complete, and then follow the prompts to install.
No redirect? [Click here to start downloading](https://aka.ms/download-jdk/microsoft-jdk-21-windows-x64.msi) No redirect? [Click here to start downloading](https://aka.ms/download-jdk/microsoft-jdk-25-windows-x64.msi)
Can't download? [Click here to download (alternative)](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-21-windows-x64.msi) Can't download? [Click here to download (alternative)](https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-25-windows-x64.msi)
<script> <script>
@@ -27,8 +27,8 @@ Can't download? [Click here to download (alternative)](https://alist.8mi.tech/d/
setTimeout(function() { setTimeout(function() {
const isZhCN = /^zh-CN/i.test(navigator.language); const isZhCN = /^zh-CN/i.test(navigator.language);
const url = isZhCN const url = isZhCN
? "https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-21-windows-x64.msi" ? "https://alist.8mi.tech/d/mirror/ms-jdk/Auto/microsoft-jdk-25-windows-x64.msi"
: "https://aka.ms/download-jdk/microsoft-jdk-21-windows-x64.msi"; : "https://aka.ms/download-jdk/microsoft-jdk-25-windows-x64.msi";
window.location.href = url; window.location.href = url;
}, 5000); }, 5000);
</script> </script>
+2 -1
View File
@@ -1,6 +1,7 @@
{% assign locale = include.locale | default: site.locale %}
<meta charset="utf-8"> <meta charset="utf-8">
{% include seo.html %} {% include seo.html locale=locale %}
{% unless site.atom_feed.hide %} {% unless site.atom_feed.hide %}
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed"> <link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
+18 -21
View File
@@ -8,59 +8,56 @@ contributors:
- TyMxy - TyMxy
--- ---
# 离线模式下更换皮肤 > [!NOTE]
**注意:** > 使用 Steve、Alex、本地皮肤图片文件: 可能无法加入多人联机,其他玩家可能看不到您的皮肤\
> 使用 Steve、Alex、本地皮肤图片文件: 可能无法加入多人联机,其他玩家可能看不到您的皮肤
> 使用 LittleSkin、Blessing Skin 服务器: 多人联机下和您使用 **相同方式** 的玩家可以看到您的皮肤, 其他玩家不可以 > 使用 LittleSkin、Blessing Skin 服务器: 多人联机下和您使用 **相同方式** 的玩家可以看到您的皮肤, 其他玩家不可以
打开HMCL, 进入 **账号列表** , 点击下图离线账号的【上传皮肤】红框处: 打开 HMCL 进入**账户列表**,点击下图离线模式账户的 `上传/编辑皮肤` 按钮(红框处)。
![](/assets/img/docs/offline-skin/img1_1.png) ![](/assets/img/docs/offline-skin/img1_1.png)
![](/assets/img/docs/offline-skin/img1_2.png) ![](/assets/img/docs/offline-skin/img1_2.png)
> 默认: 使用默认随机的皮肤显示 - `默认` 使用默认随机的皮肤显示
> - `Steve` 使用 Steve(史蒂夫)皮肤显示
> Steve: 使用Steve (史蒂夫) 皮肤显示 - `Alex` 使用 Alex(艾利克斯)皮肤显示
> - [本地皮肤图片文件](#本地皮肤图片文件)
> Alex: 使用Alex (艾利克斯) 皮肤显示 - [LittleSkin](#littleskin)
> - [Blessing Skin 服务器](#blessing-skin-服务器)
> [本地皮肤图片文件](#本地皮肤图片文件)、[LittleSkin](#littleskin)、[Blessing Skin 服务器](#blessing-skin-服务器): 请见下文↓
## 本地皮肤图片文件 ## 本地皮肤图片文件
点击 **本地皮肤图片文件** , 设置 **皮肤/披风**皮肤图片 路径, 点击 **确认**, 即可 选中本地皮肤图片文件后,根据需求分别设置皮肤与披风的资源路径然后点击确认即可。
![](/assets/img/docs/offline-skin/img2.png) ![](/assets/img/docs/offline-skin/img2.png)
## LittleSkin ## LittleSkin
首先您需要一个LittleSkin的账号, [注册](https://mcskin.littleservice.cn/auth/register)并[登录](https://mcskin.littleservice.cn/auth/login) 首先您需要一个 LittleSkin 的账户,[注册](https://mcskin.littleservice.cn/auth/register)并[登录](https://mcskin.littleservice.cn/auth/login)。
然后前往 [角色管理](https://mcskin.littleservice.cn/user/player), 查看您的角色名, 如果没有, 请点击 **添加新角色** 进行添加 然后前往[角色管理](https://mcskin.littleservice.cn/user/player),查看您的角色名,如果没有可以点击添加新角色按钮进行添加。
你可在 [我的衣柜](https://mcskin.littleservice.cn/user/closet) 修改此账户名的皮肤与披风 你可在[我的衣柜](https://mcskin.littleservice.cn/user/closet)修改此账户名的皮肤与披风。
![](/assets/img/docs/offline-skin/img3_1.png) ![](/assets/img/docs/offline-skin/img3_1.png)
在HMCL中创建的离线账户的 账户名 **必须**和角色名相等, 如果不相等, 请 **重新在HMCL中创建离线账户** 角色名必须与 HMCL 中离线模式账户的角色名一致。如不一致,请在 HMCL 中切换至对应的离线模式账户,或新建与角色名匹配的离线模式账户。
![](/assets/img/docs/offline-skin/img3_2.png) ![](/assets/img/docs/offline-skin/img3_2.png)
确认相等后, 点击 **LittleSkin** 即可同步在LittleSkin上此账户名的皮肤 确认离线模式账户的角色名一致后,点击 **LittleSkin** 即可同步在 LittleSkin 上的皮肤。
![](/assets/img/docs/offline-skin/img3_3.png) ![](/assets/img/docs/offline-skin/img3_3.png)
## Blessing Skin 服务器 ## Blessing Skin 服务器
**Blessing Skin 服务器, 进入 **角色管理** , 查看角色名 , 确认 **角色名** 和 **HMCL中创建的离线账号角色名** 相同, 如果不相等, **请重新在HMCL中创建离线账户** 进入角色管理核对角色名与 HMCL 中离线模式账户的角色名是否一致。如不一致,请在 HMCL 中切换至对应的离线模式账户,或新建与角色名匹配的离线模式账户。
你可在 我的衣柜 修改此账户名的皮肤与披风 你可在我的衣柜修改此账户名的皮肤与披风。
![](/assets/img/docs/offline-skin/img4_1.png) ![](/assets/img/docs/offline-skin/img4_1.png)
进入 **配置生成**, 按下图找到 `CustomSkinLoader` 中的网址, 复制到HMCL中即可同步在Blessing Skin 服务器上此账户名的皮肤 进入配置生成并按下图找到 `CustomSkinLoader` 中的网址,复制到 HMCL 中即可同步在 Blessing Skin 服务器上此账户名的皮肤。
![](/assets/img/docs/offline-skin/img4_2.png) ![](/assets/img/docs/offline-skin/img4_2.png)
+8 -7
View File
@@ -1,12 +1,13 @@
--- ---
layout: compress layout: compress
--- ---
{%- assign locale = page.locale | default: layout.locale | default: site.locale %}
<!doctype html> <!doctype html>
{% include copyright.html %} {% include copyright.html %}
<html lang="{{ site.locale | replace: "_", "-" | default: "en" }}" class="no-js"> <html lang="{{ locale | replace: "_", "-" | default: "en" }}" class="no-js">
<head> <head>
{% include head.html %} {% include head.html locale=locale %}
{% include head/custom.html %} {% include head/custom.html %}
</head> </head>
@@ -15,8 +16,8 @@ layout: compress
<div class="notice--warning text-center m0" style="position: sticky; top: 0; z-index: 999; padding: 0.4em;">当前站点为预览构建而非官方文档。如需反馈问题,请前往 <a href="https://github.com/HMCL-dev/HMCL-docs/pull/{{ site.preview.pr-number }}">#{{ site.preview.pr-number }}</a> 留言。</div> <div class="notice--warning text-center m0" style="position: sticky; top: 0; z-index: 999; padding: 0.4em;">当前站点为预览构建而非官方文档。如需反馈问题,请前往 <a href="https://github.com/HMCL-dev/HMCL-docs/pull/{{ site.preview.pr-number }}">#{{ site.preview.pr-number }}</a> 留言。</div>
{% endif %} {% endif %}
{% include_cached skip-links.html %} {% include_cached skip-links.html locale=locale %}
{% include_cached masthead.html %} {% include_cached masthead.html locale=locale %}
<div class="initial-content"> <div class="initial-content">
{{ content }} {{ content }}
@@ -25,17 +26,17 @@ layout: compress
{% if site.search == true %} {% if site.search == true %}
<div class="search-content"> <div class="search-content">
{% include_cached search/search_form.html %} {% include_cached search/search_form.html locale=locale %}
</div> </div>
{% endif %} {% endif %}
<div id="footer" class="page__footer"> <div id="footer" class="page__footer">
<footer> <footer>
{% include footer/custom.html %} {% include footer/custom.html %}
{% include_cached footer.html %} {% include_cached footer.html locale=locale %}
</footer> </footer>
</div> </div>
{% include scripts.html %} {% include scripts.html locale=locale %}
</body> </body>
</html> </html>
+9 -8
View File
@@ -2,12 +2,13 @@
layout: single layout: single
--- ---
{% if jekyll.environment == 'production' and page.hits %}
<img src="https://hits.zkitefly.eu.org/?tag={{ page.url | absolute_url | url_encode }}" alt="Hits" decoding="async">
{% endif %}
<div class="notice--info">
<p>本文由 {{ page.author | default: '未署名用户' }} 创建{% if page.contributors %},并由 {{ page.contributors | join: ' ' }} 编辑{% endif %}。</p>
</div>
{{ content }} {{ content }}
{% if page.author or page.contributors or jekyll.environment == 'production' and page.hits %}
<script src="{{ '/assets/js/meta.js' | relative_url }}"></script>
<script>
{%- if page.author %}appendMeta("{{ page.author }}", "fas fa-user-pen");{% endif -%}
{%- for contributor in page.contributors %}appendMeta("{{ contributor }}", "fas fa-user-pen");{% endfor -%}
{%- if jekyll.environment == 'production' and page.hits %}hits({{ page.url | absolute_url | jsonify }});{% endif -%}
</script>
{% endif %}
+40 -31
View File
@@ -1,46 +1,55 @@
--- ---
layout: document layout: single
--- ---
{% for group in page.data %} {%- for group in page.data %}
<h2 id="{{ group.title }}">{{ group.title }}</h2>
{% capture notice %}
## {{ group.title }}
{% for pair in group.settings %} {% for pair in group.settings %}
{% assign name = pair[0] %} {% assign name = pair[0] %}
{% assign value = pair[1] %} {% assign value = pair[1] %}
{% assign setting = site.data.settings[name] %} {% assign setting = site.data.settings[name] %}
{% if setting.type == 'radio' %}
<div class="notice"> <div class="notice">
<ul class="task-list"> <h3 id="{{ name }}">{{ value.title }}</h3>
<li><strong>{{ value.title }}</strong></li> {% if value.description %}<p>{{ value.description }}</p>{% endif %}
<li>{{ value.description }}</li> {% if setting.type == 'radio' %}
{% for option in setting.options %} {% for option in setting.options %}
<li class="task-list-item"> <label>
<input type="radio" class="task-list-item-checkbox" name="{{ name }}" value="{{ option }}" id="{{ name }}_{{ option }}"{% if setting.default == option %} checked{% endif %}><label for="{{ name }}_{{ option }}">{{ value.options[option] }}</label> <input type="radio"{% if setting.default == option %} checked{% endif %} class="setting-item" name="{{ name }}" value="{{ option }}">
</li> {{ value.options[option] }}
</label>
{% endfor %} {% endfor %}
</ul> {% elsif setting.type == 'multi-radio' %}
<table class="setting-multi-radio">
<thead>
<tr>
<th>{{ value.title }}</th>
{% for item in setting.children %}
{% capture item_name %}{{ item[0] }}{% endcapture %}
<th>{{ value.children[item_name] }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for option in setting.options %}
<tr>
<th>{{ value.options[option] }}</th>
{% for item in setting.children %}
<td><input class="setting-item"{% if item[1].default == option %} checked{% endif %} type="radio" name="{{ name }}.{{ item[0] }}" value="{{ option }}"></td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</div> </div>
{% endfor %}
{% endfor %}
<script> <script>
settings.onChange("{{ name }}", function (newValue, oldValue) { for (const settingItem of document.getElementsByClassName("setting-item")) {
var list = document.getElementsByName("{{ name }}"); settingItem.addEventListener("change", ({ target }) => settings.set(target.name, target.value));
for (var i = 0; i < list.length; i++) { settings.onChange(settingItem.name, (value) => settingItem.type === "radio" && (settingItem.checked = settingItem.value === value));
list[i].checked = list[i].value === newValue;
list[i].onchange = function () {
if (this.checked) {
settings.set(this.name, this.value);
} }
}
}
});
</script> </script>
{% endif %}
{% endfor %} <style>.notice label input { display: inline }</style>
{% endcapture %}
{{ notice | markdownify }}
{% endfor %}
-48
View File
@@ -1,48 +0,0 @@
require "nokogiri"
Jekyll::Hooks.register [:pages, :documents], :post_convert do |doc|
next unless doc.output_ext == ".html"
site = doc.site
next unless site.data["plugins"]
alert_type = site.data["plugins"]["auto_alert"]
next unless alert_type
fragment = Nokogiri::HTML::DocumentFragment.parse(doc.content)
# 遍历 HTML 中的所有 blockquote 标签
fragment.css("blockquote").each do |item|
# 找出第一个子节点,用于判断是否含有 [!type] 标记
first_child = item.at_css("*:first-child")
next unless first_child
next unless first_child.name == "p"
inner_html = first_child.inner_html.downcase
# 遍历所有 alert 类型
alert_type.each do |type, data|
prefix = "[!#{type}]"
prefix_with_newline = "#{prefix}\n"
# 情况一:完整匹配 [!type] 形式 <p>[!NOTE]</p>
if inner_html == prefix
# 将 alert 类型对应的 class 加入 blockquote
item["class"] = [item["class"], data["class_name"]].compact.join(" ")
# 将 <p> 替换为 <div> 并插入标题
first_child.name = "div"
first_child.inner_html = "<strong>#{data["title"]}</strong>"
break
# 情况二:段落以 [!type]\n 开头 <p>[!NOTE]\n\n other content</p>
elsif inner_html.start_with? prefix_with_newline
# 将 alert 类型对应的 class 加入 blockquote
item["class"] = [item["class"], data["class_name"]].compact.join(" ")
# 在原段落前插入标题 <div><strong>提示</strong></div><p>[!NOTE]\n\n other content</p>
first_child.add_previous_sibling "<div><strong>#{data["title"]}</strong></div>"
# 移除段落内容开头的 [!type]\n <div><strong>提示</strong></div><p>\n other content</p>
first_child.inner_html = first_child.inner_html[prefix_with_newline.length..-1] || ""
break
end
end
end
doc.content = fragment.to_html
end
-30
View File
@@ -1,30 +0,0 @@
require "nokogiri"
require "addressable/uri"
Jekyll::Hooks.register [:pages, :documents], :post_convert do |doc|
next unless doc.output_ext == ".html"
site = doc.site
liquid_context = Liquid::Context.new({}, {}, { site: site })
process_uri = lambda do |path|
uri = Addressable::URI.parse(path)
if uri&.path
uri.path = Liquid::Template.parse("{% link #{uri.path[1..]} %}").render!(liquid_context)
end
uri.to_s
end
fragment = Nokogiri::HTML::DocumentFragment.parse(doc.content)
fragment.css("[src^=\"/assets/\"],[src^=\"/\"][src$=\".md\"],[src^=\"/\"][src*=\".md#\"]").each do |item|
if item["src"]
item["src"] = process_uri.call(item["src"])
end
end
fragment.css("[href^=\"/assets/\"],[href^=\"/\"][href$=\".md\"],[href^=\"/\"][href*=\".md#\"]").each do |item|
if item["href"]
item["href"] = process_uri.call(item["href"])
end
end
doc.content = fragment.to_html
end
+195
View File
@@ -0,0 +1,195 @@
begin
require "webp-ffi"
rescue LoadError; end
module KramdownEnhancer
GITHUB_LINK_REGEX = /\b(GP-\d+|GC-[0-9a-f]{7})\b/
BLOCKQUOTE_TYPES = {
note: "notice--info",
tip: "notice--success",
important: "notice--primary",
warning: "notice--warning",
caution: "notice--danger",
}
class << self
def webp
@webp ||= {}
end
def file
@file ||= {}
end
def baseurl
@baseurl
end
def baseurl=(input)
@baseurl =
if input.is_a?(String) && !input.empty?
str = input.start_with?("/") ? input : "/#{input}"
str.chomp("/")
else
""
end
end
end
class WebpFile < Jekyll::StaticFile
def write(dest)
true
end
end
module Html
def convert_a(el, indent)
if el.attr["href"].is_a?(String) && !el.options[:relative]
el.attr["href"] = relative_url(el.attr["href"])
el.options[:relative] = true
end
super
end
def convert_img(el, indent)
if el.attr["src"].is_a?(String) && !el.options[:relative]
src = el.attr["src"]
el.attr["src"] = relative_url(src)
el.options[:relative] = true
if KramdownEnhancer.webp[src] && !el.options[:webp] && !el.options[:picture]
webp_src = KramdownEnhancer.webp[src]
pic = Kramdown::Element.new(:html_element, "picture")
pic.children << Kramdown::Element.new(:html_element, "source", { "srcset" => relative_url(webp_src), "type" => "image/webp" })
el.options[:picture] = true
el.options[:webp] = true
pic.children << el
return convert_html_element(pic, indent)
end
end
super
end
def convert_blockquote(el, indent)
p = el.children.first
return super if p&.type != :p || p.children.empty?
first = p.children.first
return super unless first&.type == :text
text = first.value.downcase
KramdownEnhancer::BLOCKQUOTE_TYPES.each do |type, class_name|
prefix = "[!#{type}]"
prefix_with_newline = "#{prefix}\n"
# case A: <p>[!NOTE]</p>
if text == prefix
el.attr["class"] = [el.attr["class"], class_name].compact.join(" ")
p.children.shift
break
# case B: <p>[!NOTE]\n some text</p>
elsif text.start_with?(prefix_with_newline)
el.attr["class"] = [el.attr["class"], class_name].compact.join(" ")
first.value = first.value[prefix_with_newline.length..-1] || ""
break
end
end
super
end
def convert_html_element(el, indent)
unless el.options[:relative]
if el.value == "a" && el.attr["href"].is_a?(String)
el.attr["href"] = relative_url(el.attr["href"])
el.options[:relative] = true
elsif el.value == "img" && el.attr["src"].is_a?(String)
src = el.attr["src"]
el.attr["src"] = relative_url(el.attr["src"])
el.options[:relative] = true
if KramdownEnhancer.webp[src] && !el.options[:webp] && !el.options[:picture]
webp_src = KramdownEnhancer.webp[src]
pic = Kramdown::Element.new(:html_element, "picture")
pic.children << Kramdown::Element.new(:html_element, "source", { "srcset" => relative_url(webp_src), "type" => "image/webp" })
el.options[:webp] = true
pic.children << el
return convert_html_element(pic, indent)
end
elsif el.value == "picture"
el.children.each do |child|
child.options[:picture] = true
end
end
end
super(el, indent)
end
def convert_text(el, indent)
return super(el, indent) unless !el.options[:github_link] && KramdownEnhancer::GITHUB_LINK_REGEX.match?(el.value)
list = el.value.split(KramdownEnhancer::GITHUB_LINK_REGEX)
el.type = :html_element
el.value = "span"
el.children = list.reject(&:empty?).map do |item|
if KramdownEnhancer::GITHUB_LINK_REGEX.match(item)
href =
if item.start_with?("GP-")
"https://github.com/HMCL-dev/HMCL/pull/#{item[3..]}"
else
"https://github.com/HMCL-dev/HMCL/commit/#{item[3..]}"
end
link = Kramdown::Element.new(:a, nil, {"href": href, "target": "_blank"})
link.children = [Kramdown::Element.new(:text, item, nil, :github_link => true)]
link
else
Kramdown::Element.new(:text, item, nil, :github_link => true)
end
end
convert_html_element(el, indent)
end
private
def relative_url(input)
if input.is_a?(String) && input.start_with?("/")
input = input.start_with?("/") ? input : "/#{input}"
uri = Addressable::URI.parse(input)
if uri
if uri.path.length > 1
file = KramdownEnhancer.file[uri.path[1..]]
uri.path = file.url if file
end
uri.path = "#{KramdownEnhancer.baseurl}#{uri.path}"
return uri.to_s
end
end
input
end
end
end
Jekyll::Hooks.register :site, :post_read do |site|
KramdownEnhancer.baseurl = site.config["baseurl"]
webp_list = []
webp_enabled = defined?(WebP)
site.each_site_file do |file|
KramdownEnhancer.file[file.relative_path] = file
if file.is_a?(Jekyll::StaticFile)
url = "#{file.url}.webp"
source = "#{file.path}.webp"
destination = File.join(site.dest, url)
if File.exist?(source)
KramdownEnhancer.webp[file.url] = url
elsif webp_enabled && %w[.png .jpg .jpeg .tif .tiff].include?(file.extname.downcase)
FileUtils.mkdir_p(File.dirname(destination))
WebP.encode(file.path, destination)
webp_list.push(KramdownEnhancer::WebpFile.new(site, site.dest, File.dirname(url), File.basename(url)))
KramdownEnhancer.webp[file.url] = url
end
end
end
site.static_files.concat(webp_list)
Kramdown::Converter::Html.prepend(KramdownEnhancer::Html)
end
+58 -9
View File
@@ -1,4 +1,40 @@
@import "minimal-mistakes"; /* Copyright comment */
@import "minimal-mistakes/copyright";
/* Variables */
@import "minimal-mistakes/variables";
/* Mixins and functions */
@import "minimal-mistakes/vendor/breakpoint/breakpoint";
@include breakpoint-set("to ems", true);
@import "minimal-mistakes/vendor/magnific-popup/magnific-popup"; // Magnific Popup
@import "minimal-mistakes/vendor/susy/susy";
@import "minimal-mistakes/mixins";
/* Core CSS */
@import "minimal-mistakes/reset";
@import "minimal-mistakes/base";
@import "minimal-mistakes/forms";
@import "minimal-mistakes/tables";
@import "minimal-mistakes/animations";
/* Components */
@import "minimal-mistakes/buttons";
@import "minimal-mistakes/notices";
@import "minimal-mistakes/masthead";
@import "minimal-mistakes/navigation";
@import "minimal-mistakes/footer";
@import "minimal-mistakes/search";
@import "minimal-mistakes/syntax";
/* Utility classes */
@import "minimal-mistakes/utilities";
/* Layout specific */
@import "minimal-mistakes/page";
@import "minimal-mistakes-plus/archive";
@import "minimal-mistakes/sidebar";
@import "minimal-mistakes/print";
blockquote { blockquote {
margin-inline: 0; margin-inline: 0;
@@ -11,14 +47,27 @@ blockquote {
word-break: break-word; word-break: break-word;
} }
.notice ul:first-child {
margin-top: 0;
}
.task-list-item label {
display: inline
}
.m0 { .m0 {
margin: 0 !important; margin: 0 !important;
} }
table.setting-multi-radio td {
border: 0;
text-align: center;
border-left: 1px solid mix(#000, $border-color, 25%);
}
input[type="radio"] {
width: 0;
margin: 0;
margin-inline-end: 1em;
font-family: var(--fa-family-classic);
}
input[type="radio"]::before {
content: "\f111";
}
input[type="radio"]:checked::before {
content: "\f192";
}
+398
View File
@@ -0,0 +1,398 @@
/* ==========================================================================
ARCHIVE
========================================================================== */
.archive {
margin-top: 1em;
margin-bottom: 2em;
@include breakpoint($large) {
float: inline-end;
width: calc(100% - #{$right-sidebar-width-narrow});
padding-inline-end: $right-sidebar-width-narrow;
}
@include breakpoint($x-large) {
width: calc(100% - #{$right-sidebar-width});
padding-inline-end: $right-sidebar-width;
}
}
.archive__item {
position: relative;
a {
position: relative;
z-index: 10;
}
a[rel="permalink"] {
position: static;
}
}
.archive__subtitle {
margin: 1.414em 0 0.5em;
padding-bottom: 0.5em;
font-size: $type-size-5;
color: $muted-text-color;
border-bottom: 1px solid $border-color;
+ .list__item .archive__item-title {
margin-top: 0.5em;
}
}
.archive__item-title {
margin-bottom: 0.25em;
font-family: $sans-serif-narrow;
line-height: initial;
overflow: hidden;
text-overflow: ellipsis;
a[rel="permalink"]::before {
content: '';
position: absolute;
inset: 0;
}
a + a {
opacity: 0.5;
}
}
/* remove border*/
.page__content {
.archive__item-title {
margin-top: 1em;
border-bottom: none;
}
}
.archive__item-excerpt {
margin-top: 0;
font-size: $type-size-6;
& + p {
text-indent: 0;
}
a {
position: relative;
}
}
.archive__item-teaser {
position: relative;
border-radius: $border-radius;
overflow: hidden;
img {
width: 100%;
}
}
.archive__item-caption {
position: absolute;
bottom: 0;
inset-inline-end: 0;
margin: 0 auto;
padding: 2px 5px;
color: #fff;
font-family: $caption-font-family;
font-size: $type-size-8;
background: #000;
text-align: end;
z-index: 5;
opacity: 0.5;
border-radius: $border-radius 0 0 0;
@include breakpoint($large) {
padding: 5px 10px;
}
a {
color: #fff;
text-decoration: none;
}
}
/*
List view
========================================================================== */
.list__item {
.page__meta {
margin: 0 0 4px;
font-size: 0.6em;
}
}
/*
Grid view
========================================================================== */
.archive {
.grid__wrapper {
/* extend grid elements to the right */
@include breakpoint($large) {
margin-inline-end: -1 * $right-sidebar-width-narrow;
}
@include breakpoint($x-large) {
margin-inline-end: -1 * $right-sidebar-width;
}
}
}
.grid__item {
margin-bottom: 2em;
@include breakpoint($small) {
float: inline-start;
width: span(5 of 10);
&:nth-child(2n + 1) {
clear: both;
margin-inline-start: 0;
}
&:nth-child(2n + 2) {
clear: none;
margin-inline-start: gutter(of 10);
}
}
.page__meta {
margin: 0 0 4px;
font-size: 0.6em;
}
.page__meta-sep {
display: block;
&::before {
display: none;
}
}
.archive__item-title {
margin-top: 0.5em;
font-size: $type-size-5;
}
.archive__item-excerpt {
font-size: $type-size-6;
}
.archive__item-teaser {
@include breakpoint($small) {
max-height: 200px;
}
@include breakpoint($medium) {
max-height: 120px;
}
}
}
/*
Features
========================================================================== */
.feature__wrapper {
@include clearfix();
margin-bottom: 2em;
border-bottom: 1px solid $border-color;
.archive__item-title {
margin-bottom: 0;
}
}
.feature__item {
position: relative;
margin-bottom: 2em;
font-size: 1.125em;
@include breakpoint($small) {
float: inline-start;
margin-bottom: 0;
width: span(4 of 12);
&:nth-child(3n + 1) {
clear: both;
margin-inline-start: 0;
}
&:nth-child(3n + 2) {
clear: none;
margin-inline-start: gutter(of 12);
}
&:nth-child(3n + 3) {
clear: none;
margin-inline-start: gutter(of 12);
}
.feature__item-teaser {
max-height: 200px;
overflow: hidden;
}
}
.archive__item-body {
padding-inline: gutter(1 of 12);
}
a.btn::before {
content: '';
position: absolute;
inset: 0;
}
&--left, &--right {
position: relative;
margin-inline: 0;
width: 100%;
clear: both;
font-size: 1.125em;
a.btn::before {
content: '';
position: absolute;
inset: 0;
}
.archive__item-teaser {
margin-bottom: 2em;
}
}
&--left {
float: inline-start;
.archive__item {
float: inline-start;
}
@include breakpoint($small) {
.archive__item-teaser {
float: inline-start;
width: span(5 of 12);
}
.archive__item-body {
float: inline-end;
width: span(7 of 12);
padding-inline-start: gutter(0.5 of 12);
padding-inline-end: gutter(1 of 12);
}
}
}
&--right {
float: inline-end;
.archive__item {
float: inline-end;
}
@include breakpoint($small) {
text-align: end;
.archive__item-teaser {
float: inline-end;
width: span(5 of 12);
}
.archive__item-body {
float: inline-start;
width: span(7 of 12);
padding-inline-start: gutter(1 of 12);
padding-inline-end: gutter(0.5 of 12);
}
}
}
&--center {
position: relative;
float: inline-start;
margin-inline: 0;
width: 100%;
clear: both;
font-size: 1.125em;
.archive__item {
float: inline-start;
width: 100%;
}
.archive__item-teaser {
margin-bottom: 2em;
}
a.btn::before {
content: '';
position: absolute;
inset: 0;
}
@include breakpoint($small) {
text-align: center;
.archive__item-teaser {
margin: 0 auto;
width: span(5 of 12);
}
.archive__item-body {
margin: 0 auto;
width: span(7 of 12);
}
}
}
}
/* Place inside an archive layout */
.archive {
.feature__wrapper {
.archive__item-title {
margin-top: 0.25em;
font-size: 1em;
}
}
.feature__item,
.feature__item--left,
.feature__item--center,
.feature__item--right {
font-size: 1em;
}
}
/*
Wide Pages
========================================================================== */
.wide {
.archive {
@include breakpoint($large) {
padding-inline-end: 0;
}
@include breakpoint($x-large) {
padding-inline-end: 0;
}
}
}
/* Place inside a single layout */
.layout--single {
.feature__wrapper {
display: inline-block;
}
}
+8
View File
@@ -0,0 +1,8 @@
---
---
@charset "utf-8";
$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
@import "minimal-mistakes/skins/catppuccin_latte";
@import "minimal-mistakes-plus";
+8
View File
@@ -0,0 +1,8 @@
---
---
@charset "utf-8";
$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
@import "minimal-mistakes/skins/catppuccin_mocha";
@import "minimal-mistakes-plus";
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

+40
View File
@@ -0,0 +1,40 @@
(() => {
const pageTitle = document.getElementById("page-title");
if (pageTitle === null) return;
const header = pageTitle.parentElement;
let metas = header.getElementsByClassName("page__meta")[0];
if (metas === null) {
metas = document.createElement("div");
element.className = "page__meta";
header.append(element);
}
window.appendMeta = (text, icon) => {
if (metas.children.length > 0) {
const sep = document.createElement("span");
sep.className = "page__meta-sep";
metas.append(sep);
}
const meta = document.createElement("span");
if (icon !== undefined) {
const metaIcon = document.createElement("i");
metaIcon.className = icon;
meta.append(metaIcon, " ");
}
meta.append(text.trim());
metas.append(meta);
};
window.hits = (tag) => {
if (settings.get("miscellaneous_hits") === "disable") return;
const hitsUrl = new URL("https://hits.zkitefly.eu.org");
hitsUrl.searchParams.set("tag", tag);
fetch(hitsUrl, { method: "HEAD" }).then((response) => {
if (response.status !== 200) return;
const { headers } = response;
const total = headers.get("X-Total-Hits");
const today = headers.get("X-Today-Hits");
if (total !== null && today !== null) {
appendMeta(today + " / " + total, "far fa-eye");
}
});
};
})();
+27 -67
View File
@@ -1,76 +1,36 @@
--- ---
layout: null layout: null
--- ---
(function (global) { (function () {
var PREFIX = "HMCL_DOCS_SETTINGS_"; const PREFIX = "HMCL_DOCS_SETTINGS_", data = {}, bus = new EventTarget(), configs = /*{%comment%}*/{}/*{%endcomment%}*/ /**{{'/'}}{{ site.data.settings | jsonify }}/**/;
var data = {}; window.addEventListener("storage", ({ key, newValue }) => key !== null && key.startsWith(PREFIX) && newValue !== data[key] && bus.dispatchEvent(new CustomEvent(key, { detail: (data[key] = newValue) })));
var events = {}; for (const [key, config] of Object.entries(configs)) {
var config = /*{%comment%}*/{}/*{%endcomment%}*//**{{'/'}}{{ site.data.settings | jsonify }}/**/; if (config.children === undefined) continue;
for (const [childKey, child] of Object.entries(config.children)) {
global.addEventListener("storage", function (event) { configs[`${key}.${childKey}`] = { ...config, ...child };
if (!event.key) return;
if (event.key.indexOf(PREFIX) !== 0) return;
var handlers = events[event.key];
if (!handlers) return;
var newValue = event.newValue;
var oldValue = event.oldValue;
if (oldValue === newValue) return;
data[event.key] = newValue;
for (var i = 0; i < handlers.length; i++) {
if (typeof handlers[i] === "function") {
handlers[i](newValue, oldValue);
}
}
});
var settings = {
set: function (key, value) {
if (config[key] === undefined) return;
var strKey = (PREFIX + key).toUpperCase();
var newValue = value + "";
data[strKey] = newValue;
localStorage.setItem(strKey, newValue);
var handlers = events[strKey];
if (!handlers) return;
for (var i = 0; i < handlers.length; i++) {
if (typeof handlers[i] === "function") {
handlers[i](newValue);
} }
} }
const formatKey = (key) => PREFIX + key.toUpperCase().replaceAll(".", "_");
window.settings = {
set(key, value) {
const name = formatKey(key);
localStorage.setItem(name, (data[name] = String(value)));
bus.dispatchEvent(new CustomEvent(name, { detail: data[name] }));
}, },
get(key) {
get: function (key, defaultValue) { const name = formatKey(key);
if (config[key] === undefined) return; if (data[name] !== undefined) return data[name];
var strKey = (PREFIX + key).toUpperCase(); const value = localStorage.getItem(name);
data.hasOwnProperty(strKey) || (data[strKey] = localStorage.getItem(strKey)); if (value !== null) return data[name] = value;
if (typeof defaultValue === "string" && data[strKey] === null) { const config = configs[key];
return defaultValue; if (config === undefined || typeof config.default !== "string") return null;
} return config.default;
return data[strKey];
}, },
onChange(key, handler) {
refresh: function (key) { const value = this.get(key);
if (config[key] === undefined) return; if (value === null) return;
settings.set(key, settings.get(key, config[key].default)); handler(value);
bus.addEventListener(formatKey(key), (event) => handler(event.detail));
}, },
onChange: function (key, handler) {
if (config[key] === undefined) return;
if (typeof handler !== "function") return;
var strKey = (PREFIX + key).toUpperCase();
if (config[key].type === "radio") {
handler(settings.get(key, config[key].default));
}
if (!events[strKey]) {
events[strKey] = [handler];
} else {
events[strKey].push(handler);
}
}
}; };
global.settings = settings; })();
})(window);
+14 -6
View File
@@ -4,11 +4,14 @@ layout: null
window.addEventListener("DOMContentLoaded", function () { window.addEventListener("DOMContentLoaded", function () {
var skinLink = document.getElementById("skin"); var skinLink = document.getElementById("skin");
var darkModeQuery = window.matchMedia("(prefers-color-scheme: dark)"); var darkModeQuery = window.matchMedia("(prefers-color-scheme: dark)");
function applySkin(skin) {
skinLink.href = "{{ '/assets/css/skins/' | relative_url }}" + skin + ".css";
}
function applyDarkSkin() { function applyDarkSkin() {
skinLink.href = "{{ '/assets/css/skins/' | relative_url }}" + settings.get("appearance_skin_dark", "dark") + ".css"; applySkin(settings.get("appearance_skin.dark"));
} }
function applyLightSkin() { function applyLightSkin() {
skinLink.href = "{{ '/assets/css/skins/' | relative_url }}" + settings.get("appearance_skin_light", "default") + ".css"; applySkin(settings.get("appearance_skin.light"));
} }
function autoSchemeHandler() { function autoSchemeHandler() {
if (darkModeQuery.matches) { if (darkModeQuery.matches) {
@@ -61,10 +64,15 @@ window.addEventListener("DOMContentLoaded", function () {
} }
} }
settings.onChange("appearance_color", applyTheme); settings.onChange("appearance_color", applyTheme);
settings.onChange("appearance_skin_dark", function () { settings.onChange("appearance_skin.dark", function () {
settings.refresh("appearance_color"); applyTheme(settings.get("appearance_color"));
}); });
settings.onChange("appearance_skin_light", function () { settings.onChange("appearance_skin.light", function () {
settings.refresh("appearance_color"); applyTheme(settings.get("appearance_color"));
});
settings.onChange("appearance_color_switcher", function (value) {
if (modeSwitcher !== null) {
modeSwitcher.style.display = value === "enable" ? "" : "none";
}
}); });
}); });
+1 -1
View File
@@ -23,7 +23,7 @@ title: 新手导航
{% for group in site.data.navigation.docs -%} {% for group in site.data.navigation.docs -%}
## {{ group.title }} ## {{ group.title }}
{% for item in group.children -%} {% for item in group.children -%}
1. [{{ item.title }}]({{ item.url | relative_url }}) 1. [{{ item.title }}]({{ item.url }})
{%- if item.description %}\ {%- if item.description %}\
{{ item.description }} {{ item.description }}
{%- endif %} {%- endif %}
+30 -25
View File
@@ -12,32 +12,37 @@ data:
light: 亮色 light: 亮色
dark: 暗色 dark: 暗色
auto: 自动 auto: 自动
appearance_skin_light: appearance_color_switcher:
title: 亮色皮肤 title: 颜色模式快捷开关
description: 亮色模式下应用的皮肤。 description: 用于快捷切换站点主题颜色模式的开关,位于页面右上角。
options: options:
default: 默认 enable: 启用
air: 天空 disable: 禁用
aqua: 水蓝 appearance_skin:
contrast: 高对比 title: 皮肤
description: 各颜色模式下应用的皮肤。
children:
light: 亮色
dark: 暗色 dark: 暗色
dirt: 泥土
neon: 霓虹
mint: 薄荷
plum: 梅紫
sunrise: 日出
appearance_skin_dark:
title: 暗色皮肤
description: 暗色模式下应用的皮肤。
options: options:
default: 默认 default: 默认 (Default)
air: 天空 air: 天空 (Air)
aqua: 水蓝 aqua: 水蓝 (Aque)
contrast: 高对比 contrast: 高对比 (Contrast)
dark: 暗色 dark: 暗色 (Dark)
dirt: 泥土 dirt: 泥土 (Dirt)
neon: 霓虹 neon: 霓虹 (Neno)
mint: 薄荷 mint: 薄荷 (Mint)
plum: 梅紫 plum: 梅紫 (Plum)
sunrise: 日出 sunrise: 日出 (Sunrise)
catppuccin_latte: Catppuccin Latte
catppuccin_mocha: Catppuccin Mocha
- title: 杂项
settings:
miscellaneous_hits:
title: 访问统计服务
description: 用于统计页面访问量的服务。
options:
enable: 启用
disable: 禁用
--- ---