Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#6,719 8 comentarios 1 reacción 0 asignados Ver en GitHub

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
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
java
Área
desktop, security

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”操作:

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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de HMCL-dev/HMCL

Todos los issues de HMCL-dev/HMCL

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.