diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-01-27 22:31:07 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-04-02 00:14:06 +0200 |
commit | 791221e923586bb717396ecf18bd13e57034df99 (patch) | |
tree | 9f608af07375b38626c8964671620477158341ba /logic/OneSixFTBInstance.cpp | |
parent | 593111b14463e9d5d08256061b981b5ab1cfb710 (diff) | |
download | MultiMC-791221e923586bb717396ecf18bd13e57034df99.tar MultiMC-791221e923586bb717396ecf18bd13e57034df99.tar.gz MultiMC-791221e923586bb717396ecf18bd13e57034df99.tar.lz MultiMC-791221e923586bb717396ecf18bd13e57034df99.tar.xz MultiMC-791221e923586bb717396ecf18bd13e57034df99.zip |
NOISSUE Refactors and moving of things
Diffstat (limited to 'logic/OneSixFTBInstance.cpp')
-rw-r--r-- | logic/OneSixFTBInstance.cpp | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/logic/OneSixFTBInstance.cpp b/logic/OneSixFTBInstance.cpp deleted file mode 100644 index bf1361dd..00000000 --- a/logic/OneSixFTBInstance.cpp +++ /dev/null @@ -1,137 +0,0 @@ -#include "OneSixFTBInstance.h" - -#include "logic/minecraft/InstanceVersion.h" -#include "logic/minecraft/OneSixLibrary.h" -#include "logic/minecraft/VersionBuilder.h" -#include "tasks/SequentialTask.h" -#include "forge/ForgeInstaller.h" -#include "forge/ForgeVersionList.h" -#include "MultiMC.h" -#include "pathutils.h" - -OneSixFTBInstance::OneSixFTBInstance(const QString &rootDir, SettingsObject *settings, QObject *parent) : - OneSixInstance(rootDir, settings, parent) -{ -} - -void OneSixFTBInstance::copy(const QDir &newDir) -{ - QStringList libraryNames; - // create patch file - { - QLOG_DEBUG() << "Creating patch file for FTB instance..."; - QFile f(minecraftRoot() + "/pack.json"); - if (!f.open(QFile::ReadOnly)) - { - QLOG_ERROR() << "Couldn't open" << f.fileName() << ":" << f.errorString(); - return; - } - QJsonObject root = QJsonDocument::fromJson(f.readAll()).object(); - QJsonArray libs = root.value("libraries").toArray(); - QJsonArray outLibs; - for (auto lib : libs) - { - QJsonObject libObj = lib.toObject(); - libObj.insert("MMC-hint", QString("local")); - libObj.insert("insert", QString("prepend")); - libraryNames.append(libObj.value("name").toString()); - outLibs.append(libObj); - } - root.remove("libraries"); - root.remove("id"); - - // HACK HACK HACK HACK - // A workaround for a problem in MultiMC, triggered by a historical problem in FTB, - // triggered by Mojang getting their library versions wrong in 1.7.10 - if(intendedVersionId() == "1.7.10") - { - auto insert = [&outLibs, &libraryNames](QString name) - { - QJsonObject libObj; - libObj.insert("insert", QString("replace")); - libObj.insert("name", name); - libraryNames.push_back(name); - outLibs.prepend(libObj); - }; - insert("com.google.guava:guava:16.0"); - insert("org.apache.commons:commons-lang3:3.2.1"); - } - root.insert("+libraries", outLibs); - root.insert("order", 1); - root.insert("fileId", QString("org.multimc.ftb.pack.json")); - root.insert("name", name()); - root.insert("mcVersion", intendedVersionId()); - root.insert("version", intendedVersionId()); - ensureFilePathExists(newDir.absoluteFilePath("patches/ftb.json")); - QFile out(newDir.absoluteFilePath("patches/ftb.json")); - if (!out.open(QFile::WriteOnly | QFile::Truncate)) - { - QLOG_ERROR() << "Couldn't open" << out.fileName() << ":" << out.errorString(); - return; - } - out.write(QJsonDocument(root).toJson()); - } - // copy libraries - { - QLOG_DEBUG() << "Copying FTB libraries"; - for (auto library : libraryNames) - { - OneSixLibrary *lib = new OneSixLibrary(library); - const QString out = QDir::current().absoluteFilePath("libraries/" + lib->storagePath()); - if (QFile::exists(out)) - { - continue; - } - if (!ensureFilePathExists(out)) - { - QLOG_ERROR() << "Couldn't create folder structure for" << out; - } - if (!QFile::copy(librariesPath().absoluteFilePath(lib->storagePath()), out)) - { - QLOG_ERROR() << "Couldn't copy" << lib->rawName(); - } - } - } -} - -QString OneSixFTBInstance::id() const -{ - return "FTB/" + BaseInstance::id(); -} - -QDir OneSixFTBInstance::librariesPath() const -{ - return QDir(MMC->settings()->get("FTBRoot").toString() + "/libraries"); -} - -QDir OneSixFTBInstance::versionsPath() const -{ - return QDir(MMC->settings()->get("FTBRoot").toString() + "/versions"); -} - -QStringList OneSixFTBInstance::externalPatches() const -{ - return QStringList() << versionsPath().absoluteFilePath(intendedVersionId() + "/" + intendedVersionId() + ".json") - << minecraftRoot() + "/pack.json"; -} - -bool OneSixFTBInstance::providesVersionFile() const -{ - return true; -} - -QString OneSixFTBInstance::getStatusbarDescription() -{ - if (flags() & VersionBrokenFlag) - { - return "OneSix FTB: " + intendedVersionId() + " (broken)"; - } - return "OneSix FTB: " + intendedVersionId(); -} - -std::shared_ptr<Task> OneSixFTBInstance::doUpdate() -{ - return OneSixInstance::doUpdate(); -} - -#include "OneSixFTBInstance.moc" |