diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-08-24 03:09:46 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-08-24 03:09:46 +0200 |
commit | e3b55067eb51ee82e72b41a1919406d768e00b89 (patch) | |
tree | a22158bc63242191463d450d1a3f37eeb37bba5b /logic/BaseInstance.cpp | |
parent | b78123166627139777fbd206866ee0d1c8bcd040 (diff) | |
download | MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar.gz MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar.lz MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar.xz MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.zip |
Legacy jar reassembly, base of proper custom jar support
Diffstat (limited to 'logic/BaseInstance.cpp')
-rw-r--r-- | logic/BaseInstance.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/logic/BaseInstance.cpp b/logic/BaseInstance.cpp index c2df34e1..bd2aad8a 100644 --- a/logic/BaseInstance.cpp +++ b/logic/BaseInstance.cpp @@ -42,6 +42,15 @@ BaseInstance::BaseInstance( BaseInstancePrivate* d_in, settings().registerSetting(new Setting("notes", "")); settings().registerSetting(new Setting("lastLaunchTime", 0)); + /* + * custom base jar has no default. it is determined in code... see the accessor methods for it + * + * for instances that DO NOT have the CustomBaseJar setting (legacy instances), + * [.]minecraft/bin/mcbackup.jar is the default base jar + */ + settings().registerSetting(new Setting("UseCustomBaseJar", true)); + settings().registerSetting(new Setting("CustomBaseJar", "")); + // Java Settings settings().registerSetting(new Setting("OverrideJava", false)); settings().registerSetting(new OverrideSetting("JavaPath", globalSettings->getSetting("JavaPath"))); @@ -121,6 +130,51 @@ SettingsObject &BaseInstance::settings() const return *d->m_settings; } +QString BaseInstance::baseJar() const +{ + I_D(BaseInstance); + bool customJar = d->m_settings->get("UseCustomBaseJar").toBool(); + if(customJar) + { + return customBaseJar(); + } + else + return defaultBaseJar(); +} + +QString BaseInstance::customBaseJar() const +{ + I_D(BaseInstance); + QString value = d->m_settings->get ( "CustomBaseJar" ).toString(); + if(value.isNull() || value.isEmpty()) + { + return defaultCustomBaseJar(); + } + return value; +} + +void BaseInstance::setCustomBaseJar ( QString val ) +{ + I_D(BaseInstance); + if(val.isNull() || val.isEmpty() || val == defaultCustomBaseJar()) + d->m_settings->reset ( "CustomBaseJar" ); + else + d->m_settings->set ( "CustomBaseJar", val ); +} + +void BaseInstance::setShouldUseCustomBaseJar ( bool val ) +{ + I_D(BaseInstance); + d->m_settings->set ( "UseCustomBaseJar", val ); +} + +bool BaseInstance::shouldUseCustomBaseJar() const +{ + I_D(BaseInstance); + return d->m_settings->get ( "UseCustomBaseJar" ).toBool(); +} + + qint64 BaseInstance::lastLaunch() const { I_D(BaseInstance); |