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

fix: 1.20.1 NeoForge 下载地址拼接可能有误(如果版本为 1.20.1 则硬编码以避免问题)
fix: 整合包安装时错误信息文本有误
chores: 代码清理(NeoForge 不需要部分 Forge 逻辑)
fix(未完成): 官方源版本列表获取

Pigeon0v0 2 лет назад
Родитель
Сommit
f83afdbbc1

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

@@ -771,14 +771,6 @@
             Public Value As JObject
             Public Value As JObject
         End Structure
         End Structure
         ''' <summary>
         ''' <summary>
-        ''' 是否为新版 NeoForge。(即为 Minecraft 1.13+)
-        ''' </summary>
-        Public ReadOnly Property IsNewType As Boolean
-            Get
-                Return Version.Split(".")(0) >= 20
-            End Get
-        End Property
-        ''' <summary>
         ''' 构建数。
         ''' 构建数。
         ''' </summary>
         ''' </summary>
         Public ReadOnly Property Build As Integer
         Public ReadOnly Property Build As Integer
@@ -805,7 +797,7 @@
         Public ReadOnly Property FileName As String
         Public ReadOnly Property FileName As String
             Get
             Get
                 If StdVersion.StartsWith("47.") Then          'NeoForge 1.20.1 的版本命名有些特殊...
                 If StdVersion.StartsWith("47.") Then          'NeoForge 1.20.1 的版本命名有些特殊...
-                    Return "forge-" & Inherit & "-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
+                    Return "forge-" & "1.20.1" & "-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
                 Else
                 Else
                     Return "neoforge-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
                     Return "neoforge-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
                 End If
                 End If
@@ -859,8 +851,8 @@
         End Try
         End Try
         If Result.Length < 50 Then Throw New Exception("获取到的版本列表长度不足(" & Result & ")")
         If Result.Length < 50 Then Throw New Exception("获取到的版本列表长度不足(" & Result & ")")
         ResultJson = GetJson(Result)
         ResultJson = GetJson(Result)
+        Dim VersionArray As Array = ResultJson("versions")
         Dim Versions As New List(Of DlNeoForgeVersionEntry)
         Dim Versions As New List(Of DlNeoForgeVersionEntry)
-        Dim VersionList As String = ResultJson("versions")
         If Not Versions.Any() Then Throw New Exception("没有可用版本")
         If Not Versions.Any() Then Throw New Exception("没有可用版本")
         Loader.Output = Versions
         Loader.Output = Versions
     End Sub
     End Sub

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

@@ -202,16 +202,12 @@ Retry:
                 End Try
                 End Try
             ElseIf Id.StartsWithF("neoforge-") Then
             ElseIf Id.StartsWithF("neoforge-") Then
                 'NeoForge 指定
                 'NeoForge 指定
-                If Id.Contains("recommended") Then
-                    Log("[ModPack] 该整合包版本过老,已不支持进行安装!", LogLevel.Hint)
-                    Exit Sub
-                End If
                 Try
                 Try
                     Log("[ModPack] 整合包 NeoForge 版本:" & Id)
                     Log("[ModPack] 整合包 NeoForge 版本:" & Id)
                     NeoForgeVersion = Id.Split("-")(1)
                     NeoForgeVersion = Id.Split("-")(1)
                     Exit For
                     Exit For
                 Catch ex As Exception
                 Catch ex As Exception
-                    Log(ex, "读取整合包 Forge 版本失败:" & Id)
+                    Log(ex, "读取整合包 NeoForge 版本失败:" & Id)
                 End Try
                 End Try
             ElseIf Id.StartsWithF("fabric-") Then
             ElseIf Id.StartsWithF("fabric-") Then
                 'Fabric 指定
                 'Fabric 指定

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

@@ -1699,23 +1699,6 @@ Retry:
 #Region "NeoForge 下载"
 #Region "NeoForge 下载"
 
 
     Public Sub McDownloadNeoForge(DownloadInfo As DlNeoForgeVersionEntry)
     Public Sub McDownloadNeoForge(DownloadInfo As DlNeoForgeVersionEntry)
-        '老版本提示
-        If DownloadInfo.Category = "client" Then
-            If MyMsgBox("该 Forge 版本过于古老,PCL 暂不支持该版本的自动安装。" & vbCrLf &
-                        "若你仍然希望继续,PCL 将把安装程序下载到你指定的位置,但不会进行安装。",
-                        "版本过老", "继续", "取消") = 1 Then
-                McDownloadNeoForgeSave(DownloadInfo)
-            End If
-            Exit Sub
-        End If
-        If DownloadInfo.Category = "universal" OrElse DownloadInfo.Inherit.StartsWithF("1.5") Then '对该版本自动安装的支持将在之后加入
-            If MyMsgBox("该 Forge 版本过于古老,PCL 暂不支持该版本的自动安装。" & vbCrLf &
-                        "若你仍然希望继续,PCL 将把安装程序下载到你指定的位置,但不会进行安装。",
-                        "版本过老", "继续", "取消") = 1 Then
-                McDownloadNeoForgeSave(DownloadInfo)
-            End If
-            Exit Sub
-        End If
         '初始化参数
         '初始化参数
         Dim Id As String = DownloadInfo.Inherit & "-neoforge-" & DownloadInfo.Version
         Dim Id As String = DownloadInfo.Inherit & "-neoforge-" & DownloadInfo.Version
         Dim Target As String = PathTemp & "Cache\Code\NeoForgeInstall-" & DownloadInfo.Version & "_" & GetUuid() & "." & DownloadInfo.FileSuffix
         Dim Target As String = PathTemp & "Cache\Code\NeoForgeInstall-" & DownloadInfo.Version & "_" & GetUuid() & "." & DownloadInfo.FileSuffix