diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index ff7ed0af39..a6fc72a607 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -591,7 +591,7 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
{
component->m_version = "3.1.2";
}
- else if (add.uid == "net.fabricmc.intermediary" || add.uid == "org.quiltmc.hashed")
+ else if (add.uid == "net.fabricmc.intermediary" || add.uid == "org.quiltmc.hashed" || add.uid == "net.legacyfabric.intermediary")
{
auto minecraft = std::find_if(components.begin(), components.end(), [](ComponentPtr & cmp){
return cmp->getID() == "net.minecraft";
diff --git a/launcher/ui/pages/instance/VersionPage.cpp b/launcher/ui/pages/instance/VersionPage.cpp
index 4491729206..4e8c4afacb 100644
--- a/launcher/ui/pages/instance/VersionPage.cpp
+++ b/launcher/ui/pages/instance/VersionPage.cpp
@@ -213,8 +213,10 @@ void VersionPage::updateVersionControls()
auto minecraftVersion = Version(m_profile->getComponentVersion("net.minecraft"));
bool supportsFabric = minecraftVersion >= Version("1.14");
+ bool supportsLegacyFabric = minecraftVersion >= Version("1.3") && minecraftVersion <= Version("1.13.2");
ui->actionInstall_Fabric->setEnabled(controlsEnabled && supportsFabric);
ui->actionInstall_Quilt->setEnabled((controlsEnabled) && supportsFabric);
+ ui->actionInstall_LegacyFabric->setEnabled((controlsEnabled) && supportsLegacyFabric);
bool supportsLiteLoader = minecraftVersion <= Version("1.12.2");
ui->actionInstall_LiteLoader->setEnabled(controlsEnabled && supportsLiteLoader);
@@ -365,7 +367,7 @@ void VersionPage::on_actionChange_version_triggered()
return;
}
VersionSelectDialog vselect(list.get(), tr("Change %1 version").arg(name), this);
- if (uid == "net.fabricmc.intermediary" || uid == "org.quiltmc.hashed")
+ if (uid == "net.fabricmc.intermediary" || uid == "org.quiltmc.hashed" || uid == "net.legacyfabric.intermediary")
{
vselect.setEmptyString(tr("No intermediary mappings versions are currently available."));
vselect.setEmptyErrorString(tr("Couldn't load or download the intermediary mappings version lists!"));
@@ -471,6 +473,33 @@ void VersionPage::on_actionInstall_Fabric_triggered()
}
}
+void VersionPage::on_actionInstall_LegacyFabric_triggered()
+{
+ auto vlist = APPLICATION->metadataIndex()->get("net.legacyfabric.fabric-loader");
+ if(!vlist)
+ {
+ return;
+ }
+ VersionSelectDialog vselect(vlist.get(), tr("Select Fabric Loader version"), this);
+ vselect.setEmptyString(tr("No Fabric Loader versions are currently available."));
+ vselect.setEmptyErrorString(tr("Couldn't load or download the Fabric Loader version lists!"));
+
+ auto currentVersion = m_profile->getComponentVersion("net.legacyfabric.fabric-loader");
+ if(!currentVersion.isEmpty())
+ {
+ vselect.setCurrentVersion(currentVersion);
+ }
+
+ if (vselect.exec() && vselect.selectedVersion())
+ {
+ auto vsn = vselect.selectedVersion();
+ m_profile->setComponentVersion("net.legacyfabric.fabric-loader", vsn->descriptor());
+ m_profile->resolve(Net::Mode::Online);
+ preselect(m_profile->rowCount(QModelIndex())-1);
+ m_container->refreshContainer();
+ }
+}
+
void VersionPage::on_actionInstall_Quilt_triggered()
{
auto vlist = APPLICATION->metadataIndex()->get("org.quiltmc.quilt-loader");
diff --git a/launcher/ui/pages/instance/VersionPage.h b/launcher/ui/pages/instance/VersionPage.h
index 9045d4ad18..4c7fd16bd3 100644
--- a/launcher/ui/pages/instance/VersionPage.h
+++ b/launcher/ui/pages/instance/VersionPage.h
@@ -52,6 +52,7 @@ private slots:
void on_actionChange_version_triggered();
void on_actionInstall_Forge_triggered();
void on_actionInstall_Fabric_triggered();
+ void on_actionInstall_LegacyFabric_triggered();
void on_actionInstall_Quilt_triggered();
void on_actionAdd_Empty_triggered();
void on_actionInstall_LiteLoader_triggered();
diff --git a/launcher/ui/pages/instance/VersionPage.ui b/launcher/ui/pages/instance/VersionPage.ui
index 489f721888..cfc54f4087 100644
--- a/launcher/ui/pages/instance/VersionPage.ui
+++ b/launcher/ui/pages/instance/VersionPage.ui
@@ -107,6 +107,7 @@
+
@@ -193,6 +194,14 @@
Install the Fabric Loader package.
+
+
+ Install Legacy Fabric
+
+
+ Install the Fabric Loader package for Legacy Fabric.
+
+
Install Quilt