From 3496b7b3a0ab08ed4139ef16e1960a1122375809 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Fri, 16 Jan 2026 15:21:02 +0200 Subject: [PATCH] fix ftb import for old packs fixes #4786 Signed-off-by: Trial97 --- launcher/modplatform/import_ftb/PackHelpers.cpp | 7 ++++--- launcher/modplatform/import_ftb/PackInstallTask.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/launcher/modplatform/import_ftb/PackHelpers.cpp b/launcher/modplatform/import_ftb/PackHelpers.cpp index 15140b088..cf9edce9f 100644 --- a/launcher/modplatform/import_ftb/PackHelpers.cpp +++ b/launcher/modplatform/import_ftb/PackHelpers.cpp @@ -80,7 +80,7 @@ Modpack parseDirectory(QString path) const auto parts = modLoader.split('-', Qt::KeepEmptyParts); if (parts.size() >= 2) { const auto loader = parts.first().toLower(); - modpack.version = parts.at(1).trimmed(); + modpack.loaderVersion = parts.at(1).trimmed(); if (loader == "neoforge") { modpack.loaderType = ModPlatform::NeoForge; } else if (loader == "forge") { @@ -91,13 +91,14 @@ Modpack parseDirectory(QString path) modpack.loaderType = ModPlatform::Quilt; } } - } else { - legacyInstanceParsing(path, &modpack.loaderType, &modpack.loaderVersion); } } catch (const Exception& e) { qDebug() << "Couldn't load ftb instance json: " << e.cause(); return {}; } + if (!modpack.loaderType.has_value()) { + legacyInstanceParsing(path, &modpack.loaderType, &modpack.loaderVersion); + } auto iconFile = QFileInfo(FS::PathCombine(path, "folder.jpg")); if (iconFile.exists() && iconFile.isFile()) { diff --git a/launcher/modplatform/import_ftb/PackInstallTask.cpp b/launcher/modplatform/import_ftb/PackInstallTask.cpp index 3851e198c..99afecd22 100644 --- a/launcher/modplatform/import_ftb/PackInstallTask.cpp +++ b/launcher/modplatform/import_ftb/PackInstallTask.cpp @@ -70,19 +70,19 @@ void PackInstallTask::copySettings() if (modloader.has_value()) switch (modloader.value()) { case ModPlatform::NeoForge: { - components->setComponentVersion("net.neoforged", m_pack.version, true); + components->setComponentVersion("net.neoforged", m_pack.loaderVersion, true); break; } case ModPlatform::Forge: { - components->setComponentVersion("net.minecraftforge", m_pack.version, true); + components->setComponentVersion("net.minecraftforge", m_pack.loaderVersion, true); break; } case ModPlatform::Fabric: { - components->setComponentVersion("net.fabricmc.fabric-loader", m_pack.version, true); + components->setComponentVersion("net.fabricmc.fabric-loader", m_pack.loaderVersion, true); break; } case ModPlatform::Quilt: { - components->setComponentVersion("org.quiltmc.quilt-loader", m_pack.version, true); + components->setComponentVersion("org.quiltmc.quilt-loader", m_pack.loaderVersion, true); break; } case ModPlatform::Cauldron: