Fix data pack filtering
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
parent
46c348a7b4
commit
82978ee34d
5 changed files with 22 additions and 10 deletions
|
@ -122,11 +122,13 @@ auto getModLoaderAsString(ModLoaderType type) -> const QString
|
|||
case Cauldron:
|
||||
return "cauldron";
|
||||
case LiteLoader:
|
||||
return "liteloader";
|
||||
return "liteloader";
|
||||
case Fabric:
|
||||
return "fabric";
|
||||
case Quilt:
|
||||
return "quilt";
|
||||
case DataPack:
|
||||
return "datapack";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -30,7 +30,15 @@ class QIODevice;
|
|||
|
||||
namespace ModPlatform {
|
||||
|
||||
enum ModLoaderType { NeoForge = 1 << 0, Forge = 1 << 1, Cauldron = 1 << 2, LiteLoader = 1 << 3, Fabric = 1 << 4, Quilt = 1 << 5 };
|
||||
enum ModLoaderType {
|
||||
NeoForge = 1 << 0,
|
||||
Forge = 1 << 1,
|
||||
Cauldron = 1 << 2,
|
||||
LiteLoader = 1 << 3,
|
||||
Fabric = 1 << 4,
|
||||
Quilt = 1 << 5,
|
||||
DataPack = 1 << 6
|
||||
};
|
||||
Q_DECLARE_FLAGS(ModLoaderTypes, ModLoaderType)
|
||||
QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags);
|
||||
|
||||
|
|
|
@ -68,6 +68,8 @@ class FlameAPI : public NetworkResourceAPI {
|
|||
return 5;
|
||||
case ModPlatform::NeoForge:
|
||||
return 6;
|
||||
case ModPlatform::DataPack:
|
||||
break; // not supported
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -42,8 +42,8 @@ class ModrinthAPI : public NetworkResourceAPI {
|
|||
static auto getModLoaderStrings(const ModPlatform::ModLoaderTypes types) -> const QStringList
|
||||
{
|
||||
QStringList l;
|
||||
for (auto loader :
|
||||
{ ModPlatform::NeoForge, ModPlatform::Forge, ModPlatform::Fabric, ModPlatform::Quilt, ModPlatform::LiteLoader }) {
|
||||
for (auto loader : { ModPlatform::NeoForge, ModPlatform::Forge, ModPlatform::Fabric, ModPlatform::Quilt, ModPlatform::LiteLoader,
|
||||
ModPlatform::DataPack }) {
|
||||
if (types & loader) {
|
||||
l << getModLoaderAsString(loader);
|
||||
}
|
||||
|
@ -103,12 +103,13 @@ class ModrinthAPI : public NetworkResourceAPI {
|
|||
{
|
||||
switch (type) {
|
||||
case ModPlatform::ResourceType::MOD:
|
||||
case ModPlatform::ResourceType::DATA_PACK:
|
||||
return "mod";
|
||||
case ModPlatform::ResourceType::RESOURCE_PACK:
|
||||
return "resourcepack";
|
||||
case ModPlatform::ResourceType::SHADER_PACK:
|
||||
return "shader";
|
||||
case ModPlatform::ResourceType::DATA_PACK:
|
||||
return "datapack";
|
||||
case ModPlatform::ResourceType::MODPACK:
|
||||
return "modpack";
|
||||
default:
|
||||
|
@ -127,8 +128,6 @@ class ModrinthAPI : public NetworkResourceAPI {
|
|||
facets_list.append(QString("[%1]").arg(getModLoaderFilters(args.loaders.value())));
|
||||
if (args.versions.has_value() && !args.versions.value().empty())
|
||||
facets_list.append(QString("[%1]").arg(getGameVersionsArray(args.versions.value())));
|
||||
if (args.type == ModPlatform::ResourceType::DATA_PACK)
|
||||
facets_list.append("[\"categories:datapack\"]");
|
||||
if (args.side.has_value()) {
|
||||
auto side = getSideFilters(args.side.value());
|
||||
if (!side.isEmpty())
|
||||
|
@ -200,7 +199,8 @@ class ModrinthAPI : public NetworkResourceAPI {
|
|||
|
||||
static inline auto validateModLoaders(ModPlatform::ModLoaderTypes loaders) -> bool
|
||||
{
|
||||
return loaders & (ModPlatform::NeoForge | ModPlatform::Forge | ModPlatform::Fabric | ModPlatform::Quilt | ModPlatform::LiteLoader);
|
||||
return loaders & (ModPlatform::NeoForge | ModPlatform::Forge | ModPlatform::Fabric | ModPlatform::Quilt | ModPlatform::LiteLoader |
|
||||
ModPlatform::DataPack);
|
||||
}
|
||||
|
||||
[[nodiscard]] std::optional<QString> getDependencyURL(DependencySearchArgs const& args) const override
|
||||
|
|
|
@ -18,13 +18,13 @@ DataPackResourceModel::DataPackResourceModel(BaseInstance const& base_inst, Reso
|
|||
ResourceAPI::SearchArgs DataPackResourceModel::createSearchArguments()
|
||||
{
|
||||
auto sort = getCurrentSortingMethodByIndex();
|
||||
return { ModPlatform::ResourceType::DATA_PACK, m_next_search_offset, m_search_term, sort };
|
||||
return { ModPlatform::ResourceType::DATA_PACK, m_next_search_offset, m_search_term, sort, ModPlatform::ModLoaderType::DataPack };
|
||||
}
|
||||
|
||||
ResourceAPI::VersionSearchArgs DataPackResourceModel::createVersionsArguments(QModelIndex& entry)
|
||||
{
|
||||
auto& pack = m_packs[entry.row()];
|
||||
return { *pack };
|
||||
return { *pack, {}, ModPlatform::ModLoaderType::DataPack };
|
||||
}
|
||||
|
||||
ResourceAPI::ProjectInfoArgs DataPackResourceModel::createInfoArguments(QModelIndex& entry)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue