Просмотр исходного кода

Merge pull request #4 from youzi-2333/pigeon-neoforge

修改一些龙猫的审查
Pigeon0v0 2 лет назад
Родитель
Сommit
f98578f60d

+ 0 - 0
Plain Craft Launcher 2/Images/Icons/NeoForged.png → Plain Craft Launcher 2/Images/Icons/NeoForge.png


+ 28 - 34
Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb

@@ -770,7 +770,7 @@
         Dim ResultLatest As String
         Dim ResultLatest As String
         Dim VersionsJArray As JArray
         Dim VersionsJArray As JArray
         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, IsJson:=True)
         Catch ex As Exception
         Catch ex As Exception
             If GetExceptionSummary(ex).Contains("(404)") Then
             If GetExceptionSummary(ex).Contains("(404)") Then
                 Throw New Exception("没有可用版本")
                 Throw New Exception("没有可用版本")
@@ -780,24 +780,19 @@
         End Try
         End Try
         If ResultLatest.Length < 50 Then Throw New Exception("获取到的版本列表长度不足(" & ResultLatest & ")")
         If ResultLatest.Length < 50 Then Throw New Exception("获取到的版本列表长度不足(" & ResultLatest & ")")
         VersionsJArray = GetJson(ResultLatest)("versions")
         VersionsJArray = GetJson(ResultLatest)("versions")
-        Dim Versions As List(Of String) = New List(Of String)
+        Dim Versions As New List(Of String)
         Versions.Add("1.20.1")
         Versions.Add("1.20.1")
         Try
         Try
             For Each Token As String In VersionsJArray
             For Each Token As String In VersionsJArray
-                Dim Version As String = Token.ToString().Replace("neoforge-", "")
-                Dim Inherit As String = "1." & Version.ToString().Split(".")(0) & "." & Token.ToString().Split(".")(1)
-                If Inherit.EndsWith(".0") Then
-                    Inherit = Inherit.Replace(".0", "")
-                End If
-                If Versions.Contains(Inherit) Then
-                    Continue For
-                Else
-                    Versions.Add(Inherit)
-                End If
+                Dim Version As String = Token.Replace("neoforge-", "")
+                Dim Inherit As String = $"1.{Version.ToString().Split(".")(0)}.{Token.ToString().Split(".")(1)}"
+                If Inherit.EndsWith(".0") Then Inherit = Inherit.Replace(".0", "")
+                Versions.Add(Inherit)
             Next
             Next
+            Versions.Distinct() '去重
         Catch ex As Exception
         Catch ex As Exception
-            MyMsgBox(ex.ToString(), "错误")
-            Throw New Exception("版本列表解析失败(" & VersionsJArray.ToString & ")", ex)
+            Log(ex, LogLevel.Feedback)
+            'Throw New Exception("版本列表解析失败(" & VersionsJArray.ToString & ")", ex)
         End Try
         End Try
         If Not Versions.Any() Then Throw New Exception("没有可用版本")
         If Not Versions.Any() Then Throw New Exception("没有可用版本")
         Loader.Output = New DlNeoForgeListResult With {.IsOfficial = True, .SourceName = "NeoForge 官方源", .Value = Versions}
         Loader.Output = New DlNeoForgeListResult With {.IsOfficial = True, .SourceName = "NeoForge 官方源", .Value = Versions}
@@ -808,11 +803,11 @@
     ''' </summary>
     ''' </summary>
     Public DlNeoForgeListBmclapiLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Bmclapi", AddressOf DlNeoForgeListBmclapiMain)
     Public DlNeoForgeListBmclapiLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Bmclapi", AddressOf DlNeoForgeListBmclapiMain)
     Private Sub DlNeoForgeListBmclapiMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult))
     Private Sub DlNeoForgeListBmclapiMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult))
