Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Feature] 支持在 macOS 上直接安装汉化补丁 ZIP

オープン
#6,719 コメント 8 件 リアクション 1 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
java
領域
desktop, security

調査の方向性

まず、インスタンスメニューまたはインスタンスのファイル管理のエントリポイントと、既存のintegration-packインポートフローを特定します。ZIPのマージおよびプレビューのフローを定義する前に、launcherがインスタンスを選択し、アーカイブの内容を展開する方法を確認します。完了条件は、安全な相対パス検証、new/overwrite/skipに対する明示的な確認、無関係なファイルの保持、インストール後の結果件数です。

索引モデルが issue の本文から書いたものです。

説明

概述 | Summary

希望 HMCL 支持从 ZIP 文件直接安装“汉化补丁/覆盖文件包”到指定的 Minecraft 实例。此类 ZIP 通常使用游戏目录的相对路径(例如 config/、kubejs/、mods/、resourcepacks/ 或 vaultpatcher/),并不是一个完整的整合包,不能方便地通过现有的整合包导入流程安装。

On macOS, users should be able to select an instance and a localization overlay ZIP in HMCL and apply it safely without relying on Finder copy/paste or an external script.

原因 | Reason

提出这个功能的直接原因不是单纯找不到实例目录,而是 macOS Finder 对这类补丁的复制、粘贴、目录合并和同名文件覆盖处理不适合实际使用。汉化补丁往往包含大量与现有实例同名的目录和文件,Finder 粘贴后的合并/覆盖结果不够明确,也难以确认是否完整应用,容易导致部分汉化没有生效。

目前用户只能手动尝试 Finder 操作,或运行额外的 .command 脚本。后者虽然可以解决问题,但不是 HMCL 内置能力,普通用户也很难发现和验证脚本来源。

以 All the Mods 10 的一个汉化补丁为例,ZIP 中包含数百个需要覆盖或新增的 config/、mods/ 等文件。脚本实际处理了 316 个游戏文件,其中写入 268 个、内容一致跳过 48 个;这说明补丁本质上是“针对已有实例的文件覆盖包”,而不是完整整合包。

详情 | Description

可以在实例菜单或实例文件管理页面增加“导入汉化补丁 / 覆盖文件 ZIP”操作:

  1. 让用户选择目标实例和 ZIP 文件。
  2. 按 ZIP 内的游戏目录相对路径安全地合并文件,而不是依赖 Finder 的粘贴行为。
  3. 预览将要新增、覆盖、跳过的文件,并在覆盖前明确确认。
  4. 仅接受安全的相对路径,拒绝绝对路径和包含 .. 的路径,避免 ZIP 路径穿越。
  5. 安装时保留补丁中未包含的现有文件,并在完成后显示写入、跳过和未处理文件数量。
  6. 如果实现成本允许,可同时支持 Windows、Linux;macOS 是最迫切的使用场景。

该功能不要求 HMCL 识别每个汉化包的具体来源,只需要提供一个安全、可复用的“将 ZIP 内容合并到实例目录”的入口即可。

当前用于验证需求的 macOS .command 脚本(已包含文件校验、原子写入、路径安全检查和处理结果统计)如下:

https://gist.github.com/ct-yx/3bbb2bc4430a2b63fbe813dd1e2f80fa

主要言語
Java
スター
10.2k
フォーク
940
平均マージ
2日 7時間
マージ済み PR(30日)
38

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

HMCL-dev/HMCL のほかの issue

HMCL-dev/HMCL の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。