I18nAutoUpdateMod
为 Minecraft 自动下载、更新并应用 CFPA 简体中文模组汉化包 的客户端模组。
本项目基于 CFPAOrg/I18nUpdateMod3 重构,移除了启动阻塞逻辑,优化了镜像源竞速与容灾机制,并提供单 JAR 全 Loader 跨版本兼容。
特性
- 更新检查与下载均在独立守护线程完成,绝不拖慢游戏启动速度。
- 单一 JAR 文件同时兼容 MinecraftForge、NeoForge、Fabric 与 Quilt,无需按加载器分别下载。
- 直接对接官方发布源,不依赖更新易滞后的索引文件。
- 国内网络并发探测可用镜像源,海外直连 GitHub,遇到超时、404 或校验失败自动无感回退。
- 下载完成并校验 MD5 后再原子替换现有文件,网络中断或下载失败绝不损坏已有缓存。
- 根据当前游戏版本与 Loader 自动合并汉化资源,并生成适配当前版本的
pack.mcmeta(支持 1.6.1 到 26.3)。 - 默认自动将汉化包注册在资源包列表最底层,不与玩家自定义的材质包抢优先级。
安装与使用
- 前往 Modrinth 或 GitHub Releases 下载最新 JAR。
- 将 JAR 放入客户端的
mods文件夹,启动游戏即可。
本模组仅需在客户端安装,服务端无需安装。首次启动且本地无缓存包时会有限等待数秒以直接载入汉化,若网络超时则在后台继续下载并在下次启动生效;日常已有缓存时完全异步检查更新,无需手动在资源包界面调整。
兼容性
- 游戏版本:Minecraft 1.6.1 至 26.3(具体版本见 gradle.properties)
- 模组加载器:MinecraftForge、NeoForge、Fabric、Quilt
- Java 环境:模组字节码目标为 Java 8,运行时遵循对应 Minecraft 与 Loader 的 Java 要求。
设置
首次启动后会在游戏目录生成 config/i18nautoupdatemod.json,修改后重启游戏生效
{
"forceBottom": true,
"defaultSource": "auto",
"mirrorPriority": ["CFPA", "Community", "GitHub"],
"betaPack": false,
"mergeLoaders": false,
"initialTimeout": 10
}
forceBottom:是否每次启动都把汉化包强制移到资源包列表最底层,关闭后保留玩家手动调整的位置,仅首次添加时置底defaultSource:默认下载源,可选auto/GitHub/CFPA/Community,auto为按地区自动测速选择mirrorPriority:默认源之外的回退顺序,未列出的源自动追加到末尾betaPack:是否使用 Beta 资源包,优先下载 CFPA-AutoMerge 每 6 小时合并全部未合并 PR 后打包的版本,下载失败时回退正式包mergeLoaders:不区分加载器,同时下载并合并 Forge 与 Fabric 汉化包,翻译冲突时以当前加载器的版本为准initialTimeout:首次启动无本地资源包时的最大等待秒数,设为0即完全不等待
补充说明
- 启动等待配置:JVM 参数
-Di18nautoupdatemod.initialTimeout=<秒数>优先于配置文件中的initialTimeout - 缓存路径:汉化包缓存存放于用户数据目录下的
.i18nautoupdatemod中。若先前使用过原版模组,旧版.i18nupdatemod缓存会自动平滑迁移。 - 网易版环境:检测到网易版 Minecraft 环境时将自动跳过在线下载,以遵守其开发者规范。
构建
项目使用 JDK 25 和 Gradle Wrapper:
./gradlew clean test shadowJar
构建产物位于 build/libs/I18nAutoUpdateMod-<version>-all.jar。
开源协议
本项目采用 AGPL-3.0-or-later 协议开源。
English
A Minecraft client-side mod that automatically downloads, updates, and applies the CFPA Minecraft Mod Language Package for Simplified Chinese translations.
Refactored from CFPAOrg/I18nUpdateMod3 to eliminate game startup delays, improve mirror reliability and failover, and provide universal multi-loader compatibility within a single JAR.
Features
- Updates are checked and downloaded on a background daemon thread, never slowing down game launch.
- A single JAR supports MinecraftForge, NeoForge, Fabric, and Quilt out of the box.
- Downloads directly from release sources instead of delayed index files.
- Concurrently probes mainland China mirrors while preferring GitHub abroad, with automatic fallback on timeout, 404, or checksum mismatch.
- Downloads to temporary files and verifies MD5 checksums before replacing, ensuring existing cache is never corrupted.
- Dynamically merges language assets and generates the correct
pack.mcmetaformat for your Minecraft version (1.6.1 through 26.3). - Placed at the bottom of the resource pack list by default, preserving custom texture pack priority.
Installation
- Download the latest JAR from Modrinth or GitHub Releases.
- Place the JAR into your
.minecraft/modsdirectory.
Client-side only; do not install on dedicated servers. On first launch without local cache, the game waits a few seconds so the pack is loaded immediately, falling back to the next launch if the download times out; existing cached packs are used immediately without blocking launch.
Compatibility
- Minecraft: 1.6.1 to 26.3 (see gradle.properties)
- Loaders: MinecraftForge, NeoForge, Fabric, and Quilt
- Java: Targets Java 8 bytecode; runtime requirements depend on the selected Minecraft version and loader.
Settings
A config file is generated at config/i18nautoupdatemod.json in the game directory on first launch, and changes take effect after restarting the game
forceBottom: Move the language pack to the bottom of the resource pack list on every launch, when disabled the position you set manually is kept and the pack is only placed at the bottom when first addeddefaultSource: Preferred download source, one ofauto/GitHub/CFPA/Community, whereautopicks a source by location and probingmirrorPriority: Fallback order of the other sources, unlisted sources are appended automaticallybetaPack: Prefer the beta packs from CFPA-AutoMerge, rebuilt every 6 hours with all open pull requests merged, falling back to the stable packs when the download failsmergeLoaders: Ignore the loader and merge both the Forge and Fabric packs, with the current loader's translations winning on conflictsinitialTimeout: Maximum seconds to wait on first launch without local cache, set to0to disable waiting
Notes
- Startup timeout configuration: The JVM property
-Di18nautoupdatemod.initialTimeout=<seconds>takes precedence overinitialTimeoutin the config file - Cache location: Cached files are stored in
.i18nautoupdatemodunder the platform user data directory. Existing cache from the legacy.i18nupdatemodfolder is migrated automatically. - NetEase client: Online downloads are automatically disabled when the NetEase Minecraft environment is detected.
Building
Requires JDK 25 and Gradle Wrapper:
./gradlew clean test shadowJar
Artifacts are output to build/libs/I18nAutoUpdateMod-<version>-all.jar.
License
Licensed under AGPL-3.0-or-later.
All Versions
+ Add Version• 新增配置文件
config/i18nautoupdatemod.json,首次启动自动生成,修改后重启游戏生效• 新增
forceBottom:可关闭强制置底,关闭后保留玩家手动调整的资源包位置• 新增
defaultSource 与 mirrorPriority:可指定默认下载源以及其余源的回退顺序• 新增
betaPack:可选下载 [CFPA-AutoMerge](https://github.com/ChouChiu/CFPA-AutoMerge) 每 6 小时合并全部未合并 PR 后打包的 Beta 汉化包,下载失败时自动回退正式包• 新增
mergeLoaders:可不区分加载器,同时合并 Forge 与 Fabric 汉化包• 首次启动等待时间可在配置文件中通过
initialTimeout 设置,JVM 参数仍然优先• 新增配置文件
config/i18nautoupdatemod.json,首次启动自动生成,修改后重启游戏生效• 新增
forceBottom:可关闭强制置底,关闭后保留玩家手动调整的资源包位置• 新增
defaultSource 与 mirrorPriority:可指定默认下载源以及其余源的回退顺序• 新增
betaPack:可选下载 [CFPA-AutoMerge](https://github.com/ChouChiu/CFPA-AutoMerge) 每 6 小时合并全部未合并 PR 后打包的 Beta 汉化包,下载失败时自动回退正式包• 新增
mergeLoaders:可不区分加载器,同时合并 Forge 与 Fabric 汉化包• 首次启动等待时间可在配置文件中通过
initialTimeout 设置,JVM 参数仍然优先• 新增支持 Minecraft 26.3
• 优化首次启动体验:本地无汉化包时有限等待数秒并自动注册载入,避免首次启动缺汉化
• 支持通过 JVM 参数
-Di18nautoupdatemod.initialTimeout=<秒数> 自定义首次启动等待超时(设为 0 完全不等待)• 完善中英文文档说明,文档中使用占位符指示构建产物路径
• 优化发布与打包规范
- 全面重构并更名为 I18nAutoUpdateMod
- 资源包改为后台异步下载,不阻塞游戏启动
- 直接从发布源获取资源包,支持多源探测与故障切换
- 支持 Fabric、Forge、NeoForge 与 Quilt
- 支持 Minecraft 1.6.1 至 26.2 的已声明版本
- 优化资源包合并、pack.mcmeta 转换、缓存迁移与原子替换
- 语言包自动置于资源包列表底部