Переглянути джерело

[可视化mod列表出错...]搜索Sand Filter时必报错
Fixes #5255

hadesanc1 1 рік тому
батько
коміт
81cf8c1901
1 змінених файлів з 12 додано та 2 видалено
  1. 12 2
      Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb

+ 12 - 2
Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb

@@ -434,7 +434,10 @@
         Public Function ToCompItem(ShowMcVersionDesc As Boolean, ShowLoaderDesc As Boolean) As MyCompItem
             '获取版本描述
             Dim GameVersionDescription As String
-            If GameVersions Is Nothing OrElse Not GameVersions.Any() Then
+            Dim AllSnapshot As Boolean = GameVersions.All(Function(v) RegexCheck(v, "[0-9]{2}w[0-9]{2}[a-z]{1}"))
+            If AllSnapshot Then
+                GameVersionDescription = "仅快照版本"
+            ElseIf GameVersions Is Nothing OrElse Not GameVersions.Any() Then
                 GameVersionDescription = "未知"
             Else
                 Dim SpaVersions As New List(Of String)
@@ -493,12 +496,19 @@
                     ModLoaderDescriptionFull = "仅 " & ModLoadersForDesc.Single.ToString
                     ModLoaderDescriptionPart = ModLoadersForDesc.Single.ToString
                 Case Else
-                    If ModLoaders.Contains(CompModLoaderType.Forge) AndAlso
+                    If ModLoaders.Contains(CompModLoaderType.Forge) AndAlso Not AllSnapshot AndAlso
                        (GameVersions.Max < 14 OrElse ModLoaders.Contains(CompModLoaderType.Fabric)) AndAlso
                        (GameVersions.Max < 20 OrElse ModLoaders.Contains(CompModLoaderType.NeoForge)) AndAlso
                        (GameVersions.Max < 14 OrElse ModLoaders.Contains(CompModLoaderType.Quilt) OrElse Setup.Get("ToolDownloadIgnoreQuilt")) Then
                         ModLoaderDescriptionFull = "任意"
                         ModLoaderDescriptionPart = ""
+                    ElseIf AllSnapshot AndAlso
+                        ModLoaders.Contains(CompModLoaderType.Forge) AndAlso
+                        ModLoaders.Contains(CompModLoaderType.Fabric) AndAlso
+                        ModLoaders.Contains(CompModLoaderType.NeoForge) AndAlso
+                        (ModLoaders.Contains(CompModLoaderType.Quilt) OrElse Setup.Get("ToolDownloadIgnoreQuilt")) Then
+                        ModLoaderDescriptionFull = "任意"
+                        ModLoaderDescriptionPart = ""
                     Else
                         ModLoaderDescriptionFull = ModLoadersForDesc.Join(" / ")
                         ModLoaderDescriptionPart = ModLoadersForDesc.Join(" / ")