Ejemplo n.º 1
0
        private async void DownloadLiteloaderButton_Click(object sender, RoutedEventArgs e)
        {
            Version ver = null;

            if (verToInstallLiteComboBox.SelectedItem != null)
            {
                ver = (Version)verToInstallLiteComboBox.SelectedItem;
            }
            else
            {
                await this.ShowMessageAsync("您未选择要安装Liteloader的Minecraft", "您需要选择一个需要安装Liteloader的Minecraft本体");

                return;
            }

            JWLiteloader liteloader = null;

            if (liteloaderListDataGrid.SelectedItem != null)
            {
                liteloader = (JWLiteloader)liteloaderListDataGrid.SelectedItem;
            }
            else
            {
                await this.ShowMessageAsync("您未选择要安装的Liteloader", "您需要选择一个要安装Liteloader");

                return;
            }

            AppendLiteloaderDownloadTask(ver, liteloader);
            this.Close();
        }
Ejemplo n.º 2
0
        //TODO:修复FORGE刷新不成功崩溃
        private async void DownloadForgeButton_Click(object sender, RoutedEventArgs e)
        {
            Version ver = null;

            if (verToInstallForgeComboBox.SelectedItem != null)
            {
                ver = (Version)verToInstallForgeComboBox.SelectedItem;
            }
            else
            {
                await this.ShowMessageAsync("您未选择要安装Forge的Minecraft", "您需要选择一个需要安装Forge的Minecraft本体");

                return;
            }

            JWForge forge = null;

            if (forgeListDataGrid.SelectedItem != null)
            {
                forge = (JWForge)forgeListDataGrid.SelectedItem;
            }
            else
            {
                await this.ShowMessageAsync("您未选择要安装的Forge", "您需要选择一个要安装Forge");

                return;
            }

            AppendForgeDownloadTask(ver, forge);
            this.Close();
        }
Ejemplo n.º 3
0
        private async void RefreshForge()
        {
            Version ver = null;

            if (verToInstallForgeComboBox.SelectedItem != null)
            {
                ver = (Version)verToInstallForgeComboBox.SelectedItem;
            }
            else
            {
                await this.ShowMessageAsync("您未选择要安装Forge的版本", "您需要选择一个需要安装Forge的Minecraft本体");

                return;
            }
            var loading = await this.ShowProgressAsync("获取Forge列表中", "请稍后");

            loading.SetIndeterminate();
            List <JWForge> result = null;

            forgeList.Clear();
            try
            {
                result = await apiHandler.GetForgeList(ver);
            }
            catch (WebException)
            {
                await this.ShowMessageAsync("获取Forge列表失败", "请检查您的网络是否正常或稍后再试");

                return;
            }
            await loading.CloseAsync();

            if (result == null || result.Count == 0)
            {
                await this.ShowMessageAsync("没有匹配该版本的Forge", "貌似没有支持这个版本的Forge,请尝试更换另一个版本");
            }
            else
            {
                foreach (var item in result)
                {
                    forgeList.Add(item);
                }
            }
        }
Ejemplo n.º 4
0
        private async void RefreshLiteloader()
        {
            Version ver = null;

            if (verToInstallLiteComboBox.SelectedItem != null)
            {
                ver = (Version)verToInstallLiteComboBox.SelectedItem;
            }
            else
            {
                await this.ShowMessageAsync("您未选择要安装Liteloader的版本", "您需要选择一个需要安装Liteloader的Minecraft本体");

                return;
            }
            var loading = await this.ShowProgressAsync("获取Liteloader列表中", "请稍后");

            loading.SetIndeterminate();
            JWLiteloader result = new JWLiteloader();

            liteloaderList.Clear();
            try
            {
                result = await apiHandler.GetLiteloaderList(ver);
            }
            catch (WebException)
            {
                await this.ShowMessageAsync("获取Liteloader列表失败", "请检查您的网络是否正常或稍后再试");

                return;
            }
            await loading.CloseAsync();

            if (result == null)
            {
                await this.ShowMessageAsync("没有匹配该版本的Liteloader", "貌似没有支持这个版本的Liteloader,请尝试更换另一个版本");
            }
            else
            {
                liteloaderList.Add(result);
            }
        }
Ejemplo n.º 5
0
        private void AppendLiteloaderDownloadTask(Version ver, JWLiteloader liteloader)
        {
            string       liteloaderPath = NsisoLauncherCore.PathManager.TempDirectory + string.Format(@"\Liteloader_{0}-Installer.jar", liteloader.Version);
            DownloadTask dt             = new DownloadTask("liteloader核心",
                                                           string.Format("https://bmclapi2.bangbang93.com/liteloader/download?version={0}", liteloader.Version),
                                                           liteloaderPath);

            dt.Todo = new Func <Exception>(() =>
            {
                try
                {
                    CommonInstaller installer = new CommonInstaller(liteloaderPath, new CommonInstallOptions()
                    {
                        GameRootPath = App.Handler.GameRootPath
                    });
                    installer.BeginInstall();
                    return(null);
                }
                catch (Exception ex)
                { return(ex); }
            });
            App.Downloader.AddDownloadTask(dt);
            App.Downloader.StartDownload();
        }
Ejemplo n.º 6
0
        private void AppendForgeDownloadTask(Version ver, JWForge forge)
        {
            string       forgePath = NsisoLauncherCore.PathManager.TempDirectory + string.Format(@"\Forge_{0}-Installer.jar", forge.Build);
            DownloadTask dt        = new DownloadTask("forge核心",
                                                      string.Format("https://bmclapi2.bangbang93.com/forge/download/{0}", forge.Build),
                                                      forgePath);

            dt.Todo = new Func <Exception>(() =>
            {
                try
                {
                    CommonInstaller installer = new CommonInstaller(forgePath, new CommonInstallOptions()
                    {
                        GameRootPath = App.Handler.GameRootPath
                    });
                    installer.BeginInstall();
                    return(null);
                }
                catch (Exception ex)
                { return(ex); }
            });
            App.Downloader.AddDownloadTask(dt);
            App.Downloader.StartDownload();
        }