ui: 添加 NeoForge 手动安装 Tab

feat: NeoForge 自动安装 Stage 1
fix: StdVersion 可能错误地包含了 "neoforge-" 前缀
fix: 自动安装选择 NeoForge 时自动生成的核心名称存在重复字符串
This commit is contained in:
Pigeon0v0
2024-06-16 08:52:45 +08:00
parent d8fe599739
commit 0e0335e688
10 changed files with 125 additions and 43 deletions
@@ -725,7 +725,7 @@
Public Class DlNeoForgeVersionEntry
''' <summary>
''' 完整的版本名,如 “14.22.1.2478”。
''' 完整的版本名,如 “neoforge-20.4.30-beta”。
''' </summary>
Public Version As String
''' <summary>
@@ -753,7 +753,7 @@
''' </summary>
Public IsBeta As Boolean = False
''' <summary>
''' 标准的版本号
''' 标准的版本号,如 “20.4.30”。
''' </summary>
Public StdVersion As String
Public Structure DlNeoForgeListResult
@@ -820,10 +820,10 @@
End Get
End Property
End Class
''' <summary>
''' NeoForge 版本列表,主加载器。
''' </summary>
Public DlNeoForgeListLoader As New LoaderTask(Of String, List(Of DlNeoForgeVersionEntry))("DlNeoForgeList Main", AddressOf DlNeoForgeVersionMain)
Public Sub DlNeoForgeVersionMain(Loader As LoaderTask(Of String, List(Of DlNeoForgeVersionEntry)))
Dim DlNeoForgeVersionOfficialLoader As New LoaderTask(Of String, List(Of DlNeoForgeVersionEntry))("DlNeoForgeVersion Official", AddressOf DlNeoForgeVersionOfficialMain)
Dim DlNeoForgeVersionBmclapiLoader As New LoaderTask(Of String, List(Of DlNeoForgeVersionEntry))("DlNeoForgeVersion Bmclapi", AddressOf DlNeoForgeVersionBmclapiMain)
@@ -882,10 +882,10 @@
Dim IsBeta As Boolean
Dim rawVersion As String = Token("rawVersion")
If rawVersion.Contains("-beta") Then
StdVersion = Token("version").ToString().Replace("-beta", "")
StdVersion = Token("version").ToString().Replace("neoforge-", "").Replace("-beta", "")
IsBeta = True
Else
StdVersion = Token("version").ToString()
StdVersion = Token("version").ToString().Replace("neoforge-", "")
IsBeta = False
End If
Name = rawVersion