-        Dim Versions As List(Of String) = New List(Of String)
-        Dim ClientVersions As JArray = DlClientListLoader.Output.Value("versions")          'BMCLAPI 不能返回所有 NeoForge 版本,获取 MC 版本列表进行遍历
-        Dim ClientReleases As List(Of String) = New List(Of String)
+        Dim Versions As New List(Of String)
+        Dim ClientVersions As JArray = DlClientListLoader.Output.Value("versions") 'BMCLAPI 不能返回所有 NeoForge 版本,获取 MC 版本列表进行遍历
+        Dim ClientReleases As New List(Of String)
 
 
-        For Each Client In ClientVersions          '排除快照版或远古版等特殊版本
+        For Each Client In ClientVersions '排除快照版或远古版等特殊版本
             Dim ClientVersionString = Client("id").ToString()
             Dim ClientVersionString = Client("id").ToString()
             If Not (ClientVersionString.ContainsF("a") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("c") OrElse ClientVersionString.ContainsF("w") OrElse ClientVersionString.ContainsF("pre") OrElse ClientVersionString.ContainsF("Pre") OrElse ClientVersionString.ContainsF("rc") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("rd") OrElse ClientVersionString.ContainsF("inf")) Then
             If Not (ClientVersionString.ContainsF("a") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("c") OrElse ClientVersionString.ContainsF("w") OrElse ClientVersionString.ContainsF("pre") OrElse ClientVersionString.ContainsF("Pre") OrElse ClientVersionString.ContainsF("rc") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("rd") OrElse ClientVersionString.ContainsF("inf")) Then
                 ClientReleases.Add(ClientVersionString)
                 ClientReleases.Add(ClientVersionString)
@@ -820,11 +815,10 @@
         Next
         Next
 
 
         For Each Release In ClientReleases
         For Each Release In ClientReleases
-            If Int(Release.Split(".")(1)) > 19 Then          '如果游戏版本低于 1.20 就不进行请求
-                Dim Json As String = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/neoforge/list/" & Release)
-                If Not Json.Contains("[]") Then          '如果这个版本不支持 NeoForge,BMCLAPI 会直接返回一个空的 Json 序列,这里直接用字符串处理了
-                    Versions.Add(Release)
-                End If
+            If Int(Release.Split(".")(1)) <= 19 Then Continue For '如果游戏版本低于 1.20 就不进行请求
+            Dim Json As String = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/neoforge/list/" & Release)
+            If Not Json.Contains("[]") Then '如果这个版本不支持 NeoForge,BMCLAPI 会直接返回一个空的 Json 序列,这里直接用字符串处理了
+                Versions.Add(Release)
             End If
             End If
         Next
         Next
 
 
@@ -838,7 +832,7 @@
         ''' <summary>
         ''' <summary>
         ''' 完整的版本名,如 “neoforge-20.4.30-beta”。
         ''' 完整的版本名,如 “neoforge-20.4.30-beta”。
         ''' </summary>
         ''' </summary>
-        Public Version As String
+        Public VersionName As String
         ''' <summary>
         ''' <summary>
         ''' 对应的 Minecraft 版本,如“1.12.2”。
         ''' 对应的 Minecraft 版本,如“1.12.2”。
         ''' </summary>
         ''' </summary>
@@ -866,7 +860,7 @@
         ''' <summary>
         ''' <summary>
         ''' 标准的版本号,如 “20.4.30”。
         ''' 标准的版本号,如 “20.4.30”。
         ''' </summary>
         ''' </summary>
-        Public StdVersion As String
+        Public VersionCode As String
         Public Structure DlNeoForgeListResult
         Public Structure DlNeoForgeListResult
             ''' <summary>
             ''' <summary>
             ''' 数据来源名称,如“Official”,“BMCLAPI”。
             ''' 数据来源名称,如“Official”,“BMCLAPI”。
@@ -886,7 +880,7 @@
         ''' </summary>
         ''' </summary>
         Public ReadOnly Property Build As Integer
         Public ReadOnly Property Build As Integer
             Get
             Get
-                Dim Version = Me.Version.Split(".")
+                Dim Version = Me.VersionName.Split(".")
                 If Version(0) < 15 Then
                 If Version(0) < 15 Then
                     Return Version(Version.Count - 1)
                     Return Version(Version.Count - 1)
                 Else
                 Else
@@ -899,7 +893,7 @@
         ''' </summary>
         ''' </summary>
         Public ReadOnly Property FileVersion As String
         Public ReadOnly Property FileVersion As String
             Get
             Get
