summaryrefslogtreecommitdiffstats
path: root/logic/ftb
diff options
context:
space:
mode:
Diffstat (limited to 'logic/ftb')
-rw-r--r--logic/ftb/FTBPlugin.cpp52
-rw-r--r--logic/ftb/FTBPlugin.h4
-rw-r--r--logic/ftb/FTBProfileStrategy.cpp2
-rw-r--r--logic/ftb/OneSixFTBInstance.cpp6
-rw-r--r--logic/ftb/OneSixFTBInstance.h2
5 files changed, 32 insertions, 34 deletions
diff --git a/logic/ftb/FTBPlugin.cpp b/logic/ftb/FTBPlugin.cpp
index 1e9d9123..de04e485 100644
--- a/logic/ftb/FTBPlugin.cpp
+++ b/logic/ftb/FTBPlugin.cpp
@@ -7,7 +7,6 @@
#include <logic/InstanceList.h>
#include <logic/minecraft/MinecraftVersionList.h>
#include <logic/settings/INISettingsObject.h>
-#include "MultiMC.h"
#include <pathutils.h>
#include "QDebug"
#include <QXmlStreamReader>
@@ -33,11 +32,11 @@ inline uint qHash(FTBRecord record)
return qHash(record.instanceDir);
}
-QSet<FTBRecord> discoverFTBInstances()
+QSet<FTBRecord> discoverFTBInstances(SettingsObjectPtr globalSettings)
{
QSet<FTBRecord> records;
- QDir dir = QDir(MMC->settings()->get("FTBLauncherDataRoot").toString());
- QDir dataDir = QDir(MMC->settings()->get("FTBRoot").toString());
+ QDir dir = QDir(globalSettings->get("FTBLauncherDataRoot").toString());
+ QDir dataDir = QDir(globalSettings->get("FTBRoot").toString());
if (!dataDir.exists())
{
qDebug() << "The FTB directory specified does not exist. Please check your settings";
@@ -131,7 +130,7 @@ QSet<FTBRecord> discoverFTBInstances()
return records;
}
-InstancePtr loadInstance(const QString &instDir)
+InstancePtr loadInstance(SettingsObjectPtr globalSettings, const QString &instDir)
{
auto m_settings = std::make_shared<INISettingsObject>(PathCombine(instDir, "instance.cfg"));
@@ -143,17 +142,17 @@ InstancePtr loadInstance(const QString &instDir)
if (inst_type == "LegacyFTB")
{
- inst.reset(new LegacyFTBInstance(MMC->settings(), m_settings, instDir));
+ inst.reset(new LegacyFTBInstance(globalSettings, m_settings, instDir));
}
else if (inst_type == "OneSixFTB")
{
- inst.reset(new OneSixFTBInstance(MMC->settings(), m_settings, instDir));
+ inst.reset(new OneSixFTBInstance(globalSettings, m_settings, instDir));
}
inst->init();
return inst;
}
-InstancePtr createInstance(MinecraftVersionPtr version, const QString &instDir)
+InstancePtr createInstance(SettingsObjectPtr globalSettings, MinecraftVersionPtr version, const QString &instDir)
{
QDir rootDir(instDir);
@@ -178,28 +177,28 @@ InstancePtr createInstance(MinecraftVersionPtr version, const QString &instDir)
if (version->usesLegacyLauncher())
{
m_settings->set("InstanceType", "LegacyFTB");
- inst.reset(new LegacyFTBInstance(MMC->settings(),m_settings, instDir));
+ inst.reset(new LegacyFTBInstance(globalSettings, m_settings, instDir));
inst->setIntendedVersionId(version->descriptor());
}
else
{
m_settings->set("InstanceType", "OneSixFTB");
- inst.reset(new OneSixFTBInstance(MMC->settings(),m_settings, instDir));
+ inst.reset(new OneSixFTBInstance(globalSettings, m_settings, instDir));
inst->setIntendedVersionId(version->descriptor());
inst->init();
}
return inst;
}
-void FTBPlugin::loadInstances(QMap<QString, QString> &groupMap, QList<InstancePtr> &tempList)
+void FTBPlugin::loadInstances(SettingsObjectPtr globalSettings, QMap<QString, QString> &groupMap, QList<InstancePtr> &tempList)
{
// nothing to load when we don't have
- if (MMC->settings()->get("TrackFTBInstances").toBool() != true)
+ if (globalSettings->get("TrackFTBInstances").toBool() != true)
{
return;
}
- auto records = discoverFTBInstances();
+ auto records = discoverFTBInstances(globalSettings);
if (!records.size())
{
qDebug() << "No FTB instances to load.";
@@ -218,7 +217,7 @@ void FTBPlugin::loadInstances(QMap<QString, QString> &groupMap, QList<InstancePt
if (!QFileInfo(PathCombine(record.instanceDir, "instance.cfg")).exists())
{
qDebug() << "Converting " << record.name << " as new.";
- auto mcVersion = std::dynamic_pointer_cast<MinecraftVersion>(MMC->minecraftlist()->findVersion(record.mcVersion));
+ auto mcVersion = std::dynamic_pointer_cast<MinecraftVersion>(ENV.getVersion("net.minecraft", record.mcVersion));
if (!mcVersion)
{
qCritical() << "Can't load instance " << record.instanceDir
@@ -227,7 +226,7 @@ void FTBPlugin::loadInstances(QMap<QString, QString> &groupMap, QList<InstancePt
continue;
}
- auto instPtr = createInstance(mcVersion, record.instanceDir);
+ auto instPtr = createInstance(globalSettings, mcVersion, record.instanceDir);
if (!instPtr)
{
continue;
@@ -245,7 +244,7 @@ void FTBPlugin::loadInstances(QMap<QString, QString> &groupMap, QList<InstancePt
else
{
qDebug() << "Loading existing " << record.name;
- auto instPtr = loadInstance(record.instanceDir);
+ auto instPtr = loadInstance(globalSettings, record.instanceDir);
if (!instPtr)
{
continue;
@@ -270,11 +269,10 @@ void FTBPlugin::loadInstances(QMap<QString, QString> &groupMap, QList<InstancePt
static const int APPDATA_BUFFER_SIZE = 1024;
#endif
-void FTBPlugin::initialize()
+void FTBPlugin::initialize(SettingsObjectPtr globalSettings)
{
- auto m_settings = MMC->settings();
// FTB
- m_settings->registerSetting("TrackFTBInstances", false);
+ globalSettings->registerSetting("TrackFTBInstances", false);
QString ftbDataDefault;
#ifdef Q_OS_LINUX
QString ftbDefault = ftbDataDefault = QDir::home().absoluteFilePath(".ftblauncher");
@@ -315,16 +313,16 @@ void FTBPlugin::initialize()
QString ftbDefault = ftbDataDefault =
PathCombine(QDir::homePath(), "Library/Application Support/ftblauncher");
#endif
- m_settings->registerSetting("FTBLauncherDataRoot", ftbDataDefault);
- m_settings->registerSetting("FTBLauncherRoot", ftbDefault);
- qDebug() << "FTB Launcher paths:" << m_settings->get("FTBLauncherDataRoot").toString()
- << "and" << m_settings->get("FTBLauncherRoot").toString();
+ globalSettings->registerSetting("FTBLauncherDataRoot", ftbDataDefault);
+ globalSettings->registerSetting("FTBLauncherRoot", ftbDefault);
+ qDebug() << "FTB Launcher paths:" << globalSettings->get("FTBLauncherDataRoot").toString()
+ << "and" << globalSettings->get("FTBLauncherRoot").toString();
- m_settings->registerSetting("FTBRoot");
- if (m_settings->get("FTBRoot").isNull())
+ globalSettings->registerSetting("FTBRoot");
+ if (globalSettings->get("FTBRoot").isNull())
{
QString ftbRoot;
- QFile f(QDir(m_settings->get("FTBLauncherRoot").toString())
+ QFile f(QDir(globalSettings->get("FTBLauncherRoot").toString())
.absoluteFilePath("ftblaunch.cfg"));
qDebug() << "Attempting to read" << f.fileName();
if (f.open(QFile::ReadOnly))
@@ -348,7 +346,7 @@ void FTBPlugin::initialize()
else
{
qDebug() << "FTB is installed at" << ftbRoot;
- m_settings->set("FTBRoot", ftbRoot);
+ globalSettings->set("FTBRoot", ftbRoot);
}
}
else
diff --git a/logic/ftb/FTBPlugin.h b/logic/ftb/FTBPlugin.h
index cb309355..8a38e2bb 100644
--- a/logic/ftb/FTBPlugin.h
+++ b/logic/ftb/FTBPlugin.h
@@ -6,6 +6,6 @@
class FTBPlugin
{
public:
- static void initialize();
- static void loadInstances(QMap<QString, QString> &groupMap, QList<InstancePtr> &tempList);
+ static void initialize(SettingsObjectPtr globalSettings);
+ static void loadInstances(SettingsObjectPtr globalSettings, QMap<QString, QString> &groupMap, QList<InstancePtr> &tempList);
};
diff --git a/logic/ftb/FTBProfileStrategy.cpp b/logic/ftb/FTBProfileStrategy.cpp
index 20feba61..d5b3c90f 100644
--- a/logic/ftb/FTBProfileStrategy.cpp
+++ b/logic/ftb/FTBProfileStrategy.cpp
@@ -3,8 +3,6 @@
#include "logic/ftb/OneSixFTBInstance.h"
#include "logic/minecraft/MinecraftVersionList.h"
-#include "MultiMC.h"
-
#include <pathutils.h>
#include <QDir>
#include <QUuid>
diff --git a/logic/ftb/OneSixFTBInstance.cpp b/logic/ftb/OneSixFTBInstance.cpp
index 8d290a94..4de2ce78 100644
--- a/logic/ftb/OneSixFTBInstance.cpp
+++ b/logic/ftb/OneSixFTBInstance.cpp
@@ -8,12 +8,12 @@
#include "logic/forge/ForgeInstaller.h"
#include "logic/forge/ForgeVersionList.h"
#include <logic/settings/INISettingsObject.h>
-#include "MultiMC.h"
#include "pathutils.h"
OneSixFTBInstance::OneSixFTBInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString &rootDir) :
OneSixInstance(globalSettings, settings, rootDir)
{
+ m_globalSettings = globalSettings;
}
void OneSixFTBInstance::copy(const QDir &newDir)
@@ -108,12 +108,12 @@ QString OneSixFTBInstance::id() const
QDir OneSixFTBInstance::librariesPath() const
{
- return QDir(MMC->settings()->get("FTBRoot").toString() + "/libraries");
+ return QDir(m_globalSettings->get("FTBRoot").toString() + "/libraries");
}
QDir OneSixFTBInstance::versionsPath() const
{
- return QDir(MMC->settings()->get("FTBRoot").toString() + "/versions");
+ return QDir(m_globalSettings->get("FTBRoot").toString() + "/versions");
}
bool OneSixFTBInstance::providesVersionFile() const
diff --git a/logic/ftb/OneSixFTBInstance.h b/logic/ftb/OneSixFTBInstance.h
index 2b0e13d5..d5cdc362 100644
--- a/logic/ftb/OneSixFTBInstance.h
+++ b/logic/ftb/OneSixFTBInstance.h
@@ -24,4 +24,6 @@ public:
QDir librariesPath() const override;
QDir versionsPath() const override;
bool providesVersionFile() const override;
+private:
+ SettingsObjectPtr m_globalSettings;
};