aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Chew <kenneth.c0@protonmail.com>2022-04-06 16:58:57 -0400
committerKenneth Chew <kenneth.c0@protonmail.com>2022-04-15 15:37:08 -0400
commit7577115c3ca30b50268ba1963c72b57dc3a29db9 (patch)
tree401a09133bc689165e41dc9813da1f31ca366f95
parent2cb242e9b3174137b5ff97d3781ae253e8208843 (diff)
downloadPrismLauncher-7577115c3ca30b50268ba1963c72b57dc3a29db9.tar.gz
PrismLauncher-7577115c3ca30b50268ba1963c72b57dc3a29db9.tar.bz2
PrismLauncher-7577115c3ca30b50268ba1963c72b57dc3a29db9.zip
Fix Fabric versions appearing for unsupported MC versions
Also remove an old TODO comment, mentioning an issue that was already fixed.
-rw-r--r--launcher/ui/pages/modplatform/VanillaPage.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/launcher/ui/pages/modplatform/VanillaPage.cpp b/launcher/ui/pages/modplatform/VanillaPage.cpp
index 64015eb7..74c1bed4 100644
--- a/launcher/ui/pages/modplatform/VanillaPage.cpp
+++ b/launcher/ui/pages/modplatform/VanillaPage.cpp
@@ -44,6 +44,7 @@
#include "ui/dialogs/NewInstanceDialog.h"
#include "Filter.h"
#include "InstanceCreationTask.h"
+#include "Version.h"
VanillaPage::VanillaPage(NewInstanceDialog *dialog, QWidget *parent)
: QWidget(parent), dialog(dialog), ui(new Ui::VanillaPage)
@@ -116,27 +117,31 @@ void VanillaPage::filterChanged()
void VanillaPage::loaderFilterChanged()
{
+ auto minecraftVersion = m_selectedVersion->descriptor();
if(ui->noneFilter->isChecked())
{
ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, "AAA"); // empty list
- // TODO: The below message does not show when the add instance window is first opened. This should be fixed.
ui->loaderVersionList->setEmptyString(tr("No mod loader is selected."));
ui->loaderVersionList->setEmptyMode(VersionListView::String);
return;
}
else if(ui->forgeFilter->isChecked())
{
- ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, m_selectedVersion->descriptor());
+ ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, minecraftVersion);
m_selectedLoader = "net.minecraftforge";
}
else if(ui->fabricFilter->isChecked())
{
- ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, "");
+ // FIXME: dirty hack because the launcher is unaware of Fabric's dependencies
+ if (Version(minecraftVersion) >= Version("1.14")) // Fabric supported
+ ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, "");
+ else // Fabric unsupported
+ ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, "AAA"); // clear list
m_selectedLoader = "net.fabricmc.fabric-loader";
}
else if(ui->liteLoaderFilter->isChecked())
{
- ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, m_selectedVersion->descriptor());
+ ui->loaderVersionList->setExactFilter(BaseVersionList::ParentVersionRole, minecraftVersion);
m_selectedLoader = "com.mumfrey.liteloader";
}
@@ -144,7 +149,7 @@ void VanillaPage::loaderFilterChanged()
ui->loaderVersionList->initialize(vlist.get());
ui->loaderVersionList->selectRecommended();
suggestCurrent();
- ui->loaderVersionList->setEmptyString(tr("No versions are currently available for Minecraft %1").arg(m_selectedVersion->descriptor()));
+ ui->loaderVersionList->setEmptyString(tr("No versions are currently available for Minecraft %1").arg(minecraftVersion));
}
VanillaPage::~VanillaPage()