-                Return Version & If(Branch Is Nothing, "", "-" & Branch)
+                Return VersionName & If(Branch Is Nothing, "", "-" & Branch)
             End Get
             End Get
         End Property
         End Property
         ''' <summary>
         ''' <summary>
@@ -907,10 +901,10 @@
         ''' </summary>
         ''' </summary>
         Public ReadOnly Property FileName As String
         Public ReadOnly Property FileName As String
             Get
             Get
-                If StdVersion.StartsWith("47.") Then          'NeoForge 1.20.1 的版本命名有些特殊...
-                    Return "forge-" & "1.20.1" & "-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
+                If VersionCode.StartsWith("47.") Then 'NeoForge 1.20.1 的版本命名有些特殊...
+                    Return "forge-" & "1.20.1" & "-" & VersionCode & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
                 Else
                 Else
-                    Return "neoforge-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
+                    Return "neoforge-" & VersionCode & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
                 End If
                 End If
             End Get
             End Get
         End Property
         End Property
@@ -996,16 +990,16 @@
                 Dim Entry = New DlNeoForgeVersionEntry
                 Dim Entry = New DlNeoForgeVersionEntry
                 If Loader.Input IsNot Nothing Then
                 If Loader.Input IsNot Nothing Then
                     If IsLegacyNeo Then
                     If IsLegacyNeo Then
