diff options
Diffstat (limited to 'api/logic/modplatform/modpacksch')
-rw-r--r-- | api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp b/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp index fdfe560a..dc2b05fe 100644 --- a/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp +++ b/api/logic/modplatform/modpacksch/FTBPackInstallTask.cpp @@ -91,6 +91,7 @@ void PackInstallTask::install() auto instanceConfigPath = FS::PathCombine(m_stagingPath, "instance.cfg"); auto instanceSettings = std::make_shared<INISettingsObject>(instanceConfigPath); + instanceSettings->suspendSave(); instanceSettings->registerSetting("InstanceType", "Legacy"); instanceSettings->set("InstanceType", "OneSix"); @@ -117,22 +118,26 @@ void PackInstallTask::install() if(file.serverOnly) continue; auto relpath = FS::PathCombine("minecraft", file.path, file.name); - auto path = FS::PathCombine(m_stagingPath , relpath); + auto path = FS::PathCombine(m_stagingPath, relpath); qDebug() << "Will download" << file.url << "to" << path; auto dl = Net::Download::makeFile(file.url, path); jobPtr->addNetAction(dl); } + connect(jobPtr.get(), &NetJob::succeeded, this, [&]() { jobPtr.reset(); emitSucceeded(); }); - connect(jobPtr.get(), &NetJob::failed, [&](QString reason) { jobPtr.reset(); - emitFailed(reason); + + // FIXME: Temporarily ignore file download failures (matching FTB's installer), + // while FTB's data is fucked. + qWarning() << "Failed to download files for modpack: " + reason; + emitSucceeded(); }); connect(jobPtr.get(), &NetJob::progress, [&](qint64 current, qint64 total) { |