aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/pages/modplatform/modrinth
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-04-19 20:36:37 +0200
committerGitHub <noreply@github.com>2022-04-19 20:36:37 +0200
commit027c666265a2fe70423b56faf7680a689454d3c2 (patch)
tree7f15b1f460771935880936f4f63df541c55fde93 /launcher/ui/pages/modplatform/modrinth
parent31c757d91228840d74d21506157d04d487261748 (diff)
parentfcdc7a1a358ba9d8dcf0492310dd3528dc05a911 (diff)
downloadPrismLauncher-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.cpp15
-rw-r--r--launcher/ui/pages/modplatform/modrinth/ModrinthPage.h3
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;
};