-                        Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
+                        Entry = New DlNeoForgeVersionEntry With {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
                         Versions.Add(Entry)
                         Versions.Add(Entry)
                     Else
                     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 {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
                             Versions.Add(Entry)
                             Versions.Add(Entry)
                         End If
                         End If
                     End If
                     End If
                 Else
                 Else
-                    Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
+                    Entry = New DlNeoForgeVersionEntry With {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
                     Versions.Add(Entry)
                     Versions.Add(Entry)
                 End If
                 End If
             Next
             Next
@@ -1038,7 +1032,7 @@
                     IsBeta = False
                     IsBeta = False
                 End If
                 End If
                 Dim Inherit As String = Token("mcversion")
                 Dim Inherit As String = Token("mcversion")
-                Dim Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
+                Dim Entry = New DlNeoForgeVersionEntry With {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
                 Versions.Add(Entry)
                 Versions.Add(Entry)
             Next
             Next
         Catch ex As Exception
         Catch ex As Exception

+ 1 - 2
Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb

@@ -1,5 +1,4 @@
 Imports System.IO.Compression
 Imports System.IO.Compression
-Imports MS.Internal
 
 
 Public Module ModMinecraft
 Public Module ModMinecraft
 
 
@@ -762,7 +761,7 @@ ExitDataLoad:
                         Case McVersionState.Forge
                         Case McVersionState.Forge
                             Logo = PathImage & "Blocks/Anvil.png"
                             Logo = PathImage & "Blocks/Anvil.png"
                         Case McVersionState.NeoForge
                         Case McVersionState.NeoForge
-                            Logo = PathImage & "Icons/NeoForged.png"
+                            Logo = PathImage & "Icons/NeoForge.png"
                         Case McVersionState.Fabric
                         Case McVersionState.Fabric
                             Logo = PathImage & "Blocks/Fabric.png"
                             Logo = PathImage & "Blocks/Fabric.png"
                         Case McVersionState.OptiFine
                         Case McVersionState.OptiFine

+ 27 - 27
Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb

@@ -1700,10 +1700,10 @@ Retry:
 
 
     Public Sub McDownloadNeoForge(DownloadInfo As DlNeoForgeVersionEntry)
     Public Sub McDownloadNeoForge(DownloadInfo As DlNeoForgeVersionEntry)
         '初始化参数
         '初始化参数
-        Dim Id As String = DownloadInfo.Inherit & "-neoforge-" & DownloadInfo.Version
-        Dim Target As String = PathTemp & "Cache\Code\NeoForgeInstall-" & DownloadInfo.Version & "_" & GetUuid() & "." & DownloadInfo.FileSuffix
+        Dim Id As String = DownloadInfo.Inherit & "-neoforge-" & DownloadInfo.VersionName
+        Dim Target As String = PathTemp & "Cache\Code\NeoForgeInstall-" & DownloadInfo.VersionName & "_" & GetUuid() & "." & DownloadInfo.FileSuffix
         Dim VersionFolder As String = PathMcFolder & "versions\" & Id & "\"
         Dim VersionFolder As String = PathMcFolder & "versions\" & Id & "\"
-        Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.Version
+        Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.VersionName
         Try
         Try
 
 
             '重复任务检查
             '重复任务检查
@@ -1727,7 +1727,7 @@ Retry:
             End If
             End If
 
 
             '启动
             '启动
-            Dim Loader As New LoaderCombo(Of String)(DisplayName & " 下载", McDownloadNeoForgeLoader(DownloadInfo.Version, DownloadInfo.Inherit, DownloadInfo)) With {.OnStateChanged = AddressOf McInstallState}
+            Dim Loader As New LoaderCombo(Of String)(DisplayName & " 下载", McDownloadNeoForgeLoader(DownloadInfo.VersionName, DownloadInfo.Inherit, DownloadInfo)) With {.OnStateChanged = AddressOf McInstallState}
             Loader.Start(VersionFolder)
             Loader.Start(VersionFolder)
             LoaderTaskbarAdd(Loader)
             LoaderTaskbarAdd(Loader)
             FrmMain.BtnExtraDownload.ShowRefresh()
             FrmMain.BtnExtraDownload.ShowRefresh()
@@ -1746,7 +1746,7 @@ Retry:
     Public Sub McDownloadNeoForgeSave(DownloadInfo As DlNeoForgeVersionEntry)
     Public Sub McDownloadNeoForgeSave(DownloadInfo As DlNeoForgeVersionEntry)
         Try
         Try
             Dim Target As String = SelectAs("选择保存位置", DownloadInfo.FileName, "NeoForge 文件 (*." & DownloadInfo.FileSuffix & ")|*." & DownloadInfo.FileSuffix)
             Dim Target As String = SelectAs("选择保存位置", DownloadInfo.FileName, "NeoForge 文件 (*." & DownloadInfo.FileSuffix & ")|*." & DownloadInfo.FileSuffix)
-            Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.Version
+            Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.VersionName
             If Not Target.Contains("\") Then Exit Sub
             If Not Target.Contains("\") Then Exit Sub
 
 
             '重复任务检查
             '重复任务检查
@@ -1765,15 +1765,15 @@ Retry:
             Loaders.Add(New LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile))("获取下载地址",
             Loaders.Add(New LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile))("获取下载地址",
             Sub(Task As LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile)))
             Sub(Task As LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile)))
                 Dim Files As New List(Of NetFile)
                 Dim Files As New List(Of NetFile)
-                If DownloadInfo.StdVersion.StartsWith("47.") Then          '1.20.1 NeoForge 下载地址不同
+                If DownloadInfo.VersionCode.StartsWith("47.") Then          '1.20.1 NeoForge 下载地址不同
                     Files.Add(New NetFile({
                     Files.Add(New NetFile({
-                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
-                    "https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
+                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
+                    "https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
                 }, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
                 }, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
                 Else
                 Else
                     Files.Add(New NetFile({
                     Files.Add(New NetFile({
-                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
-                    "https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
+                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
+                    "https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
                 }, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
                 }, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
                 End If
                 End If
                 Task.Output = Files
                 Task.Output = Files
@@ -1963,22 +1963,22 @@ Retry:
         McFolder = If(McFolder, PathMcFolder)
         McFolder = If(McFolder, PathMcFolder)
         If DownloadRawInfo Is Nothing Then          '兜底,有的时候 DownloadInfo 可能是空的
         If DownloadRawInfo Is Nothing Then          '兜底,有的时候 DownloadInfo 可能是空的
             If Version.Contains("-beta") Then
             If Version.Contains("-beta") Then
-                DownloadInfo.Version = Version
+                DownloadInfo.VersionName = Version
                 Version = Version.Replace("neoforge-", "").Replace("-beta", "").Replace("1.20.1-", "")
                 Version = Version.Replace("neoforge-", "").Replace("-beta", "").Replace("1.20.1-", "")
-                DownloadInfo.StdVersion = Version
+                DownloadInfo.VersionCode = Version
                 DownloadInfo.IsBeta = True
                 DownloadInfo.IsBeta = True
             Else
             Else
-                DownloadInfo.Version = Version
+                DownloadInfo.VersionName = Version
                 Version = Version.Replace("neoforge-", "").Replace("1.20.1-", "")
                 Version = Version.Replace("neoforge-", "").Replace("1.20.1-", "")
-                DownloadInfo.StdVersion = Version
+                DownloadInfo.VersionCode = Version
                 DownloadInfo.IsBeta = False
                 DownloadInfo.IsBeta = False
             End If
             End If
         Else
         Else
             DownloadInfo = DownloadRawInfo
             DownloadInfo = DownloadRawInfo
-            Version = DownloadInfo.StdVersion
+            Version = DownloadInfo.VersionCode
         End If
         End If
         Dim IsCustomFolder As Boolean = McFolder <> PathMcFolder
         Dim IsCustomFolder As Boolean = McFolder <> PathMcFolder
-        Dim Id As String = DownloadInfo.Version
+        Dim Id As String = DownloadInfo.VersionName
         Dim InstallerAddress As String = PathTemp & "Cache\Code\NeoForgeInstall-" & Version & "_" & RandomInteger(0, 100000)
         Dim InstallerAddress As String = PathTemp & "Cache\Code\NeoForgeInstall-" & Version & "_" & RandomInteger(0, 100000)
         Dim VersionFolder As String = McFolder & "versions\" & Id & "\"
         Dim VersionFolder As String = McFolder & "versions\" & Id & "\"
         Dim DisplayName As String = "NeoForge " & Inherit & " - " & Version
         Dim DisplayName As String = "NeoForge " & Inherit & " - " & Version
@@ -1995,7 +1995,7 @@ Retry:
                 Task.Progress = 0.8
                 Task.Progress = 0.8
                 '查找对应版本
                 '查找对应版本
                 For Each NeoForgeVersion In NeoForgeLoader.Output
                 For Each NeoForgeVersion In NeoForgeLoader.Output
-                    If NeoForgeVersion.Version = Version Then
+                    If NeoForgeVersion.VersionName = Version Then
                         DownloadInfo = NeoForgeVersion
                         DownloadInfo = NeoForgeVersion
                         Exit Sub
                         Exit Sub
                     End If
                     End If
@@ -2012,16 +2012,16 @@ Retry:
                     ClientDownloadLoader = McDownloadClient(NetPreDownloadBehaviour.ExitWhileExistsOrDownloading, Inherit)
                     ClientDownloadLoader = McDownloadClient(NetPreDownloadBehaviour.ExitWhileExistsOrDownloading, Inherit)
                 End If
                 End If
                 Dim Files
                 Dim Files
-                If DownloadInfo.StdVersion.StartsWith("47.") Then          '1.20.1 NeoForge 下载地址不同
+                If DownloadInfo.VersionCode.StartsWith("47.") Then          '1.20.1 NeoForge 下载地址不同
                     Dim FilesLegacy As New List(Of NetFile) From {New NetFile({
                     Dim FilesLegacy As New List(Of NetFile) From {New NetFile({
-                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
-                    "https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
+                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
+                    "https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
                 }, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
                 }, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
                     Files = FilesLegacy
                     Files = FilesLegacy
                 Else
                 Else
                     Dim FilesLatest As New List(Of NetFile) From {New NetFile({
                     Dim FilesLatest As New List(Of NetFile) From {New NetFile({
-                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
-                    "https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
+                    "https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
+                    "https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
                 }, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
                 }, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
                     Files = FilesLatest
                     Files = FilesLatest
                 End If
                 End If
@@ -2197,7 +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
+                    If Entry.VersionCode.Contains("47.1.82") Then Continue For
                     FreshStableVersion = Entry
                     FreshStableVersion = Entry
                 End If
                 End If
             Next
             Next
@@ -2221,12 +2221,12 @@ Retry:
     Public Function NeoForgeDownloadListItem(Entry As DlNeoForgeVersionEntry, OnClick As MyListItem.ClickEventHandler, IsSaveOnly As Boolean) As MyListItem
     Public Function NeoForgeDownloadListItem(Entry As DlNeoForgeVersionEntry, OnClick As MyListItem.ClickEventHandler, IsSaveOnly As Boolean) As MyListItem
         '建立控件
         '建立控件
         Dim NewItem As New MyListItem With {
         Dim NewItem As New MyListItem With {
-            .Title = If(Entry.IsBeta, Entry.StdVersion & "-beta", Entry.StdVersion), .SnapsToDevicePixels = True, .Height = 42, .Type = MyListItem.CheckType.Clickable, .Tag = Entry,
+            .Title = If(Entry.IsBeta, Entry.VersionCode & "-beta", Entry.VersionCode), .SnapsToDevicePixels = True, .Height = 42, .Type = MyListItem.CheckType.Clickable, .Tag = Entry,
             .Info = If(Entry.IsBeta, "测试版", "稳定版") &
             .Info = If(Entry.IsBeta, "测试版", "稳定版") &
                 If(Entry.ReleaseTime = "",
                 If(Entry.ReleaseTime = "",
                 If(ModeDebug, If(Entry.Category IsNot Nothing, "种类:" & Entry.Category, "") & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), ""),
                 If(ModeDebug, If(Entry.Category IsNot Nothing, "种类:" & Entry.Category, "") & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), ""),
                 "发布于 " & Entry.ReleaseTime & If(ModeDebug, ",种类:" & Entry.Category & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), "")),
                 "发布于 " & Entry.ReleaseTime & If(ModeDebug, ",种类:" & Entry.Category & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), "")),
-            .Logo = PathImage & "Icons/NeoForged.png"
+            .Logo = PathImage & "Icons/NeoForge.png"
         }
         }
         AddHandler NewItem.Click, OnClick
         AddHandler NewItem.Click, OnClick
         '建立菜单
         '建立菜单
@@ -2268,7 +2268,7 @@ Retry:
         Else
         Else
             Version = sender.Parent.Parent.Tag
             Version = sender.Parent.Parent.Tag
         End If
         End If
-        OpenWebsite("https://maven.neoforged.net/releases/net/neoforged/neoforge/" & Version.StdVersion & "/" & Version.Version & "-changelog.txt")
+        OpenWebsite("https://maven.neoforged.net/releases/net/neoforged/neoforge/" & Version.VersionCode & "/" & Version.VersionName & "-changelog.txt")
     End Sub
     End Sub
     Public Sub NeoForgeSave_Click(sender As Object, e As RoutedEventArgs)
     Public Sub NeoForgeSave_Click(sender As Object, e As RoutedEventArgs)
         Dim Version As DlNeoForgeVersionEntry
         Dim Version As DlNeoForgeVersionEntry
@@ -2597,7 +2597,7 @@ Retry:
         If Request.ForgeEntry IsNot Nothing Then Request.ForgeVersion = If(Request.ForgeVersion, Request.ForgeEntry.Version)
         If Request.ForgeEntry IsNot Nothing Then Request.ForgeVersion = If(Request.ForgeVersion, Request.ForgeEntry.Version)
         If Request.ForgeVersion IsNot Nothing Then ForgeFolder = TempMcFolder & "versions\" & Request.MinecraftName & "-forge-" & Request.ForgeVersion
         If Request.ForgeVersion IsNot Nothing Then ForgeFolder = TempMcFolder & "versions\" & Request.MinecraftName & "-forge-" & Request.ForgeVersion
         Dim NeoForgeFolder As String = Nothing
         Dim NeoForgeFolder As String = Nothing
-        If Request.NeoForgeEntry IsNot Nothing Then Request.NeoForgeVersion = If(Request.NeoForgeVersion, Request.NeoForgeEntry.Version)
+        If Request.NeoForgeEntry IsNot Nothing Then Request.NeoForgeVersion = If(Request.NeoForgeVersion, Request.NeoForgeEntry.VersionName)
         If Request.NeoForgeVersion IsNot Nothing Then NeoForgeFolder = TempMcFolder & "versions\" & If(Request.NeoForgeVersion.StartsWithF("1.20.1") OrElse Request.NeoForgeVersion.StartsWithF("47."), "1.20.1-forge-", "") & Request.NeoForgeVersion.Replace("1.20.1-forge-", "").Replace("1.20.1-", "")
         If Request.NeoForgeVersion IsNot Nothing Then NeoForgeFolder = TempMcFolder & "versions\" & If(Request.NeoForgeVersion.StartsWithF("1.20.1") OrElse Request.NeoForgeVersion.StartsWithF("47."), "1.20.1-forge-", "") & Request.NeoForgeVersion.Replace("1.20.1-forge-", "").Replace("1.20.1-", "")
         Dim FabricFolder As String = Nothing
         Dim FabricFolder As String = Nothing
         If Request.FabricVersion IsNot Nothing Then FabricFolder = TempMcFolder & "versions\fabric-loader-" & Request.FabricVersion & "-" & Request.MinecraftName
         If Request.FabricVersion IsNot Nothing Then FabricFolder = TempMcFolder & "versions\fabric-loader-" & Request.FabricVersion & "-" & Request.MinecraftName

+ 1 - 1
Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml

@@ -89,7 +89,7 @@
                                 <ColumnDefinition Width="Auto" />
                                 <ColumnDefinition Width="Auto" />
                                 <ColumnDefinition Width="1*" />
                                 <ColumnDefinition Width="1*" />
                             </Grid.ColumnDefinitions>
                             </Grid.ColumnDefinitions>
-                            <Image x:Name="ImgNeoForge" Margin="0,0,7,0" SnapsToDevicePixels="True" Height="18" RenderOptions.BitmapScalingMode="Linear" Source="pack://application:,,,/images/Icons/NeoForged.png" />
+                            <Image x:Name="ImgNeoForge" Margin="0,0,7,0" SnapsToDevicePixels="True" Height="18" RenderOptions.BitmapScalingMode="Linear" Source="pack://application:,,,/images/Icons/NeoForge.png" />
                             <TextBlock x:Name="LabNeoForge" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Grid.Column="1" />
                             <TextBlock x:Name="LabNeoForge" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Grid.Column="1" />
                         </Grid>
                         </Grid>
                         <Grid x:Name="BtnNeoForgeClear" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,5,32,0" Background="{StaticResource ColorBrushSemiTransparent}">
                         <Grid x:Name="BtnNeoForgeClear" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,5,32,0" Background="{StaticResource ColorBrushSemiTransparent}">

+ 4 - 4
Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb

@@ -384,7 +384,7 @@
         Else
         Else
             BtnNeoForgeClear.Visibility = Visibility.Visible
             BtnNeoForgeClear.Visibility = Visibility.Visible
             ImgNeoForge.Visibility = Visibility.Visible
             ImgNeoForge.Visibility = Visibility.Visible
-            LabNeoForge.Text = SelectedNeoForge.StdVersion & If(SelectedNeoForge.IsBeta, "-beta", "")
+            LabNeoForge.Text = SelectedNeoForge.VersionCode & If(SelectedNeoForge.IsBeta, "-beta", "")
             LabNeoForge.Foreground = ColorGray1
             LabNeoForge.Foreground = ColorGray1
         End If
         End If
         'Fabric
         'Fabric
@@ -499,7 +499,7 @@
             Name += "-Forge_" & SelectedForge.Version
             Name += "-Forge_" & SelectedForge.Version
         End If
         End If
         If SelectedNeoForge IsNot Nothing Then
         If SelectedNeoForge IsNot Nothing Then
-            Name += "-NeoForge_" & SelectedNeoForge.StdVersion & If(SelectedNeoForge.IsBeta, "-beta", "")
+            Name += "-NeoForge_" & SelectedNeoForge.VersionCode & If(SelectedNeoForge.IsBeta, "-beta", "")
         End If
         End If
         If SelectedLiteLoader IsNot Nothing Then
         If SelectedLiteLoader IsNot Nothing Then
             Name += "-LiteLoader"
             Name += "-LiteLoader"
@@ -521,7 +521,7 @@
             Info += ", Forge " & SelectedForge.Version
             Info += ", Forge " & SelectedForge.Version
         End If
         End If
         If SelectedNeoForge IsNot Nothing Then
         If SelectedNeoForge IsNot Nothing Then
-            Info += ", NeoForge " & SelectedNeoForge.StdVersion & If(SelectedNeoForge.IsBeta, "-beta", "")
+            Info += ", NeoForge " & SelectedNeoForge.VersionCode & If(SelectedNeoForge.IsBeta, "-beta", "")
         End If
         End If
         If SelectedLiteLoader IsNot Nothing Then
         If SelectedLiteLoader IsNot Nothing Then
             Info += ", LiteLoader"
             Info += ", LiteLoader"
@@ -541,7 +541,7 @@
         ElseIf SelectedForge IsNot Nothing Then
         ElseIf SelectedForge IsNot Nothing Then
             Return "pack://application:,,,/images/Blocks/Anvil.png"
             Return "pack://application:,,,/images/Blocks/Anvil.png"
         ElseIf SelectedNeoForge IsNot Nothing Then
         ElseIf SelectedNeoForge IsNot Nothing Then
-            Return "pack://application:,,,/images/Icons/NeoForged.png"
+            Return "pack://application:,,,/images/Icons/NeoForge.png"
         ElseIf SelectedLiteLoader IsNot Nothing Then
         ElseIf SelectedLiteLoader IsNot Nothing Then
             Return "pack://application:,,,/images/Blocks/Egg.png"
             Return "pack://application:,,,/images/Blocks/Egg.png"
         ElseIf SelectedOptiFine IsNot Nothing Then
         ElseIf SelectedOptiFine IsNot Nothing Then

+ 1 - 1
Plain Craft Launcher 2/Pages/PageVersion/PageVersionOverall.xaml

@@ -37,7 +37,7 @@
                             <local:MyComboBoxItem Content="红石灯(关)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOff.png" />
                             <local:MyComboBoxItem Content="红石灯(关)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOff.png" />
                             <local:MyComboBoxItem Content="鸡蛋" Tag="pack://application:,,,/images/Blocks/Egg.png" />
                             <local:MyComboBoxItem Content="鸡蛋" Tag="pack://application:,,,/images/Blocks/Egg.png" />
                             <local:MyComboBoxItem Content="布料(Fabric)" Tag="pack://application:,,,/images/Blocks/Fabric.png" />
                             <local:MyComboBoxItem Content="布料(Fabric)" Tag="pack://application:,,,/images/Blocks/Fabric.png" />
-                            <local:MyComboBoxItem Content="狐狸(NeoForge)" Tag="pack://application:,,,/images/Icons/NeoForged.png" />
+                            <local:MyComboBoxItem Content="狐狸(NeoForge)" Tag="pack://application:,,,/images/Icons/NeoForge.png" />
                         </local:MyComboBox>
                         </local:MyComboBox>
                         <TextBlock VerticalAlignment="Center" Grid.Row="2" HorizontalAlignment="Left" Text="分类" Margin="0,0,25,0" />
                         <TextBlock VerticalAlignment="Center" Grid.Row="2" HorizontalAlignment="Left" Text="分类" Margin="0,0,25,0" />
                         <local:MyComboBox Grid.Column="1" Grid.Row="2" x:Name="ComboDisplayType">
                         <local:MyComboBox Grid.Column="1" Grid.Row="2" x:Name="ComboDisplayType">

+ 1 - 1
Plain Craft Launcher 2/Resources/Custom.xaml

@@ -202,7 +202,7 @@
 			<!-- 鸡蛋 -->
 			<!-- 鸡蛋 -->
 			<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Blocks/Fabric.png"/>
 			<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Blocks/Fabric.png"/>
 			<!-- 布料(Fabric 图标) -->
 			<!-- 布料(Fabric 图标) -->
-      <Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Icons/NeoForged.png"/>
+      <Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Icons/NeoForge.png"/>
       <!-- 狐狸(NeoForge 图标) -->
       <!-- 狐狸(NeoForge 图标) -->
 		</StackPanel>
 		</StackPanel>
         <TextBlock TextWrapping="Wrap" Margin="0,0,0,4"
         <TextBlock TextWrapping="Wrap" Margin="0,0,0,4"