fix: 修复了查看数据包工程时崩溃的问题,但可能会炸掉点别的东西,需要测试

This commit is contained in:
Pigeon0v0
2024-09-22 10:15:49 +08:00
parent c1ba65783d
commit 9d3be21090
3 changed files with 20 additions and 2 deletions
+4
View File
@@ -1099,7 +1099,11 @@ Install:
Case CompType.ModPack
Return "整合包下载 - " & Project.TranslatedName
Case CompType.DataPack
If Project.IsMix Then
Return "Mod / 数据包下载 - " & Project.TranslatedName
Else
Return "数据包下载 - " & Project.TranslatedName
End If
Case Else 'CompType.ResourcePack
Return "资源包下载 - " & Project.TranslatedName
End Select
@@ -118,6 +118,10 @@
''' </summary>
Public ReadOnly Type As CompType
''' <summary>
''' 是否为 Mod / 数据包融合工程。
''' </summary>
Public ReadOnly IsMix As Boolean
''' <summary>
''' 工程的短名。例如 technical-enchant。
''' </summary>
Public ReadOnly Slug As String
@@ -365,6 +369,10 @@
Case "resourcepack" : Type = CompType.ResourcePack
Case "datapack" : Type = CompType.DataPack
End Select
If Data("categories").ToArray.Contains("datapack") Then 'Modrinth 上的数据包由于未知原因,返回的 project_type 为 mod,这里做兜底处理
Type = CompType.DataPack
IsMix = Data("categories").ToArray.Contains("forge") OrElse Data("categories").ToArray.Contains("fabric") OrElse Data("categories").ToArray.Contains("neoforge") OrElse Data("categories").ToArray.Contains("quilt")
End If
'Tags & ModLoaders
Tags = New List(Of String)
ModLoaders = New List(Of CompModLoaderType)
@@ -205,7 +205,13 @@
RunInNewThread(
Sub()
Try
Dim Desc As String = If(Project.Type = CompType.ModPack, "整合包", If(Project.Type = CompType.Mod, "Mod ", "资源包"))
Dim Desc As String = "资源"
Select Case Project.Type
Case CompType.ModPack : Desc = "整合包"
Case CompType.Mod : Desc = "Mod "
Case CompType.ResourcePack : Desc = "资源包"
Case CompType.DataPack : Desc = If(File.FileName.EndsWith(".jar"), "Mod ", "数据包") '有些项目同时包含 Mod 版本和数据包版本
End Select
'确认默认保存位置
Dim DefaultFolder As String = Nothing
If Project.Type = CompType.Mod Then