Esempio n. 1
0
        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; }));
            }
        }
Esempio n. 2
0
        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; }));
                }
            }
        }
Esempio n. 3
0
        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;
                }
            }
        }
Esempio n. 4
0
        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;
                }
            }
        }
Esempio n. 5
0
        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;
                }
            }
        }
Esempio n. 6
0
        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;
                }
            }
        }