void Bw_DoWork1(object sender, DoWorkEventArgs e) { downFile = MainWindow.lostFlie; int max = downFile.Count; // SetmaxProgressBar(max + 1); for (int i = 0; max > i; i++) { string filename = downFile[i]; string dir = Beelogin.GetLeft(downFile[i], "\\"); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); //创建文件夹 } string URL = "http://download.mcbbs.net" + Beelogin.GetRight(downFile[i], "\\libraries").Replace("\\", "/").ToString(); //MessageBox.Show(URL); if (Beelogin.DownloadFile(URL, filename)) { bgWorker.ReportProgress(i); } else { Dispatcher.Invoke(new Action(() => { ts.Text = "下载过程中出现了错误,将继续下载.出错URL:" + URL; })); } // jdt.Dispatcher.Invoke(new Action(() => { jdt.Value = i; })); } }
void Bw_asswork(object sender, DoWorkEventArgs e) { bool newass; if (MainWindow.lostasset.Count != 0) { newass = true; } else { newass = false; } downFile = (newass == true ? MainWindow.lostasset : MainWindow.lostlegacyasset); int max = downFile.Count; // SetmaxProgressBar(max + 1); for (int i = 0; max > i; i++) { string filename; string two; if (newass == true) { two = downFile[i].Substring(0, 2); filename = @AppDomain.CurrentDomain.BaseDirectory + @".minecraft\assets\objects\" + two + "\\" + downFile[i]; //MessageBox.Show(filename); } else { filename = @AppDomain.CurrentDomain.BaseDirectory + @".minecraft\assets\" + downFile[i]; } string dir = Beelogin.GetLeft(filename, "\\"); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir);//创建文件夹 } string URL = "http://download.mcbbs.net/" + (newass == true ? "assets" : "resources") + "/" + (newass == true ? $"{downFile[i].Substring(0, 2)}/" : "") + downFile[i].Replace("\\", "/"); try { if (Beelogin.DownloadFile(URL, filename) == true) { bgWorker.ReportProgress(i); } } catch { Dispatcher.Invoke(new Action(() => { ts.Text = "下载过程中出现了错误,将继续下载.出错URL:" + URL; })); } } }
void Bw_DoWork4(object sender, DoWorkEventArgs e) { if (!e.Cancel) { string dir_name = @AppDomain.CurrentDomain.BaseDirectory; Optifine Optifine = null; // forge forge = null; Dispatcher.Invoke(new Action(() => { Optifine = OptifineView.SelectedItem as Optifine; })); try { if (Optifine != null && Optifine is Optifine) { string var_name = Optifine.Ver; //游戏版本号 string zt = Optifine.Zt; //类型 string patch = Optifine.Id; //版本号 if (File.Exists(dir_name + "/.minecraft/mods/OptiFine_" + var_name + "_" + zt + "_" + patch + ".jar")) { Ts("文件已存在", "您要下载的OptiFine已存在,无需下载."); e.Cancel = true; return; } if (!File.Exists(dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".json") || !File.Exists(dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".jar")) { if (!Directory.Exists(dir_name + "/.minecraft/versions/" + var_name)) { Directory.CreateDirectory(dir_name + "/.minecraft/versions/" + var_name);//创建文件夹 } string jarurl = "http://download.mcbbs.net/versions/" + var_name + "/client"; string jsonurl = "http://download.mcbbs.net/versions/" + var_name + "/json"; if (Beelogin.DownloadFile(jarurl, dir_name + " /.minecraft/versions/" + var_name + "/" + var_name + ".jar") == true) { if (Beelogin.DownloadFile(jsonurl, dir_name + "/.minecraft/versions/" + var_name + "/" + var_name + ".json") == false) { Ts("下载失败", var_name + "版本的客户端下载失败,不能继续下载OptiFine\r\n出错URL:" + jsonurl); Directory.Delete(dir_name + "/.minecraft/versions/" + var_name, true); e.Cancel = true; return; } } else { Ts("下载失败", var_name + "版本的客户端下载失败,不能继续下载OptiFine\r\n出错URL:" + jarurl); Directory.Delete(dir_name + "/.minecraft/versions/" + var_name, true); e.Cancel = true; return; } } // string forge_link = $"http://download.mcbbs.net/maven/net/minecraftforge/forge/{var_name}-{var_forge}" + (fz != "" ? $"-{fz}" : "") + $"/forge-{var_name}-{var_forge}" + (fz != "" ? $"-{fz}" : "") + $"-universal.jar"; // string forgedir = dir_name + "/.minecraft/libraries/net/minecraftforge/forge/" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : "") + "/" + "forge-" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : "") + ".jar"; if (!Directory.Exists(dir_name + "/.minecraft/mods")) { Directory.CreateDirectory(dir_name + "/.minecraft/mods"); } if (!Directory.Exists(dir_name + "/.minecraft/beelanuch_downtemp")) { Directory.CreateDirectory(dir_name + "/.minecraft/beelanuch_downtemp"); } string Opti_link = "http://download.mcbbs.net/optifine/" + var_name + "/" + zt + "/" + patch; // Console.WriteLine(forge_link); // MessageBox.Show(forge_link); if (Beelogin.DownloadFile(Opti_link, dir_name + "/.minecraft/beelanuch_downtemp/optifine.jar")) { // MessageBox.Show(Lite_link); // KMCCC.Tools.ZipTools.UnzipFile(dir_name + "/.minecraft/libraries/net/minecraftforge/forge/" + var_name + "-" + var_forge + "/" + "forge-" + var_name + "-" + var_forge + ".jar", dir_name + "/.minecraft/beelanuch_downtemp", null); //UnZip(forgedir, dir_name + "/.minecraft/beelanuch_downtemp"); File.Move(dir_name + "/.minecraft/beelanuch_downtemp/optifine.jar", dir_name + "/.minecraft/mods/OptiFine_" + var_name + "_" + zt + "_" + patch + ".jar"); Directory.Delete(dir_name + "/.minecraft/beelanuch_downtemp", true); Ts("下载成功!", "'" + var_name + "'版本的'Optifine_" + zt + "_" + patch + "'已下载完毕"); e.Cancel = true; return; } else { Ts("下载失败", "下载'" + var_name + "'版本的'Optifine_" + zt + "_" + patch + "'失败,请重试或下载其他版本\r\n出错URL:" + Opti_link); // Directory.Delete(dir_name + "/.minecraft/versions/" + var_name + "-" + "forge" + var_name + "-" + var_forge, true); e.Cancel = true; return; } } } catch { Ts("下载失败", "下载失败,请重试或下载其他版本"); e.Cancel = true; return; } } }
void Bw_DoWork3(object sender, DoWorkEventArgs e) { if (!e.Cancel) { string dir_name = @AppDomain.CurrentDomain.BaseDirectory; Liteloader Liteloader = null; // forge forge = null; Dispatcher.Invoke(new Action(() => { Liteloader = LiteloaderView.SelectedItem as Liteloader; })); try { if (Liteloader != null && Liteloader is Liteloader) { string var_name = Liteloader.Ver; //游戏版本号 string zt = Liteloader.Zt; //类型 string var_lite = Liteloader.Id; //版本号 if (File.Exists(dir_name + "/.minecraft/mods/liteloader-" + var_name + "-" + zt + ".jar") || File.Exists(dir_name + "/.minecraft/mods/liteloader-" + var_lite + ".jar")) { Ts("文件已存在", "您要下载的LiteLoader已存在,无需下载."); e.Cancel = true; return; } if (!File.Exists(dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".json") || !File.Exists(dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".jar")) { if (!Directory.Exists(dir_name + "/.minecraft/versions/" + var_name)) { Directory.CreateDirectory(dir_name + "/.minecraft/versions/" + var_name);//创建文件夹 } string jarurl = "http://download.mcbbs.net/versions/" + var_name + "/client"; string jsonurl = "http://download.mcbbs.net/versions/" + var_name + "/json"; if (Beelogin.DownloadFile(jarurl, dir_name + " /.minecraft/versions/" + var_name + "/" + var_name + ".jar") == true) { if (Beelogin.DownloadFile(jsonurl, dir_name + "/.minecraft/versions/" + var_name + "/" + var_name + ".json") == false) { Ts("下载失败", var_name + "版本的客户端下载失败,不能继续下载LiteLoader\r\n出错URL:" + jsonurl); Directory.Delete(dir_name + "/.minecraft/versions/" + var_name, true); e.Cancel = true; return; } } else { Ts("下载失败", var_name + "版本的客户端下载失败,不能继续下载LiteLoader\r\n出错URL:" + jarurl); Directory.Delete(dir_name + "/.minecraft/versions/" + var_name, true); e.Cancel = true; return; } } // string forge_link = $"http://download.mcbbs.net/maven/net/minecraftforge/forge/{var_name}-{var_forge}" + (fz != "" ? $"-{fz}" : "") + $"/forge-{var_name}-{var_forge}" + (fz != "" ? $"-{fz}" : "") + $"-universal.jar"; // string forgedir = dir_name + "/.minecraft/libraries/net/minecraftforge/forge/" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : "") + "/" + "forge-" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : "") + ".jar"; if (!Directory.Exists(dir_name + "/.minecraft/mods")) { Directory.CreateDirectory(dir_name + "/.minecraft/mods"); } if (!Directory.Exists(dir_name + "/.minecraft/beelanuch_downtemp")) { Directory.CreateDirectory(dir_name + "/.minecraft/beelanuch_downtemp"); } string Lite_link; if (zt == "SNAPSHOT") { Lite_link = "http://download.mcbbs.net/maven/com/mumfrey/liteloader/" + var_name + "-" + zt + "/liteloader-" + var_name + "-" + zt + ".jar"; } else { Lite_link = "http://download.mcbbs.net/maven/com/mumfrey/liteloader/" + var_name + "/liteloader-" + var_lite + ".jar"; } // Console.WriteLine(forge_link); // MessageBox.Show(forge_link); if (Beelogin.DownloadFile(Lite_link, dir_name + "/.minecraft/beelanuch_downtemp/liteloader.jar")) { // MessageBox.Show(Lite_link); // KMCCC.Tools.ZipTools.UnzipFile(dir_name + "/.minecraft/libraries/net/minecraftforge/forge/" + var_name + "-" + var_forge + "/" + "forge-" + var_name + "-" + var_forge + ".jar", dir_name + "/.minecraft/beelanuch_downtemp", null); //UnZip(forgedir, dir_name + "/.minecraft/beelanuch_downtemp"); if (zt == "SNAPSHOT") { File.Move(dir_name + "/.minecraft/beelanuch_downtemp/liteloader.jar", dir_name + "/.minecraft/mods/liteloader-" + var_name + "-" + zt + ".jar"); } else { File.Move(dir_name + "/.minecraft/beelanuch_downtemp/liteloader.jar", dir_name + "/.minecraft/mods/liteloader-" + var_lite + ".jar"); } Directory.Delete(dir_name + "/.minecraft/beelanuch_downtemp", true); Ts("下载成功!", "'" + var_name + "'版本的liteloader'" + var_lite + "'已下载完毕"); e.Cancel = true; return; } else { Ts("下载失败", "下载'" + var_name + "'版本的liteloader'" + var_lite + "'失败,请重试或下载其他版本\r\n出错URL:" + Lite_link); // Directory.Delete(dir_name + "/.minecraft/versions/" + var_name + "-" + "forge" + var_name + "-" + var_forge, true); e.Cancel = true; return; } } } catch { Ts("下载失败", "下载失败,请重试或下载其他版本"); e.Cancel = true; return; } } }
void Bw_DoWork1(object sender, DoWorkEventArgs e) { if (!e.Cancel) { //load.Dispatcher.Invoke(new Action(() => { load.Visibility = Visibility; })); // btn_下载.Dispatcher.Invoke(new Action(() => { btn_下载.Content = "正在下载"; })); string dir_name = @AppDomain.CurrentDomain.BaseDirectory; // string select = ""; // Dispatcher.Invoke(new Action(() => { select = listView.SelectedItem.ToString(); })); Khd khd = null; Dispatcher.Invoke(new Action(() => { khd = listView.SelectedItem as Khd; })); string select = khd.Ver;//forge版本号 try { //MessageBox.Show(File.Exists(dir_name + @"\.minecraft\versions\" + select + "\\" + select + ".json").ToString()); if (File.Exists(dir_name + @"\.minecraft\versions\" + select + "\\" + select + ".json")) { Ts("文件已存在", "您要下载的客户端已存在,无需下载."); e.Cancel = true; return; } if (!Directory.Exists(dir_name + "/.minecraft/versions/" + select)) { Directory.CreateDirectory(dir_name + "/.minecraft/versions/" + select);//创建文件夹 } string jarurl = "http://download.mcbbs.net/versions/" + select + "/client"; string jsonurl = "http://download.mcbbs.net/versions/" + select + "/json"; // MessageBox.Show(GetHTML(jsonurl)); if (Beelogin.DownloadFile(jarurl, dir_name + " /.minecraft/versions/" + select + "/" + select + ".jar") == true) { string json = Beelogin.GetGeneralContent(jsonurl); if (json != "") { File.WriteAllText(dir_name + " /.minecraft/versions/" + select + "/" + select + ".json", json, Encoding.Default); Ts("下载完成", select + "版本的客户端下载完成!"); e.Cancel = true; return; } else { Ts("下载失败", select + "版本的客户端下载失败,请尝试下载其他版本\r\n出错URL:" + jsonurl); Directory.Delete(dir_name + "/.minecraft/versions/" + select, true); e.Cancel = true; return; } } else { Ts("下载失败", select + "版本的客户端下载失败,请尝试下载其他版本\r\n出错URL:" + jarurl); Directory.Delete(dir_name + "/.minecraft/versions/" + select, true); e.Cancel = true; return; } } catch { Ts("下载失败", "客户端下载失败,请重试或下载其他版本"); Directory.Delete(dir_name + "/.minecraft/versions/" + select, true); e.Cancel = true; return; } } }
void Bw_DoWork2(object sender, DoWorkEventArgs e) { if (!e.Cancel) { string dir_name = @AppDomain.CurrentDomain.BaseDirectory; Forge forge = null; Dispatcher.Invoke(new Action(() => { forge = forgeView.SelectedItem as Forge; })); try { if (forge != null && forge is Forge) { string var_name = forge.Ver; //游戏版本号 string var_forge = forge.Id; //forge版本号http://download.mcbbs.net/versions/ string fz = forge.Fz; //forge分支 if (File.Exists(dir_name + @"\.minecraft\versions\" + var_name + "-" + "forge" + var_name + "-" + var_forge + "\\" + var_name + "-" + "forge" + var_name + "-" + var_forge + ".json")) { Ts("文件已存在", "您要下载的客户端已存在,无需下载."); e.Cancel = true; return; } if (!File.Exists(dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".json") || !File.Exists(dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".jar")) { if (!Directory.Exists(dir_name + @"\.minecraft\versions\" + var_name)) { Directory.CreateDirectory(dir_name + @"\.minecraft\versions\" + var_name);//创建文件夹 } string jarurl = "http://download.mcbbs.net/versions/" + var_name + "/client"; string jsonurl = "http://download.mcbbs.net/versions/" + var_name + "/json"; if (Beelogin.DownloadFile(jarurl, dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".jar") == true) { if (Beelogin.DownloadFile(jsonurl, dir_name + @"\.minecraft\versions\" + var_name + "\\" + var_name + ".json") == false) { Ts("下载失败", var_name + "版本的客户端下载失败,不能继续下载FORGE\r\n出错URL:" + jsonurl); Directory.Delete(dir_name + @"\.minecraft\versions\" + var_name, true); e.Cancel = true; return; } } else { Ts("下载失败", var_name + "版本的客户端下载失败,不能继续下载FORGE\r\n出错URL:" + jarurl); Directory.Delete(dir_name + @"\.minecraft\versions\" + var_name, true); e.Cancel = true; return; } } // string forge_link = "http://download.mcbbs.net/forge/download?mcversion=" + var_name + "&version=" + var_forge + "&branch=" + var_name + "&category=universal&format=jar"; string forge_link = $"http://download.mcbbs.net/maven/net/minecraftforge/forge/{var_name}-{var_forge}" + (fz != "" ? $"-{fz}" : "") + $"/forge-{var_name}-{var_forge}" + (fz != "" ? $"-{fz}" : "") + $"-universal.jar"; string forgedir = dir_name + @".minecraft\libraries\net\minecraftforge\forge\" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : "") + "\\" + "forge-" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : "") + ".jar"; if (!Directory.Exists(dir_name + @".minecraft\libraries\net\minecraftforge\forge\" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : ""))) { Directory.CreateDirectory(dir_name + @".minecraft\libraries\net\minecraftforge\forge\" + var_name + "-" + var_forge + (fz != "" ? $"-{fz}" : "")); } if (!Directory.Exists(dir_name + @".minecraft\versions\" + var_name + "-" + "forge" + var_name + "-" + var_forge)) { Directory.CreateDirectory(dir_name + @".minecraft\versions\" + var_name + "-" + "forge" + var_name + "-" + var_forge); } if (!Directory.Exists(dir_name + @".minecraft\beelanuch_downtemp")) { Directory.CreateDirectory(dir_name + @".minecraft\beelanuch_downtemp"); } Console.WriteLine(forge_link); if (Beelogin.DownloadFile(forge_link, forgedir)) { // MessageBox.Show(forgedir); // KMCCC.Tools.ZipTools.UnzipFile(dir_name + @".minecraft\libraries\net\minecraftforge\forge\" + var_name + "-" + var_forge + "\\" + "forge-" + var_name + "-" + var_forge + ".jar", dir_name + @".minecraft\beelanuch_downtemp", null); if (!UnZip(forgedir, dir_name + @".minecraft\beelanuch_downtemp\", null)) { Ts("解压失败", "解压'" + var_name + "'版本的forge'" + var_forge + "'失败,请重试或下载其他版本"); // Directory.Delete(dir_name + @".minecraft\versions\" + var_name + "-" + "forge" + var_name + "-" + var_forge, true); e.Cancel = true; return; } // using (ZipFile zip = new ZipFile(forgedir)) // { // MessageBox.Show("1"); // zip.ExtractAll(dir_name + @"\.minecraft\beelanuch_downtemp", ExtractExistingFileAction.OverwriteSilently); // } File.Move(dir_name + @".minecraft\beelanuch_downtemp\version.json", dir_name + @".minecraft\versions\" + var_name + "-" + "forge" + var_name + "-" + var_forge + @"\" + var_name + "-" + "forge" + var_name + "-" + var_forge + ".json"); //MessageBox.Show("2"); Directory.Delete(dir_name + @".minecraft\beelanuch_downtemp", true); Ts("下载成功!", "'" + var_name + "'版本的forge'" + var_forge + "'已下载完毕"); e.Cancel = true; return; } else { Ts("下载失败", "下载'" + var_name + "'版本的forge'" + var_forge + "'失败,请重试或下载其他版本\r\n出错URL:" + forge_link); // Directory.Delete(dir_name + @".minecraft\versions\" + var_name + "-" + "forge" + var_name + "-" + var_forge, true); e.Cancel = true; return; } } } catch { Ts("下载失败", "下载失败,请重试或下载其他版本"); e.Cancel = true; return; } } }