From 6e80f03409054293bdbbcd0ce87b607a811016d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 2 Oct 2016 00:26:10 +0200 Subject: NOISSUE add instance-local library storage Any libraries stored in $instanceroot/libraries/ will override the libraries from MultiMC's global folders, as long as they are marked 'local' in the json patch. --- api/logic/minecraft/onesix/OneSixInstance.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'api/logic/minecraft/onesix/OneSixInstance.cpp') diff --git a/api/logic/minecraft/onesix/OneSixInstance.cpp b/api/logic/minecraft/onesix/OneSixInstance.cpp index 1bf75bdb..d89a7612 100644 --- a/api/logic/minecraft/onesix/OneSixInstance.cpp +++ b/api/logic/minecraft/onesix/OneSixInstance.cpp @@ -145,6 +145,12 @@ QString OneSixInstance::getNativePath() const return natives_dir.absolutePath(); } +QString OneSixInstance::getLocalLibraryPath() const +{ + QDir libraries_dir(FS::PathCombine(instanceRoot(), "libraries/")); + return libraries_dir.absolutePath(); +} + QString OneSixInstance::mainJarPath() const { auto jarMods = getJarMods(); @@ -207,7 +213,7 @@ QString OneSixInstance::createLaunchScript(AuthSessionPtr session) { QStringList jars, nativeJars; auto javaArchitecture = settings()->get("JavaArchitecture").toString(); - m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars); + m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars, getLocalLibraryPath()); for(auto file: jars) { launchScript += "cp " + file + "\n"; @@ -251,7 +257,7 @@ QStringList OneSixInstance::verboseDescription(AuthSessionPtr session) out << "Libraries:"; QStringList jars, nativeJars; auto javaArchitecture = settings()->get("JavaArchitecture").toString(); - m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars); + m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars, getLocalLibraryPath()); auto printLibFile = [&](const QString & path) { QFileInfo info(path); @@ -654,7 +660,7 @@ QStringList OneSixInstance::getClassPath() const { QStringList jars, nativeJars; auto javaArchitecture = settings()->get("JavaArchitecture").toString(); - m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars); + m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars, getLocalLibraryPath()); jars.append(mainJarPath()); return jars; } @@ -668,6 +674,6 @@ QStringList OneSixInstance::getNativeJars() const { QStringList jars, nativeJars; auto javaArchitecture = settings()->get("JavaArchitecture").toString(); - m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars); + m_profile->getLibraryFiles(javaArchitecture, jars, nativeJars, getLocalLibraryPath()); return nativeJars; } -- cgit v1.2.3