[Feature] 支持在 macOS 上直接安装汉化补丁 ZIP
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza localizando el punto de entrada del menú de instancias o de la gestión de archivos de instancias y el flujo de importación existente de integration-pack. Revisa cómo el launcher selecciona una instancia y extrae el contenido del archivo antes de definir el flujo de combinación y vista previa de ZIP. Se considera terminado cuando haya una validación segura de rutas relativas, una confirmación explícita para crear nuevos archivos, sobrescribirlos u omitirlos, se conserven los archivos no relacionados y se muestren los recuentos de resultados después de la instalación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
概述 | 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”操作:
- 让用户选择目标实例和 ZIP 文件。
- 按 ZIP 内的游戏目录相对路径安全地合并文件,而不是依赖 Finder 的粘贴行为。
- 预览将要新增、覆盖、跳过的文件,并在覆盖前明确确认。
- 仅接受安全的相对路径,拒绝绝对路径和包含
..的路径,避免 ZIP 路径穿越。 - 安装时保留补丁中未包含的现有文件,并在完成后显示写入、跳过和未处理文件数量。
- 如果实现成本允许,可同时支持 Windows、Linux;macOS 是最迫切的使用场景。
该功能不要求 HMCL 识别每个汉化包的具体来源,只需要提供一个安全、可复用的“将 ZIP 内容合并到实例目录”的入口即可。
当前用于验证需求的 macOS .command 脚本(已包含文件校验、原子写入、路径安全检查和处理结果统计)如下:
https://gist.github.com/ct-yx/3bbb2bc4430a2b63fbe813dd1e2f80fa
- Lenguaje dominante
- Java
- Estrellas
- 10.2k
- Forks
- 940
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 41
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de HMCL-dev/HMCL
-
[Feature] 关于启动游戏进度条显示的优化Posiblemente ocupada @isHuaMouRen la tomó hace 2 días. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
HMCL-dev/HMCL#6943 · 8 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
HMCL-dev/HMCL#6934 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
[Feature] 导出整合包的路径选择器预设文件名拼接版本信息Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
HMCL-dev/HMCL#6681 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
HMCL-dev/HMCL#6134 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Feature] 添加防倒卖提示弹窗Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
HMCL-dev/HMCL#6065 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de HMCL-dev/HMCL
Issues similares
-
waiting-for-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
spring-cloud/spring-cloud-openfeign#1443 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
ADORSYS-GIS/keycloak-oid4vp-plugin#221 ·
Los mantenedores suelen responder en 2 días
-
Upgrade to Spring Pulsar 2.0.8Abiertostatus: team-only type: dependency-upgrade
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
spring-projects/spring-boot#52099 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
tchiotludo/akhq#3307 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
objectionary/jeo-maven-plugin#1885 ·
Los mantenedores suelen responder en 4 días