aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@users.noreply.github.com>2021-06-09 21:54:22 +0200
committerGitHub <noreply@github.com>2021-06-09 21:54:22 +0200
commit9fafe3ffe6fd970b5096c31db8687e4c62c0cfa6 (patch)
tree2f91407d5b358b221664216886b89fcb79520eeb
parent60b686f01458fc1f31109a0be71d790b8f7ec22b (diff)
parent3390367d931cc47a8c9980d456546326d5c5e2cd (diff)
downloadPrismLauncher-9fafe3ffe6fd970b5096c31db8687e4c62c0cfa6.tar.gz
PrismLauncher-9fafe3ffe6fd970b5096c31db8687e4c62c0cfa6.tar.bz2
PrismLauncher-9fafe3ffe6fd970b5096c31db8687e4c62c0cfa6.zip
Merge pull request #3833 from jamierocks/disable-forge-btn-when-game-running
NOISSUE Disable 'Install Forge' button when game is running
-rw-r--r--api/logic/InstanceImportTask.cpp11
-rw-r--r--api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp7
-rw-r--r--application/pages/instance/VersionPage.cpp10
3 files changed, 17 insertions, 11 deletions
diff --git a/api/logic/InstanceImportTask.cpp b/api/logic/InstanceImportTask.cpp
index fe2cdd75..3eac4d57 100644
--- a/api/logic/InstanceImportTask.cpp
+++ b/api/logic/InstanceImportTask.cpp
@@ -238,6 +238,7 @@ void InstanceImportTask::processFlame()
}
QString forgeVersion;
+ QString fabricVersion;
for(auto &loader: pack.minecraft.modLoaders)
{
auto id = loader.id;
@@ -247,6 +248,12 @@ void InstanceImportTask::processFlame()
forgeVersion = id;
continue;
}
+ if(id.startsWith("fabric-"))
+ {
+ id.remove("fabric-");
+ fabricVersion = id;
+ continue;
+ }
logWarning(tr("Unknown mod loader in manifest: %1").arg(id));
}
@@ -281,6 +288,10 @@ void InstanceImportTask::processFlame()
}
components->setComponentVersion("net.minecraftforge", forgeVersion);
}
+ if(!fabricVersion.isEmpty())
+ {
+ components->setComponentVersion("net.fabricmc.fabric-loader", fabricVersion);
+ }
if (m_instIcon != "default")
{
instance.setIconKey(m_instIcon);
diff --git a/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp b/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp
index 068e3592..ddc7fe35 100644
--- a/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp
+++ b/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp
@@ -109,12 +109,7 @@ void PackInstallTask::downloadPack()
connect(jobPtr.get(), &NetJob::failed, [&](QString reason)
{
jobPtr.reset();
-
- // FIXME: Temporarily ignore file download failures (matching FTB's installer),
- // while FTB's data is fucked.
- qWarning() << "Failed to download files for modpack: " + reason;
-
- install();
+ emitFailed(reason);
});
connect(jobPtr.get(), &NetJob::progress, [&](qint64 current, qint64 total)
{
diff --git a/application/pages/instance/VersionPage.cpp b/application/pages/instance/VersionPage.cpp
index 54d75d06..7f7ba860 100644
--- a/application/pages/instance/VersionPage.cpp
+++ b/application/pages/instance/VersionPage.cpp
@@ -203,11 +203,11 @@ void VersionPage::updateVersionControls()
{
// FIXME: this is a dirty hack
auto minecraftVersion = Version(m_profile->getComponentVersion("net.minecraft"));
- bool newCraft = controlsEnabled && (minecraftVersion >= Version("1.14"));
- bool oldCraft = controlsEnabled && (minecraftVersion <= Version("1.12.2"));
- ui->actionInstall_Fabric->setEnabled(newCraft);
- ui->actionInstall_Forge->setEnabled(true);
- ui->actionInstall_LiteLoader->setEnabled(oldCraft);
+ bool newCraft = minecraftVersion >= Version("1.14");
+ bool oldCraft = minecraftVersion <= Version("1.12.2");
+ ui->actionInstall_Fabric->setEnabled(controlsEnabled && newCraft);
+ ui->actionInstall_Forge->setEnabled(controlsEnabled);
+ ui->actionInstall_LiteLoader->setEnabled(controlsEnabled && oldCraft);
ui->actionReload->setEnabled(true);
updateButtons();
}