Exemple #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();
        }
Exemple #2
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);
            }
        }
Exemple #3
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();
        }