summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/onesix/OneSixInstance.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2017-03-30 01:05:58 +0200
committerPetr Mrázek <peterix@gmail.com>2017-04-07 00:20:02 +0200
commit2ac0edbbdb27e12bae00c4779da135582bde89f5 (patch)
tree0870890a8f00bb958a679175691724da727df580 /api/logic/minecraft/onesix/OneSixInstance.cpp
parent53188386b807f1f1ca5eebcd08303633ca4a13fb (diff)
downloadMultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar
MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar.gz
MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar.lz
MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar.xz
MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.zip
NOISSUE preview of LWJGL version changing
It still needs work - some LWJGL versions are exclusive to macOS. This has to be encoded in the json.
Diffstat (limited to 'api/logic/minecraft/onesix/OneSixInstance.cpp')
-rw-r--r--api/logic/minecraft/onesix/OneSixInstance.cpp44
1 files changed, 37 insertions, 7 deletions
diff --git a/api/logic/minecraft/onesix/OneSixInstance.cpp b/api/logic/minecraft/onesix/OneSixInstance.cpp
index 6e4a5bdc..d89f6f87 100644
--- a/api/logic/minecraft/onesix/OneSixInstance.cpp
+++ b/api/logic/minecraft/onesix/OneSixInstance.cpp
@@ -35,6 +35,7 @@ OneSixInstance::OneSixInstance(SettingsObjectPtr globalSettings, SettingsObjectP
: MinecraftInstance(globalSettings, settings, rootDir)
{
m_settings->registerSetting({"IntendedVersion", "MinecraftVersion"}, "");
+ m_settings->registerSetting("LWJGLVersion", "");
}
void OneSixInstance::init()
@@ -480,7 +481,24 @@ std::shared_ptr<WorldList> OneSixInstance::worldList() const
bool OneSixInstance::setIntendedVersionId(QString version)
{
- settings()->set("IntendedVersion", version);
+ return setComponentVersion("net.minecraft", version);
+}
+
+QString OneSixInstance::intendedVersionId() const
+{
+ return getComponentVersion("net.minecraft");
+}
+
+bool OneSixInstance::setComponentVersion(const QString& uid, const QString& version)
+{
+ if(uid == "net.minecraft")
+ {
+ settings()->set("IntendedVersion", version);
+ }
+ else if (uid == "org.lwjgl")
+ {
+ settings()->set("LWJGLVersion", version);
+ }
if(getMinecraftProfile())
{
clearProfile();
@@ -489,6 +507,24 @@ bool OneSixInstance::setIntendedVersionId(QString version)
return true;
}
+QString OneSixInstance::getComponentVersion(const QString& uid) const
+{
+ if(uid == "net.minecraft")
+ {
+ return settings()->get("IntendedVersion").toString();
+ }
+ else if(uid == "org.lwjgl")
+ {
+ auto version = settings()->get("LWJGLVersion").toString();
+ if(version.isEmpty())
+ {
+ return "2.9.1";
+ }
+ return version;
+ }
+ return QString();
+}
+
QList< Mod > OneSixInstance::getJarMods() const
{
QList<Mod> mods;
@@ -500,12 +536,6 @@ QList< Mod > OneSixInstance::getJarMods() const
return mods;
}
-
-QString OneSixInstance::intendedVersionId() const
-{
- return settings()->get("IntendedVersion").toString();
-}
-
void OneSixInstance::setShouldUpdate(bool)
{
}