fix: NeoForge 手动安装版本列表不能正常加载(修完了)

This commit is contained in:
Pigeon0v0
2024-06-26 22:13:11 +08:00
parent 3f5c29264f
commit 707b6eec14
3 changed files with 15 additions and 9 deletions
+13
View File
@@ -128,6 +128,16 @@
ForgeDownloadListItemPreload(Stack, Stack.Tag, AddressOf ForgeSave_Click, True) ForgeDownloadListItemPreload(Stack, Stack.Tag, AddressOf ForgeSave_Click, True)
Case 8 Case 8
CompFilesCardPreload(Stack, Stack.Tag) 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 End Select
'实现控件虚拟化 '实现控件虚拟化
For Each Data As Object In Stack.Tag For Each Data As Object In Stack.Tag
@@ -171,6 +181,9 @@
Stack.Children.Add(CType(Data, HelpEntry).ToListItem) Stack.Children.Add(CType(Data, HelpEntry).ToListItem)
Case 12 Case 12
Stack.Children.Add(FabricDownloadListItem(CType(Data, JObject), AddressOf FrmDownloadInstall.Fabric_Selected)) 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 Case Else
Log("未知的虚拟化种类:" & Type, LogLevel.Feedback) Log("未知的虚拟化种类:" & Type, LogLevel.Feedback)
End Select End Select
@@ -767,12 +767,6 @@
''' </summary> ''' </summary>
Public DlNeoForgeListOfficialLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Official", AddressOf DlNeoForgeListOfficialMain) Public DlNeoForgeListOfficialLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Official", AddressOf DlNeoForgeListOfficialMain)
Private Sub DlNeoForgeListOfficialMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult)) 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 ResultLatest As String
Dim VersionsJArray As JArray Dim VersionsJArray As JArray
Try Try
@@ -11,11 +11,10 @@
'结果数据化 '结果数据化
Try Try
Dim Versions = Sort(DlNeoForgeListLoader.Output.Value, AddressOf VersionSortBoolean) Dim Versions = Sort(DlNeoForgeListLoader.Output.Value, AddressOf VersionSortBoolean)
'Dim Versions As List(Of DlNeoForgeVersionEntry) = DlNeoForgeListLoader.Output
PanMain.Children.Clear() PanMain.Children.Clear()
For Each Version As String In Versions 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} 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.Children.Add(NewStack)
NewCard.SwapControl = NewStack NewCard.SwapControl = NewStack
@@ -34,7 +33,7 @@
'载入列表 '载入列表
Card.SwapControl.Children.Clear() Card.SwapControl.Children.Clear()
Card.SwapControl.Tag = Loader.Output Card.SwapControl.Tag = Loader.Output
Card.SwapType = 6 Card.SwapType = 14
Card.StackInstall() Card.StackInstall()
End Sub End Sub
Public Sub NeoForge_Click(sender As MyLoading, e As MouseButtonEventArgs) Public Sub NeoForge_Click(sender As MyLoading, e As MouseButtonEventArgs)