fix: BMCLAPI 获取支持的 Neo 列表时会意外的包含 1.20
fix: NeoForge 1.20.1 官方源版本列表不能正常解析
This commit is contained in:
@@ -822,9 +822,8 @@
|
|||||||
For Each Release In ClientReleases
|
For Each Release In ClientReleases
|
||||||
If Int(Release.Split(".")(1)) > 19 Then '如果游戏版本低于 1.20 就不进行请求
|
If Int(Release.Split(".")(1)) > 19 Then '如果游戏版本低于 1.20 就不进行请求
|
||||||
Dim Json As String = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/neoforge/list/" & Release)
|
Dim Json As String = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/neoforge/list/" & Release)
|
||||||
If Json IsNot "[]" Then '如果这个版本不支持 NeoForge,BMCLAPI 会直接返回一个空的 Json 序列,这里直接用字符串处理了
|
If Not Json.Contains("[]") Then '如果这个版本不支持 NeoForge,BMCLAPI 会直接返回一个空的 Json 序列,这里直接用字符串处理了
|
||||||
Versions.Add(Release)
|
Versions.Add(Release)
|
||||||
Versions.Remove("1.20")
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -954,6 +953,7 @@
|
|||||||
Dim ResultLatestJson As JObject
|
Dim ResultLatestJson As JObject
|
||||||
Dim ResultLegacyJson As JObject
|
Dim ResultLegacyJson As JObject
|
||||||
Dim VersionsJArray As JArray
|
Dim VersionsJArray As JArray
|
||||||
|
Dim IsLegacyNeo As Boolean = False
|
||||||
Try
|
Try
|
||||||
ResultLatest = NetGetCodeByDownload("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/neoforge", UseBrowserUserAgent:=True)
|
ResultLatest = NetGetCodeByDownload("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/neoforge", UseBrowserUserAgent:=True)
|
||||||
ResultLegacy = NetGetCodeByDownload("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/forge", UseBrowserUserAgent:=True)
|
ResultLegacy = NetGetCodeByDownload("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/forge", UseBrowserUserAgent:=True)
|
||||||
@@ -968,8 +968,9 @@
|
|||||||
ResultLatestJson = GetJson(ResultLatest)
|
ResultLatestJson = GetJson(ResultLatest)
|
||||||
ResultLegacyJson = GetJson(ResultLegacy)
|
ResultLegacyJson = GetJson(ResultLegacy)
|
||||||
If Loader.Input IsNot Nothing Then
|
If Loader.Input IsNot Nothing Then
|
||||||
If Loader.Input Is "1.20.1" Then
|
If Loader.Input.ToString().Contains("1.20.1") Then
|
||||||
VersionsJArray = ResultLegacyJson("versions")
|
VersionsJArray = ResultLegacyJson("versions")
|
||||||
|
IsLegacyNeo = True
|
||||||
Else
|
Else
|
||||||
VersionsJArray = ResultLatestJson("versions")
|
VersionsJArray = ResultLatestJson("versions")
|
||||||
End If
|
End If
|
||||||
@@ -983,26 +984,30 @@
|
|||||||
Dim IsBeta As Boolean
|
Dim IsBeta As Boolean
|
||||||
Dim rawVersion As String = Token
|
Dim rawVersion As String = Token
|
||||||
If rawVersion.Contains("-beta") Then
|
If rawVersion.Contains("-beta") Then
|
||||||
StdVersion = Token.Replace("neoforge-", "").Replace("-beta", "")
|
StdVersion = Token.Replace("neoforge-", "").Replace("-beta", "").Replace("1.20.1-", "")
|
||||||
IsBeta = True
|
IsBeta = True
|
||||||
Else
|
Else
|
||||||
StdVersion = Token.Replace("neoforge-", "")
|
StdVersion = Token.Replace("neoforge-", "").Replace("1.20.1-", "")
|
||||||
IsBeta = False
|
IsBeta = False
|
||||||
End If
|
End If
|
||||||
Dim Inherit As String = "1." & StdVersion.Split(".")(0) & "." & StdVersion.Split(".")(1)
|
Dim Inherit As String = "1." & StdVersion.Split(".")(0) & "." & StdVersion.Split(".")(1)
|
||||||
Inherit = Inherit.Replace(".0", "")
|
Inherit = Inherit.Replace(".0", "")
|
||||||
|
If IsLegacyNeo Then Inherit = "1.20.1"
|
||||||
Dim Entry = New DlNeoForgeVersionEntry
|
Dim Entry = New DlNeoForgeVersionEntry
|
||||||
If Loader.Input IsNot Nothing Then
|
If Loader.Input IsNot Nothing Then
|
||||||
|
If IsLegacyNeo Then
|
||||||
|
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
||||||
|
Versions.Add(Entry)
|
||||||
|
Else
|
||||||
If Inherit.Contains(Loader.Input.ToString().Replace("1.", "")) Then
|
If Inherit.Contains(Loader.Input.ToString().Replace("1.", "")) Then
|
||||||
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
||||||
Versions.Add(Entry)
|
Versions.Add(Entry)
|
||||||
Continue For
|
End If
|
||||||
|
End If
|
||||||
Else
|
Else
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
||||||
Versions.Add(Entry)
|
Versions.Add(Entry)
|
||||||
|
End If
|
||||||
Next
|
Next
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyMsgBox(ex.ToString(), "错误")
|
MyMsgBox(ex.ToString(), "错误")
|
||||||
|
|||||||
@@ -2197,6 +2197,7 @@ Retry:
|
|||||||
If Entry.IsBeta Then
|
If Entry.IsBeta Then
|
||||||
FreshBetaVersion = Entry
|
FreshBetaVersion = Entry
|
||||||
Else
|
Else
|
||||||
|
If Entry.StdVersion.Contains("47.1.82") Then Continue For
|
||||||
FreshStableVersion = Entry
|
FreshStableVersion = Entry
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|||||||
Reference in New Issue
Block a user