游戏核心管理
ML 提供了完整的游戏核心管理功能,包括核心检测、版本解析和依赖处理。
检测本地游戏核心
using MinecraftLaunch.Components;
// 检测所有已安装的游戏核心
var cores = await GameCoreUtil.GetGameCoresAsync(".minecraft");
foreach (var core in cores)
{
Console.WriteLine($"ID: {core.Id}");
Console.WriteLine($"类型: {core.Type}");
Console.WriteLine($"加载器: {core.Source}");
Console.WriteLine("-------------------");
}
// 查找特定版本
var specific = await GameCoreUtil.GetGameCoreAsync(
".minecraft",
"1.20.1-forge-47.1.0"
);
版本信息解析
// 解析版本信息
var core = await GameCoreUtil.GetGameCoreAsync(".minecraft", "1.20.1");
// 获取核心信息
Console.WriteLine($"主类: {core.MainClass}");
Console.WriteLine($"资源版本: {core.Assets}");
Console.WriteLine($"发布时间: {core.ReleaseTime}");
// 判断加载器类型
if (core.IsForge)
Console.WriteLine($"Forge 版本: {core.ForgeVersion}");
if (core.IsFabric)
Console.WriteLine($"Fabric 版本: {core.FabricVersion}");
依赖库管理
// 检查依赖完整性
var checker = new GameChecker(core);
var result = await checker.CheckLibrariesAsync();
foreach (var missing in result.MissingLibraries)
{
Console.WriteLine($"缺失库文件: {missing.Name}");
// 下载缺失的依赖
await missing.DownloadAsync(".minecraft/libraries");
}
资源文件检查
// 检查资源文件
var assetResult = await checker.CheckAssetsAsync();
if (!assetResult.IsComplete)
{
Console.WriteLine($"缺失 {assetResult.MissingAssets.Count} 个资源文件");
// 下载缺失的资源
await checker.DownloadAssetsAsync();
}