summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/VersionFile.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/minecraft/VersionFile.h')
-rw-r--r--api/logic/minecraft/VersionFile.h28
1 files changed, 21 insertions, 7 deletions
diff --git a/api/logic/minecraft/VersionFile.h b/api/logic/minecraft/VersionFile.h
index e3fb46ed..5aea7a7a 100644
--- a/api/logic/minecraft/VersionFile.h
+++ b/api/logic/minecraft/VersionFile.h
@@ -10,27 +10,26 @@
#include "minecraft/Rule.h"
#include "ProblemProvider.h"
#include "Library.h"
+#include <meta/JsonFormat.h>
-class MinecraftProfile;
+class ComponentList;
class VersionFile;
+class LaunchProfile;
struct MojangDownloadInfo;
struct MojangAssetIndexInfo;
-typedef std::shared_ptr<VersionFile> VersionFilePtr;
+using VersionFilePtr = std::shared_ptr<VersionFile>;
class VersionFile : public ProblemContainer
{
friend class MojangVersionFormat;
friend class OneSixVersionFormat;
public: /* methods */
- void applyTo(MinecraftProfile *profile);
+ void applyTo(LaunchProfile* profile);
public: /* data */
/// MultiMC: order hint for this version file if no explicit order is set
int order = 0;
- /// MultiMC: filename of the file this was loaded from
- // QString filename;
-
/// MultiMC: human readable name of this package
QString name;
@@ -76,7 +75,7 @@ public: /* data */
/// Mojang: list of libraries to add to the version
QList<LibraryPtr> libraries;
- // The main jar (Minecraft version library, normally)
+ /// The main jar (Minecraft version library, normally)
LibraryPtr mainJar;
/// MultiMC: list of attached traits of this version file - used to enable features
@@ -88,6 +87,21 @@ public: /* data */
/// MultiMC: list of mods added to this version
QList<LibraryPtr> mods;
+ /**
+ * MultiMC: set of packages this depends on
+ * NOTE: this is shared with the meta format!!!
+ */
+ Meta::RequireSet requires;
+
+ /**
+ * MultiMC: set of packages this conflicts with
+ * NOTE: this is shared with the meta format!!!
+ */
+ Meta::RequireSet conflicts;
+
+ /// is volatile -- may be removed as soon as it is no longer needed by something else
+ bool m_volatile = false;
+
public:
// Mojang: DEPRECATED list of 'downloads' - client jar, server jar, windows server exe, maybe more.
QMap <QString, std::shared_ptr<MojangDownloadInfo>> mojangDownloads;