mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-06-12 05:07:46 +02:00
add curseforge modpack filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
@ -25,6 +25,7 @@ class FlameAPI : public NetworkResourceAPI {
|
||||
Task::Ptr getFiles(const QStringList& fileIds, std::shared_ptr<QByteArray> response) const;
|
||||
Task::Ptr getFile(const QString& addonId, const QString& fileId, std::shared_ptr<QByteArray> response) const;
|
||||
|
||||
static Task::Ptr getCategories(std::shared_ptr<QByteArray> response, ModPlatform::ResourceType type);
|
||||
static Task::Ptr getModCategories(std::shared_ptr<QByteArray> response);
|
||||
static QList<ModPlatform::Category> loadModCategories(std::shared_ptr<QByteArray> response);
|
||||
|
||||
@ -46,6 +47,8 @@ class FlameAPI : public NetworkResourceAPI {
|
||||
return 12;
|
||||
case ModPlatform::ResourceType::SHADER_PACK:
|
||||
return 6552;
|
||||
case ModPlatform::ResourceType::MODPACK:
|
||||
return 4471;
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,8 +85,8 @@ class FlameAPI : public NetworkResourceAPI {
|
||||
|
||||
static const QString getModLoaderFilters(ModPlatform::ModLoaderTypes types) { return "[" + getModLoaderStrings(types).join(',') + "]"; }
|
||||
|
||||
private:
|
||||
[[nodiscard]] std::optional<QString> getSearchURL(SearchArgs const& args) const override
|
||||
public:
|
||||
static std::optional<QString> getStaticSearchURL(SearchArgs const& args)
|
||||
{
|
||||
auto gameVersionStr =
|
||||
args.versions.has_value() ? QString("gameVersion=%1").arg(args.versions.value().front().toString()) : QString();
|
||||
@ -105,12 +108,14 @@ class FlameAPI : public NetworkResourceAPI {
|
||||
get_arguments.append(gameVersionStr);
|
||||
|
||||
return "https://api.curseforge.com/v1/mods/search?gameId=432&" + get_arguments.join('&');
|
||||
};
|
||||
}
|
||||
[[nodiscard]] std::optional<QString> getSearchURL(SearchArgs const& args) const override { return getStaticSearchURL(args); }
|
||||
|
||||
private:
|
||||
[[nodiscard]] std::optional<QString> getInfoURL(QString const& id) const override
|
||||
{
|
||||
return QString("https://api.curseforge.com/v1/mods/%1").arg(id);
|
||||
};
|
||||
}
|
||||
|
||||
[[nodiscard]] std::optional<QString> getVersionsURL(VersionSearchArgs const& args) const override
|
||||
{
|
||||
@ -125,7 +130,7 @@ class FlameAPI : public NetworkResourceAPI {
|
||||
url += QString("&modLoaderType=%1").arg(mappedModLoader);
|
||||
}
|
||||
return url;
|
||||
};
|
||||
}
|
||||
|
||||
[[nodiscard]] std::optional<QString> getDependencyURL(DependencySearchArgs const& args) const override
|
||||
{
|
||||
@ -137,5 +142,5 @@ class FlameAPI : public NetworkResourceAPI {
|
||||
url += QString("&modLoaderType=%1").arg(mappedModLoader);
|
||||
}
|
||||
return url;
|
||||
};
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user