一个用 Go 语言编写的 Minecraft 启动器库,提供版本管理、下载、模组加载器支持等功能。
- 版本管理:支持获取和安装 Minecraft 各个版本
- 文件下载:支持断点续传、下载进度回调、SHA1 校验
- 模组加载器:支持 Forge、Fabric、Quilt、NeoForge 等主流模组加载器
- 游戏启动:完整的 JVM 参数配置和游戏启动流程
- 日志系统:支持控制台和文件日志输出
HiraaLib/
├── config/ # 配置管理
├── download/ # 下载模块
│ ├── arguments.go
│ ├── assets.go
│ ├── downloader.go
│ ├── libraries.go
│ └── version.go
├── launch/ # 启动模块
├── logger/ # 日志模块
├── modloader/ # 模组加载器
├── util/ # 工具函数
└── version/ # 版本管理
go get github.com/ChinsaaWei/HiraaLibpackage main
import (
"github.com/ChinsaaWei/HiraaLib/config"
"github.com/ChinsaaWei/HiraaLib/download"
"github.com/ChinsaaWei/HiraaLib/launch"
"github.com/ChinsaaWei/HiraaLib/logger"
"github.com/ChinsaaWei/HiraaLib/modloader"
"github.com/ChinsaaWei/HiraaLib/version"
)
func main() {
// 初始化配置
cfg := config.NewConfig()
cfg.EnsureDirectories()
// 初始化日志
logger.Init(logger.INFO, cfg.LogDir)
// 初始化下载器
dl := download.NewDownloader()
vd := download.NewVersionDownloader(dl, cfg.DownloadDir)
// 初始化版本管理器
vm := version.NewManager(cfg.GameDir, vd)
// 初始化模组加载器管理器
modLoaderMgr := modloader.NewModLoaderManager()
// 初始化启动器
launcher := launch.NewLauncher(cfg, vd, modLoaderMgr)
// 启动游戏
err := launcher.Launch("1.20.1", "Player", "", 0)
if err != nil {
logger.Error("Failed to launch: %v", err)
}
}创建 Config 时会自动设置默认路径:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| GameDir | .minecraft |
游戏目录 |
| WorkingDir | .GilvaaLauncher |
工作目录 |
| LogDir | .GilvaaLauncher/logs |
日志目录 |
| DownloadDir | .GilvaaLauncher/downloads |
下载目录 |
| JavaPath | java |
Java 路径 |
| MinMemory | 1024 | 最小内存 (MB) |
| MaxMemory | 4096 | 最大内存 (MB) |
| VersionIsolation | true | 版本隔离 |
| 类型 | 说明 |
|---|---|
none |
无模组加载器 |
forge |
Forge |
fabric |
Fabric |
quilt |
Quilt |
neoforge |
NeoForge |
- Go 1.25+
MIT License