Skip to content
On this page

Quilt 安装器

TIP

ML 提供了 GetQuiltBuildsByVersionAsync 方法以获取指定 Minecraft 的所有 Quilt 信息,此方法为静态方法,可不经过初始化直接调用

INFO

此安装器只提供了 Quilt 的本体安装,不提供 Quilt Standard Libraries(QSL) 的安装,如需安装 QSL,请使用 ModrinthToolkit 进行获取下载!

获取 Quilt 安装信息

您需要提前获取 Quilt 的安装信息才能进行 Quilt 的安装!示例如下:

C#
var quiltbuild = (await QuiltInstaller.GetQuiltBuildsByVersionAsync("1.16.5")).First();

First 方法会返回这个 Mc 版本最新的 Quilt.

初始化安装器

初始化 Quilt 安装器的方式非常简单,我们为其提供了一种构造方法:

C#
QuiltInstaller()
QuiltInstaller(GameCoreToolkit coreLocator, QuiltInstallBuild build, string customId = null)
参数名说明
gameCoreToolkit提供一个本地游戏定位器
build要安装的 Quilt 详细信息
customId继承的游戏核心名,可以忽略

开始安装

在您完成安装器的初始化后,您只需要调用 Quilt 安装器的安装方法来完成安装。

在异步上下文中,使用 InstallAsync 来完成安装:

C#
await installer.InstallAsync();

INFO

在安装完成后 InstallAsync 方法会返回这个游戏核心的相关信息,并返回安装成功情况.

获取安装器当前进度

正常情况下,安装器会花费数分钟来下载并安装 Quilt,您可以通过 ProgressChanged 事件获取当前下载进度,您只需在 调用安装方法之前 注册下面的事件:

C#
installer.ProgressChanged += (_, x) => {
    Console.WriteLine(x.ProgressDescription);
};

其中, x.Progress 指示了安装器当前的进度 (不是百分比,需手动乘以100),x.ProgressDescription 则是安装器当前进度的文字描述。

控制台示例

为了满足一些懒狗的模块(

C#
var quiltbuild = (await QuiltInstaller.GetQuiltBuildsByVersionAsync("1.16.5")).First();
QuiltInstaller installer = new(".minecraft", quiltbuild);

installer.ProgressChanged += (_, x) => {
    Console.WriteLine(x.ProgressDescription);
};

var result = await installer.InstallAsync();

if (result.Success) {
    Console.WriteLine($"游戏核心 {res.GameCore.Id} 安装成功");
}

TIP

由于 GameCoreToolkit 有个隐式转换器,您可以省略 new GameCoreToolkit() 的部分而直接使用 "游戏路径" 的方法实例化.

本文档遵循 MIT 协议,来点个 Star 嘛~