mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-08-03 19:37:45 -04:00
Add "Babric" and "BTA (Babric)" filters as shown on Modrinth (#3961)
This commit is contained in:
commit
a7f3cbb6f5
@ -31,7 +31,7 @@ static const QMap<QString, IndexedVersionType::VersionType> s_indexed_version_ty
|
|||||||
{ "alpha", IndexedVersionType::VersionType::Alpha }
|
{ "alpha", IndexedVersionType::VersionType::Alpha }
|
||||||
};
|
};
|
||||||
|
|
||||||
static const QList<ModLoaderType> loaderList = { NeoForge, Forge, Cauldron, LiteLoader, Quilt, Fabric };
|
static const QList<ModLoaderType> loaderList = { NeoForge, Forge, Cauldron, LiteLoader, Quilt, Fabric, Babric, BTA };
|
||||||
|
|
||||||
QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags)
|
QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags)
|
||||||
{
|
{
|
||||||
@ -129,6 +129,10 @@ auto getModLoaderAsString(ModLoaderType type) -> const QString
|
|||||||
return "quilt";
|
return "quilt";
|
||||||
case DataPack:
|
case DataPack:
|
||||||
return "datapack";
|
return "datapack";
|
||||||
|
case Babric:
|
||||||
|
return "babric";
|
||||||
|
case BTA:
|
||||||
|
return "bta-babric";
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -149,6 +153,10 @@ auto getModLoaderFromString(QString type) -> ModLoaderType
|
|||||||
return Fabric;
|
return Fabric;
|
||||||
if (type == "quilt")
|
if (type == "quilt")
|
||||||
return Quilt;
|
return Quilt;
|
||||||
|
if (type == "babric")
|
||||||
|
return Babric;
|
||||||
|
if (type == "bta-babric")
|
||||||
|
return BTA;
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,9 @@ enum ModLoaderType {
|
|||||||
LiteLoader = 1 << 3,
|
LiteLoader = 1 << 3,
|
||||||
Fabric = 1 << 4,
|
Fabric = 1 << 4,
|
||||||
Quilt = 1 << 5,
|
Quilt = 1 << 5,
|
||||||
DataPack = 1 << 6
|
DataPack = 1 << 6,
|
||||||
|
Babric = 1 << 7,
|
||||||
|
BTA = 1 << 8
|
||||||
};
|
};
|
||||||
Q_DECLARE_FLAGS(ModLoaderTypes, ModLoaderType)
|
Q_DECLARE_FLAGS(ModLoaderTypes, ModLoaderType)
|
||||||
QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags);
|
QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags);
|
||||||
|
@ -71,6 +71,8 @@ class FlameAPI : public NetworkResourceAPI {
|
|||||||
case ModPlatform::NeoForge:
|
case ModPlatform::NeoForge:
|
||||||
return 6;
|
return 6;
|
||||||
case ModPlatform::DataPack:
|
case ModPlatform::DataPack:
|
||||||
|
case ModPlatform::Babric:
|
||||||
|
case ModPlatform::BTA:
|
||||||
break; // not supported
|
break; // not supported
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -91,6 +91,10 @@ void PackInstallTask::copySettings()
|
|||||||
break;
|
break;
|
||||||
case ModPlatform::DataPack:
|
case ModPlatform::DataPack:
|
||||||
break;
|
break;
|
||||||
|
case ModPlatform::Babric:
|
||||||
|
break;
|
||||||
|
case ModPlatform::BTA:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
components->saveNow();
|
components->saveNow();
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ class ModrinthAPI : public NetworkResourceAPI {
|
|||||||
{
|
{
|
||||||
QStringList l;
|
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 }) {
|
ModPlatform::DataPack, ModPlatform::Babric, ModPlatform::BTA }) {
|
||||||
if (types & loader) {
|
if (types & loader) {
|
||||||
l << getModLoaderAsString(loader);
|
l << getModLoaderAsString(loader);
|
||||||
}
|
}
|
||||||
@ -202,7 +202,7 @@ class ModrinthAPI : public NetworkResourceAPI {
|
|||||||
static inline auto validateModLoaders(ModPlatform::ModLoaderTypes loaders) -> bool
|
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);
|
ModPlatform::DataPack | ModPlatform::Babric | ModPlatform::BTA);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] std::optional<QString> getDependencyURL(DependencySearchArgs const& args) const override
|
[[nodiscard]] std::optional<QString> getDependencyURL(DependencySearchArgs const& args) const override
|
||||||
|
@ -149,10 +149,16 @@ ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extended)
|
|||||||
connect(ui->forge, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
connect(ui->forge, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||||
connect(ui->fabric, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
connect(ui->fabric, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||||
connect(ui->quilt, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
connect(ui->quilt, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||||
if (extended)
|
|
||||||
connect(ui->liteLoader, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
connect(ui->liteLoader, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||||
else
|
connect(ui->babric, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||||
ui->liteLoader->setVisible(false);
|
connect(ui->btaBabric, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||||
|
|
||||||
|
connect(ui->showMoreButton, &QPushButton::clicked, this, &ModFilterWidget::onShowMoreClicked);
|
||||||
|
|
||||||
|
if (!extended) {
|
||||||
|
ui->showMoreButton->setVisible(false);
|
||||||
|
ui->extendedModLoadersWidget->setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
if (extended) {
|
if (extended) {
|
||||||
connect(ui->clientSide, &QCheckBox::stateChanged, this, &ModFilterWidget::onSideFilterChanged);
|
connect(ui->clientSide, &QCheckBox::stateChanged, this, &ModFilterWidget::onSideFilterChanged);
|
||||||
@ -279,6 +285,10 @@ void ModFilterWidget::onLoadersFilterChanged()
|
|||||||
loaders |= ModPlatform::Quilt;
|
loaders |= ModPlatform::Quilt;
|
||||||
if (ui->liteLoader->isChecked())
|
if (ui->liteLoader->isChecked())
|
||||||
loaders |= ModPlatform::LiteLoader;
|
loaders |= ModPlatform::LiteLoader;
|
||||||
|
if (ui->babric->isChecked())
|
||||||
|
loaders |= ModPlatform::Babric;
|
||||||
|
if (ui->btaBabric->isChecked())
|
||||||
|
loaders |= ModPlatform::BTA;
|
||||||
m_filter_changed = loaders != m_filter->loaders;
|
m_filter_changed = loaders != m_filter->loaders;
|
||||||
m_filter->loaders = loaders;
|
m_filter->loaders = loaders;
|
||||||
if (m_filter_changed)
|
if (m_filter_changed)
|
||||||
@ -381,4 +391,10 @@ void ModFilterWidget::onReleaseFilterChanged()
|
|||||||
emit filterChanged();
|
emit filterChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ModFilterWidget::onShowMoreClicked()
|
||||||
|
{
|
||||||
|
ui->extendedModLoadersWidget->setVisible(true);
|
||||||
|
ui->showMoreButton->setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
#include "ModFilterWidget.moc"
|
#include "ModFilterWidget.moc"
|
||||||
|
@ -110,6 +110,7 @@ class ModFilterWidget : public QTabWidget {
|
|||||||
void onShowAllVersionsChanged();
|
void onShowAllVersionsChanged();
|
||||||
void onOpenSourceFilterChanged();
|
void onOpenSourceFilterChanged();
|
||||||
void onReleaseFilterChanged();
|
void onReleaseFilterChanged();
|
||||||
|
void onShowMoreClicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::ModFilterWidget* ui;
|
Ui::ModFilterWidget* ui;
|
||||||
|
@ -121,6 +121,31 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="showMoreButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show More</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" name="extendedModLoadersWidget" native="true">
|
||||||
|
<property name="visible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="extendedModLoadersLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="liteLoader">
|
<widget class="QCheckBox" name="liteLoader">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -128,6 +153,23 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="babric">
|
||||||
|
<property name="text">
|
||||||
|
<string>Babric</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="btaBabric">
|
||||||
|
<property name="text">
|
||||||
|
<string>BTA (Babric)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user