Skip to content

ChinsaaWei/HiraaLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HiraaLib

一个用 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/HiraaLib

基本使用

package 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages