private static string GetLibraries_Optifine() { VersionJson versionJson = Global.LaunchConfiguation.MinecraftSetting.VersionJson; VersionJson versionJsonVanilla = JsonStorage.ParseVersionJson($"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\versions\\{versionJson.inheritsFrom}"); String re = String.Empty; for (int i = 0; i < versionJson.libraries.Count; i++) { String[] split = $"{versionJson.libraries[i].name}".Split(':'); String tempPath = $"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\libraries\\{split[0].Replace(".", "\\")}\\{split[1]}\\{split[2]}"; Console.WriteLine("==========================TEMP" + tempPath); foreach (String item in Directory.GetFiles(tempPath)) { re += $"{item};"; } } Console.WriteLine(GetClientType(versionJsonVanilla)); String vanilla = String.Empty; switch (GetClientType(versionJsonVanilla)) { case 2: vanilla = GetLibraries_VanillaHigh(); break; case 0: vanilla = GetLibraries_Vanilla(); break; } return(vanilla + re); }
static async Task Main(string[] args) { OfflineAuthenticator mojangAuthenticator = new OfflineAuthenticator { Account = "*****@*****.**", }; AuthResult authResult = mojangAuthenticator.Auth(); Console.WriteLine(authResult.PlayerName); Global.AuthConfiguation = authResult; Global.LaunchConfiguation = new LaunchConfiguation { JavaSetting = new JavaSetting { MaxMemorySize = 10, MinMemorySize = 6, JavaPath = @"C:\Program Files\Java\jre1.8.0_241\bin\javaw.exe", }, MinecraftSetting = new MinecraftSetting { LauncherName = "Tets", MinecraftSource = @"D:\Minecraft\Solution1\.minecraft", VersionJson = JsonStorage.ParseVersionJson(@"D:\Minecraft\Solution1\.minecraft\versions\1.8.9") } }; foreach (var item in Libraries.GetExistLibraries()) { Console.WriteLine(item.DownloadUri); Console.WriteLine(item.FileName); } LaunchCore launchCore = new LaunchCore(); String argss = launchCore.GenerateLaunchArgs(); Console.WriteLine(argss); launchCore.ExtraNatives(); Console.ReadLine(); }
public static async Task <List <AssetsModule> > ParseAssetsAsync() { VersionJson versionName = Global.LaunchConfiguation.MinecraftSetting.VersionJson; String jsonName; VersionJson versionJson; int clientType = GetClientType(Global.LaunchConfiguation.MinecraftSetting.VersionJson); if (clientType == 1 || clientType == 3) { versionJson = JsonStorage.ParseVersionJson(Global.LaunchConfiguation.MinecraftSetting.VersionJson.inheritsFrom); jsonName = $"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\assets\\indexes\\{versionJson.assetIndex.id}.json"; if (!File.Exists(jsonName)) { await NetTools.DownloadFileAsync(new Uri($"https://bmclapi2.bangbang93.com/v1/packages/{versionJson.assetIndex.sha1}/{versionJson.assetIndex.id}.json"), jsonName); } } else { versionJson = Global.LaunchConfiguation.MinecraftSetting.VersionJson; jsonName = $"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\assets\\indexes\\{versionName.assetIndex.id}.json"; if (!File.Exists(jsonName)) { await NetTools.DownloadFileAsync(new Uri($"https://bmclapi2.bangbang93.com/v1/packages/{versionJson.assetIndex.sha1}/{versionJson.assetIndex.id}.json"), jsonName); } } String jsonText = File.ReadAllText(jsonName); List <AssetsModule> re = new List <AssetsModule>(); foreach (DictionaryEntry item in AnalayJson(jsonText)) { foreach (DictionaryEntry sub in AnalayJson(item.Value.ToString())) { re.Add(JsonConvert.DeserializeObject <AssetsModule>(sub.Value.ToString())); } } return(re); }