MineFetch 是一个 Windows 上的 Minecraft Java 版游戏文件下载器。它可以自动补齐客户端、依赖库、资源文件和日志配置,省去手动翻 versions、libraries、assets 目录的麻烦。
默认使用国内可访问的 BMCLAPI,下载失败时会自动切换到 Mojang 官方源。
下载最新版: MineFetch Releases
直接下载 exe: minefetch.exe
MineFetch 是下载器,不是启动器。它不登录微软账号、不启动游戏、不安装 Java。下载完成后,请用 HMCL、PCL 等启动器打开对应的
.minecraft文件夹。
- 想补全一个已有的
.minecraft目录 - 国内网络环境,希望优先走 BMCLAPI
- 不想手动下载几十个依赖库和几千个资源文件
- 需要下载旧版本或快照
- 希望文件完整性有校验,而不是只看“下载完成”
从 Releases 下载 minefetch.exe。
程序是绿色版,不需要安装,也没有注册表写入。放到任意文件夹即可运行。
minefetch.exe没有做代码签名,Windows SmartScreen 可能提示“Windows 已保护你的电脑”。如果确认文件来自本仓库,可以点“更多信息”再点“仍要运行”。
程序会先弹出文件夹选择窗口:
- 选择已有的
.minecraft文件夹,或 - 在窗口里新建一个
.minecraft文件夹
如果取消选择,会使用默认目录:
%APPDATA%\.minecraft
窗口关闭后,在控制台输入版本号,例如:
1.20.1
直接按回车会下载最新正式版。输入 list 可以查看版本,输入 q 退出。
程序会显示下载进度、速度、文件数量和失败数。下载完成后会按官方 SHA-1 校验文件。
在 HMCL、PCL 等启动器中把游戏目录指向刚才选择的 .minecraft 文件夹,选择对应版本即可启动。
- 下载客户端 jar、版本 JSON、依赖库、日志配置、资源索引和全部资源对象
- 支持正式版、快照和旧版本
- 自动处理 Windows 平台相关的依赖规则
- 支持旧版
natives和旧版资源目录 - 有官方 SHA-1 的文件都会校验,损坏文件自动重新下载
- 多线程下载,显示实时进度
- 中断后重新运行会跳过已完成文件
- 默认 BMCLAPI,失败自动回退 Mojang 官方源
- 处理 BMCLAPI 的 429 限流,等待后重试
- 支持命令行和双击交互两种方式
MineFetch 只负责“把游戏文件下载完整”,以下事情不包含:
- 不登录微软账号
- 不启动游戏
- 不安装或管理 Java
- 不写
launcher_profiles.json - 不解压
natives(启动器会在启动时处理) - 不下载服务端 jar
- 不支持
inheritsFrom的整合版本,例如 Forge、NeoForge、OptiFine 的版本 JSON
如果你要安装 Forge、Fabric 或整合包,请使用对应的启动器或安装器。
如果不想用交互模式,可以直接在命令提示符或 PowerShell 中运行。
:: 下载最新正式版(会弹窗选择目录)
minefetch.exe install latest
:: 直接下载到默认目录,不弹窗
minefetch.exe install latest --no-pick
:: 下载 1.20.1 到指定目录
minefetch.exe install 1.20.1 --dir D:\Games\.minecraft
:: 查看正式版列表
minefetch.exe list
:: 查看所有版本
minefetch.exe list --type all --limit 0
:: 查看某个版本的信息
minefetch.exe info 1.21.4
:: 只下载核心文件,不下载资源
minefetch.exe install 1.20.1 --no-pick --no-assets
:: 使用 Mojang 官方源
minefetch.exe install 1.20.1 --no-pick --mirror mojang| 场景 | 行为 |
|---|---|
| 双击运行 | 自动弹窗选择 .minecraft |
命令行安装且没有 --dir |
自动弹窗选择 .minecraft |
| 取消弹窗 | 使用 %APPDATA%\.minecraft |
指定 --dir |
直接使用指定目录,不弹窗 |
--pick-dir |
强制弹窗 |
--no-pick |
不弹窗,适合脚本和自动化 |
例如脚本中不想弹窗:
minefetch.exe install 1.20.1 --dir D:\Games\.minecraft --no-pick适合批处理、计划任务或远程执行。--silent 会:
- 不弹文件夹选择窗口
- 不显示进度和普通提示
- 只在出错时输出
- 如果没有指定
--dir,直接使用%APPDATA%\.minecraft
minefetch.exe install 1.20.1 --dir D:\Games\.minecraft --silent成功时退出码为 0,失败时为 1,取消时为 130。
--silent 只用于 install,不能和 list / info 一起使用。
默认情况下,版本会保存为 versions\<原版版本号>\。如果希望启动器里显示自定义名称,可以使用 --name:
minefetch.exe install 1.20.1 --name "我的1.20.1" --dir D:\Games\.minecraft下载后会生成:
.minecraft\versions\我的1.20.1\
├─ 我的1.20.1.json
└─ 我的1.20.1.jar
说明:
- 只生成这一个版本文件夹,不会额外创建
versions\1.20.1\ - 版本 JSON 里的
id也会改成自定义名称,启动器会显示这个名字 - 不能使用官方版本号作为自定义名称,例如已经有
1.20.1时不能再叫1.20.1 - 名称不能包含
\ / : * ? " < > |等 Windows 非法字符 - 如果目标名称已存在且属于其他版本,程序会拒绝覆盖
- 可以和
--silent一起使用
minefetch.exe install 1.20.1 --name "整合包-1.20.1" --dir D:\Games\.minecraft --silent| 选项 | 说明 |
|---|---|
-d, --dir <目录> |
指定游戏目录 |
--pick-dir |
弹窗选择 .minecraft 文件夹 |
--no-pick |
不自动弹窗 |
-m, --mirror <源> |
bmclapi(默认)或 mojang |
--mirror-url <URL> |
使用兼容 BMCLAPI 的自定义镜像 |
-t, --threads <1-32> |
并发线程数,默认 8 |
-f, --force |
忽略已有文件,全部重新下载 |
-s, --silent |
静默安装,不弹窗、不输出进度,只显示错误 |
--name <名称> |
自定义版本名,生成独立的版本文件夹 |
--no-assets |
不下载资源文件 |
--no-logging |
不下载日志配置 |
--no-verify |
跳过 SHA-1 校验,不建议使用 |
--no-fallback |
BMCLAPI 失败时不自动切换官方源 |
--retries <0-10> |
单个请求失败后的重试次数,默认 3 |
--timeout <5-300> |
网络超时秒数,默认 30 |
-v, --verbose |
显示每个正在下载的文件 |
--type <类型> |
list 过滤:release、snapshot、all |
--limit <数量> |
list 显示数量,0 表示全部 |
以选择 D:\Games\.minecraft、下载 1.20.1 为例:
D:\Games\.minecraft\
├─ versions\1.20.1\
│ ├─ 1.20.1.json
│ └─ 1.20.1.jar
├─ libraries\
│ └─ ...(游戏依赖库)
├─ assets\
│ ├─ indexes\
│ ├─ objects\
│ └─ virtual\legacy\...(仅旧版需要)
├─ resources\...(仅部分旧版需要)
└─ logging\client-1.12.xml
不同版本会共享 libraries 和 assets,所以下载第二个版本时通常只需要补少量文件。
- 等 1~2 秒,程序需要先初始化。
- 确认没有加
--no-pick参数。 - 如果通过脚本或重定向输出运行,Windows 不会把它当作交互终端,此时不会自动弹窗,请手动加
--pick-dir,或用--dir指定目录。 - 如果 SmartScreen 拦住了程序,点“更多信息”再点“仍要运行”。
程序会自动切换到 Mojang 官方源,通常不需要手动处理。
如果想直接使用官方源:
minefetch.exe install 1.20.1 --no-pick --mirror mojang如果两个源都失败,请检查网络、DNS 或代理设置。
BMCLAPI 在短时间内请求过多会限流。程序会读取等待时间并重试。
如果不想等,可以:
minefetch.exe install 1.20.1 --no-pick --mirror mojang或者等一分钟左右再运行。
重新运行同一条命令即可。已经完整且校验通过的文件会跳过,损坏的文件会重新下载。
例如:
minefetch.exe install 1.20.1 --dir D:\Games\.minecraft可能是用了 --no-assets,或者资源没有下载完整。去掉 --no-assets 重新运行:
minefetch.exe install 1.20.1 --dir D:\Games\.minecraft确认启动器指向的是正确的 .minecraft 目录,而不是它的上级目录。
正确:
D:\Games\.minecraft
错误:
D:\Games
MineFetch 不安装 Java。请安装对应版本需要的 Java,或使用自带 Java 管理功能的启动器。
例如 1.20.1 通常需要 Java 17,较新的版本可能需要 Java 21 或更高。
MineFetch 只下载 natives jar,不解压。请让启动器负责解压,或重新用启动器启动一次该版本。
可以尝试:
minefetch.exe install 1.20.1 --threads 12 --no-pick线程不是越多越好。网络不稳定时,保持默认 8 或更低通常更稳。
程序使用 WinHTTP 的默认代理设置。可以先设置:
netsh winhttp set proxy 127.0.0.1:7890取消代理:
netsh winhttp reset proxyminefetch.exe install 1.20.1 --dir D:\Games\.minecraft --force这会重新下载所有文件,包括已经完整的文件。一般不需要。
下载新版本的 minefetch.exe,替换旧文件即可。程序没有配置文件,也不需要迁移数据。
MineFetch 不写注册表、不写系统目录。删除 minefetch.exe 即可。
下载到 .minecraft 里的游戏文件不会自动删除;如果不需要,手动删除对应目录。
- 不要求微软账号,不读取账号信息
- 不包含遥测或统计上报
- 只访问版本清单、依赖库和资源下载地址
- 提供官方 SHA-1 的文件都会校验
- 下载先写
.part,校验成功后才替换目标文件 - 源码公开,可自行审查或构建
BMCLAPI 只作为下载镜像使用,游戏文件版权归原站点所有。使用 BMCLAPI 时请遵守其使用规范。
- Windows 10 或 Windows 11,x64
- 建议至少预留 1 GB 磁盘空间(现代版本完整资源约 700 MB,旧版本更小)
- 首次运行不需要管理员权限
- 先查看上面的常见问题
- 在 GitHub Issues 反馈问题
- 反馈时请附上:
- 运行的完整命令
- 控制台错误信息
- Windows 版本
- 下载的 Minecraft 版本
构建方法、代码结构、BMCLAPI 映射和本地测试说明见 DEVELOPING.md。
源码仓库:https://github.com/XiaLize/MineFetch
Minecraft 是 Mojang Synergies AB 的商标;本项目与 Mojang / Microsoft 无隶属关系。
(使用AI工具编写)