summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/ComponentList.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2017-11-04 22:55:25 +0100
committerPetr Mrázek <peterix@gmail.com>2017-11-17 15:44:13 +0100
commit17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96 (patch)
tree47330451b2a147ee54b2e63c5a1e614e4f88268b /api/logic/minecraft/ComponentList.h
parent3470158943acb9fc4439ea255fe3ea0fbc7dbc85 (diff)
downloadMultiMC-17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96.tar
MultiMC-17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96.tar.gz
MultiMC-17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96.tar.lz
MultiMC-17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96.tar.xz
MultiMC-17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96.zip
NOISSUE split out the LaunchProfile out of the ComponentList
Diffstat (limited to 'api/logic/minecraft/ComponentList.h')
-rw-r--r--api/logic/minecraft/ComponentList.h88
1 files changed, 5 insertions, 83 deletions
diff --git a/api/logic/minecraft/ComponentList.h b/api/logic/minecraft/ComponentList.h
index a566d8f5..0811a829 100644
--- a/api/logic/minecraft/ComponentList.h
+++ b/api/logic/minecraft/ComponentList.h
@@ -22,11 +22,11 @@
#include <memory>
#include "Library.h"
+#include "LaunchProfile.h"
#include "ProfilePatch.h"
#include "ProfileUtils.h"
#include "BaseVersion.h"
#include "MojangDownloadInfo.h"
-
#include "multimc_logic_export.h"
class MinecraftInstance;
@@ -80,45 +80,11 @@ public:
/// reload all profile patches from storage, clear the profile and apply the patches
void reload();
- /// clear the profile
- void clear();
-
/// apply the patches. Catches all the errors and returns true/false for success/failure
bool reapplyPatches();
-public: /* application of profile variables from patches */
- void applyMinecraftVersion(const QString& id);
- void applyMainClass(const QString& mainClass);
- void applyAppletClass(const QString& appletClass);
- void applyMinecraftArguments(const QString& minecraftArguments);
- void applyMinecraftVersionType(const QString& type);
- void applyMinecraftAssets(MojangAssetIndexInfo::Ptr assets);
- void applyTraits(const QSet<QString> &traits);
- void applyTweakers(const QStringList &tweakers);
- void applyJarMods(const QList<LibraryPtr> &jarMods);
- void applyMods(const QList<LibraryPtr> &jarMods);
- void applyLibrary(LibraryPtr library);
- void applyMainJar(LibraryPtr jar);
- void applyProblemSeverity(ProblemSeverity severity);
-
-public: /* getters for profile variables */
- QString getMinecraftVersion() const;
- QString getMainClass() const;
- QString getAppletClass() const;
- QString getMinecraftVersionType() const;
- MojangAssetIndexInfo::Ptr getMinecraftAssets() const;
- QString getMinecraftArguments() const;
- const QSet<QString> & getTraits() const;
- const QStringList & getTweakers() const;
- const QList<LibraryPtr> & getJarMods() const;
- const QList<LibraryPtr> & getLibraries() const;
- const QList<LibraryPtr> & getNativeLibraries() const;
- const LibraryPtr getMainJar() const;
- void getLibraryFiles(const QString & architecture, QStringList & jars, QStringList & nativeJars, const QString & overridePath,
- const QString & tempPath) const;
- bool hasTrait(const QString & trait) const;
- ProblemSeverity getProblemSeverity() const;
-
+ std::shared_ptr<LaunchProfile> getProfile() const;
+ void clearProfile();
public:
/// get the profile patch by id
ProfilePatchPtr versionPatch(const QString &id);
@@ -149,55 +115,11 @@ private:
void upgradeDeprecatedFiles_internal();
private: /* data */
- /// the version of Minecraft - jar to use
- QString m_minecraftVersion;
-
- /// Release type - "release" or "snapshot"
- QString m_minecraftVersionType;
-
- /// Assets type - "legacy" or a version ID
- MojangAssetIndexInfo::Ptr m_minecraftAssets;
-
- /**
- * arguments that should be used for launching minecraft
- *
- * ex: "--username ${auth_player_name} --session ${auth_session}
- * --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets}"
- */
- QString m_minecraftArguments;
-
- /// A list of all tweaker classes
- QStringList m_tweakers;
-
- /// The main class to load first
- QString m_mainClass;
-
- /// The applet class, for some very old minecraft releases
- QString m_appletClass;
-
- /// the list of libraries
- QList<LibraryPtr> m_libraries;
-
- /// the main jar
- LibraryPtr m_mainJar;
-
- /// the list of libraries
- QList<LibraryPtr> m_nativeLibraries;
-
- /// traits, collected from all the version files (version files can only add)
- QSet<QString> m_traits;
-
- /// A list of jar mods. version files can add those.
- QList<LibraryPtr> m_jarMods;
-
- /// the list of mods
- QList<LibraryPtr> m_mods;
-
- ProblemSeverity m_problemSeverity = ProblemSeverity::None;
-
/// list of attached profile patches
QList<ProfilePatchPtr> m_patches;
// the instance this belongs to
MinecraftInstance *m_instance;
+
+ std::shared_ptr<LaunchProfile> m_profile;
};