diff --git a/Plain Craft Launcher 2/FormMain.xaml.vb b/Plain Craft Launcher 2/FormMain.xaml.vb index 17a6a42..cbbeabd 100644 --- a/Plain Craft Launcher 2/FormMain.xaml.vb +++ b/Plain Craft Launcher 2/FormMain.xaml.vb @@ -1099,7 +1099,11 @@ Install: Case CompType.ModPack Return "整合包下载 - " & Project.TranslatedName Case CompType.DataPack - Return "数据包下载 - " & Project.TranslatedName + If Project.IsMix Then + Return "Mod / 数据包下载 - " & Project.TranslatedName + Else + Return "数据包下载 - " & Project.TranslatedName + End If Case Else 'CompType.ResourcePack Return "资源包下载 - " & Project.TranslatedName End Select diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb index 1e7c7f5..c600a0b 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb @@ -118,6 +118,10 @@ ''' Public ReadOnly Type As CompType ''' + ''' 是否为 Mod / 数据包融合工程。 + ''' + Public ReadOnly IsMix As Boolean + ''' ''' 工程的短名。例如 technical-enchant。 ''' 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) diff --git a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadCompDetail.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadCompDetail.xaml.vb index 0302160..9333ea3 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadCompDetail.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadCompDetail.xaml.vb @@ -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