From 707b6eec1469c7a1b9a8844da79216dc92330ec3 Mon Sep 17 00:00:00 2001 From: Pigeon0v0 Date: Wed, 26 Jun 2024 22:13:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20NeoForge=20=E6=89=8B=E5=8A=A8=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E7=89=88=E6=9C=AC=E5=88=97=E8=A1=A8=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E5=8A=A0=E8=BD=BD=EF=BC=88=E4=BF=AE=E5=AE=8C?= =?UTF-8?q?=E4=BA=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Controls/MyCard.vb | 13 +++++++++++++ .../Modules/Minecraft/ModDownload.vb | 6 ------ .../Pages/PageDownload/PageDownloadNeoForge.xaml.vb | 5 ++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Plain Craft Launcher 2/Controls/MyCard.vb b/Plain Craft Launcher 2/Controls/MyCard.vb index 11b7669..0cb673f 100644 --- a/Plain Craft Launcher 2/Controls/MyCard.vb +++ b/Plain Craft Launcher 2/Controls/MyCard.vb @@ -128,6 +128,16 @@ ForgeDownloadListItemPreload(Stack, Stack.Tag, AddressOf ForgeSave_Click, True) Case 8 CompFilesCardPreload(Stack, Stack.Tag) + Case 13 + Dim LoadingPickaxe As New MyLoading With {.Text = "正在获取版本列表", .Margin = New Thickness(5)} + Dim Loader = New LoaderTask(Of String, List(Of DlNeoForgeVersionEntry))("DlNeoForgeVersion Main", AddressOf DlNeoForgeVersionMain) + LoadingPickaxe.State = Loader + Loader.Start(Stack.Tag) + AddHandler LoadingPickaxe.StateChanged, AddressOf FrmDownloadNeoForge.NeoForge_StateChanged + AddHandler LoadingPickaxe.Click, AddressOf FrmDownloadNeoForge.NeoForge_Click + Stack.Children.Add(LoadingPickaxe) + Case 14 + NeoForgeDownloadListItemPreload(Stack, Stack.Tag, AddressOf NeoForgeSave_Click, True) End Select '实现控件虚拟化 For Each Data As Object In Stack.Tag @@ -171,6 +181,9 @@ Stack.Children.Add(CType(Data, HelpEntry).ToListItem) Case 12 Stack.Children.Add(FabricDownloadListItem(CType(Data, JObject), AddressOf FrmDownloadInstall.Fabric_Selected)) + Case 13 + Case 14 + Stack.Children.Add(NeoForgeDownloadListItem(Data, AddressOf NeoForgeSave_Click, True)) Case Else Log("未知的虚拟化种类:" & Type, LogLevel.Feedback) End Select diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb index d5cfe70..a8656cc 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb @@ -767,12 +767,6 @@ ''' Public DlNeoForgeListOfficialLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Official", AddressOf DlNeoForgeListOfficialMain) Private Sub DlNeoForgeListOfficialMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult)) - 'Dim Result As String = NetGetCodeByRequestRetry("https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.2.4.html", Encoding.Default, "text/html", UseBrowserUserAgent:=True) - 'If Result.Length < 200 Then Throw New Exception("获取到的版本列表长度不足(" & Result & ")") - ''获取所有版本信息 - 'Dim Names As List(Of String) = RegexSearch(Result, "(?<=a href=""index_)[0-9.]+(_pre[0-9]?)?(?=.html)") - 'If Names.Count < 10 Then Throw New Exception("获取到的版本数量不足(" & Result & ")") - 'Loader.Output = New DlNeoForgeListResult With {.IsOfficial = True, .SourceName = "NeoForge 官方源", .Value = Names} Dim ResultLatest As String Dim VersionsJArray As JArray Try diff --git a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadNeoForge.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadNeoForge.xaml.vb index 2e6f3e8..b0eabde 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadNeoForge.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadNeoForge.xaml.vb @@ -11,11 +11,10 @@ '结果数据化 Try Dim Versions = Sort(DlNeoForgeListLoader.Output.Value, AddressOf VersionSortBoolean) - 'Dim Versions As List(Of DlNeoForgeVersionEntry) = DlNeoForgeListLoader.Output PanMain.Children.Clear() For Each Version As String In Versions '增加卡片 - Dim NewCard As New MyCard With {.Title = Version.Replace("_p", " P"), .Margin = New Thickness(0, 0, 0, 15), .SwapType = 5} + Dim NewCard As New MyCard With {.Title = Version.Replace("_p", " P"), .Margin = New Thickness(0, 0, 0, 15), .SwapType = 13} Dim NewStack As New StackPanel With {.Margin = New Thickness(20, MyCard.SwapedHeight, 18, 0), .VerticalAlignment = VerticalAlignment.Top, .RenderTransform = New TranslateTransform(0, 0), .Tag = Version} NewCard.Children.Add(NewStack) NewCard.SwapControl = NewStack @@ -34,7 +33,7 @@ '载入列表 Card.SwapControl.Children.Clear() Card.SwapControl.Tag = Loader.Output - Card.SwapType = 6 + Card.SwapType = 14 Card.StackInstall() End Sub Public Sub NeoForge_Click(sender As MyLoading, e As MouseButtonEventArgs)