diff options
author | Petr Mrázek <peterix@gmail.com> | 2017-03-30 01:05:58 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2017-04-07 00:20:02 +0200 |
commit | 2ac0edbbdb27e12bae00c4779da135582bde89f5 (patch) | |
tree | 0870890a8f00bb958a679175691724da727df580 /api/logic/minecraft/onesix/OneSixInstance.cpp | |
parent | 53188386b807f1f1ca5eebcd08303633ca4a13fb (diff) | |
download | MultiMC-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.cpp | 44 |
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) { } |