diff options
Diffstat (limited to 'api/logic/minecraft/VersionFile.h')
-rw-r--r-- | api/logic/minecraft/VersionFile.h | 28 |
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; |