From 5ff6fbf4648d286ff0f07a4dbf37c0b72651f66b Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Wed, 28 Aug 2013 04:38:29 +0200 Subject: Basic 1.6 mod management (no jar mods) --- logic/OneSixInstance.cpp | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) (limited to 'logic/OneSixInstance.cpp') diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp index 44af6707..8609e4a1 100644 --- a/logic/OneSixInstance.cpp +++ b/logic/OneSixInstance.cpp @@ -8,6 +8,7 @@ #include #include #include +#include OneSixInstance::OneSixInstance ( const QString& rootDir, SettingsObject* setting_obj, QObject* parent ) : BaseInstance ( new OneSixInstancePrivate(), rootDir, setting_obj, parent ) @@ -155,12 +156,35 @@ void OneSixInstance::cleanupAfterRun() dir.removeRecursively(); } -QDialog * OneSixInstance::createModEditDialog ( QWidget* parent ) +QSharedPointer< ModList > OneSixInstance::loaderModList() +{ + I_D(OneSixInstance); + if(!d->loader_mod_list) + { + d->loader_mod_list.reset(new ModList(loaderModsDir())); + } + else + d->loader_mod_list->update(); + return d->loader_mod_list; +} + +QSharedPointer< ModList > OneSixInstance::resourcePackList() { - return nullptr; + I_D(OneSixInstance); + if(!d->resource_pack_list) + { + d->resource_pack_list.reset(new ModList(resourcePacksDir())); + } + else + d->resource_pack_list->update(); + return d->resource_pack_list; } +QDialog * OneSixInstance::createModEditDialog ( QWidget* parent ) +{ + return new OneSixModEditDialog(this, parent); +} bool OneSixInstance::setIntendedVersionId ( QString version ) { @@ -215,7 +239,7 @@ bool OneSixInstance::reloadFullVersion() return false; } -QSharedPointer< FullVersion > OneSixInstance::getFullVersion() +QSharedPointer< OneSixVersion > OneSixInstance::getFullVersion() { I_D(OneSixInstance); return d->version; @@ -235,8 +259,6 @@ bool OneSixInstance::menuActionEnabled ( QString action_name ) const { if(action_name == "actionChangeInstLWJGLVersion") return false; - if(action_name == "actionEditInstMods") - return false; return true; } @@ -245,6 +267,16 @@ QString OneSixInstance::getStatusbarDescription() return "One Six : " + intendedVersionId(); } +QString OneSixInstance::loaderModsDir() const +{ + return PathCombine(minecraftRoot(), "mods"); +} + +QString OneSixInstance::resourcePacksDir() const +{ + return PathCombine(minecraftRoot(), "resourcepacks"); +} + QString OneSixInstance::instanceConfigFolder() const { return PathCombine(minecraftRoot(), "config"); -- cgit