diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-04-19 20:36:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-19 20:36:37 +0200 |
commit | 027c666265a2fe70423b56faf7680a689454d3c2 (patch) | |
tree | 7f15b1f460771935880936f4f63df541c55fde93 /launcher/ui/pages/modplatform/modrinth | |
parent | 31c757d91228840d74d21506157d04d487261748 (diff) | |
parent | fcdc7a1a358ba9d8dcf0492310dd3528dc05a911 (diff) | |
download | PrismLauncher-027c666265a2fe70423b56faf7680a689454d3c2.tar.gz PrismLauncher-027c666265a2fe70423b56faf7680a689454d3c2.tar.bz2 PrismLauncher-027c666265a2fe70423b56faf7680a689454d3c2.zip |
Merge pull request #450 from Scrumplex/fix-quilt-mod-dl
Diffstat (limited to 'launcher/ui/pages/modplatform/modrinth')
-rw-r--r-- | launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp | 15 | ||||
-rw-r--r-- | launcher/ui/pages/modplatform/modrinth/ModrinthPage.h | 3 |
2 files changed, 15 insertions, 3 deletions
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp index 12aee51b..98bde0ae 100644 --- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp +++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp @@ -34,6 +34,7 @@ */ #include "ModrinthPage.h" +#include "modplatform/modrinth/ModrinthAPI.h" #include "ui_ModPage.h" #include "ModrinthModel.h" @@ -60,9 +61,19 @@ ModrinthPage::ModrinthPage(ModDownloadDialog* dialog, BaseInstance* instance) connect(ui->modSelectionButton, &QPushButton::clicked, this, &ModrinthPage::onModSelected); } -auto ModrinthPage::validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer) const -> bool +auto ModrinthPage::validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, ModAPI::ModLoaderType loader) const -> bool { - return ver.mcVersion.contains(mineVer) && ver.loaders.contains(loaderVer); + auto loaderStrings = ModrinthAPI::getModLoaderStrings(loader); + + auto loaderCompatible = false; + for (auto remoteLoader : ver.loaders) + { + if (loaderStrings.contains(remoteLoader)) { + loaderCompatible = true; + break; + } + } + return ver.mcVersion.contains(mineVer) && loaderCompatible; } // I don't know why, but doing this on the parent class makes it so that diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h index 0bde43eb..e3a0e1f0 100644 --- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h +++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h @@ -35,6 +35,7 @@ #pragma once +#include "modplatform/ModAPI.h" #include "ui/pages/modplatform/ModPage.h" #include "modplatform/modrinth/ModrinthAPI.h" @@ -54,7 +55,7 @@ class ModrinthPage : public ModPage { inline auto debugName() const -> QString override { return "Modrinth"; } inline auto metaEntryBase() const -> QString override { return "ModrinthPacks"; }; - auto validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer = "") const -> bool override; + auto validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, ModAPI::ModLoaderType loader = ModAPI::Unspecified) const -> bool override; auto shouldDisplay() const -> bool override; }; |