diff options
Diffstat (limited to 'launcher/modplatform')
-rw-r--r-- | launcher/modplatform/ModAPI.h | 18 | ||||
-rw-r--r-- | launcher/modplatform/flame/FlameAPI.h | 2 | ||||
-rw-r--r-- | launcher/modplatform/modrinth/ModrinthAPI.h | 13 |
3 files changed, 18 insertions, 15 deletions
diff --git a/launcher/modplatform/ModAPI.h b/launcher/modplatform/ModAPI.h index 1a562172..6a906aa4 100644 --- a/launcher/modplatform/ModAPI.h +++ b/launcher/modplatform/ModAPI.h @@ -3,6 +3,8 @@ #include <QString> #include <QList> +#include "Version.h" + namespace ModPlatform { class ListModel; } @@ -22,7 +24,7 @@ class ModAPI { QString search; QString sorting; ModLoaderType mod_loader; - QString version; + std::list<Version> versions; }; virtual void searchMods(CallerType* caller, SearchArgs&& args) const = 0; @@ -30,7 +32,7 @@ class ModAPI { struct VersionSearchArgs { QString addonId; - QList<QString> mcVersions; + std::list<Version> mcVersions; ModLoaderType loader; }; @@ -53,4 +55,16 @@ class ModAPI { } return ""; } + + protected: + inline auto getGameVersionsString(std::list<Version> mcVersions) const -> QString + { + QString s; + for(auto& ver : mcVersions){ + s += ver.toString(); + if(ver != mcVersions.back()) + s += ","; + } + return s; + } }; diff --git a/launcher/modplatform/flame/FlameAPI.h b/launcher/modplatform/flame/FlameAPI.h index 8654a693..690ee15c 100644 --- a/launcher/modplatform/flame/FlameAPI.h +++ b/launcher/modplatform/flame/FlameAPI.h @@ -22,7 +22,7 @@ class FlameAPI : public NetworkModAPI { .arg(args.search) .arg(args.sorting) .arg(args.mod_loader) - .arg(args.version); + .arg(getGameVersionsString(args.versions)); }; inline auto getVersionsURL(VersionSearchArgs& args) const -> QString override diff --git a/launcher/modplatform/modrinth/ModrinthAPI.h b/launcher/modplatform/modrinth/ModrinthAPI.h index eefa4a85..0d652568 100644 --- a/launcher/modplatform/modrinth/ModrinthAPI.h +++ b/launcher/modplatform/modrinth/ModrinthAPI.h @@ -27,7 +27,7 @@ class ModrinthAPI : public NetworkModAPI { .arg(args.search) .arg(args.sorting) .arg(getModLoaderString(args.mod_loader)) - .arg(args.version); + .arg(getGameVersionsString(args.versions)); }; inline auto getVersionsURL(VersionSearchArgs& args) const -> QString override @@ -40,17 +40,6 @@ class ModrinthAPI : public NetworkModAPI { .arg(getModLoaderString(args.loader)); }; - inline auto getGameVersionsString(QList<QString> mcVersions) const -> QString - { - QString s; - for(int i = 0; i < mcVersions.count(); i++){ - s += mcVersions.at(i); - if(i < mcVersions.count() - 1) - s += ","; - } - return s; - } - static auto getModLoaderString(ModLoaderType type) -> const QString { if (type == Unspecified) |