diff options
Diffstat (limited to 'logic/OneSixInstance.h')
-rw-r--r-- | logic/OneSixInstance.h | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/logic/OneSixInstance.h b/logic/OneSixInstance.h index 13a392c2..75caef1f 100644 --- a/logic/OneSixInstance.h +++ b/logic/OneSixInstance.h @@ -17,10 +17,11 @@ #include "BaseInstance.h" -#include "VersionFinal.h" -#include "ModList.h" +#include "logic/minecraft/InstanceVersion.h" +#include "logic/ModList.h" +#include "gui/pages/BasePageProvider.h" -class OneSixInstance : public BaseInstance +class OneSixInstance : public BaseInstance, public BasePageProvider { Q_OBJECT public: @@ -30,13 +31,25 @@ public: virtual void init() override; + ////// Edit Instance Dialog stuff ////// + virtual QList<BasePage *> getPages(); + virtual QString dialogTitle(); + ////// Mod Lists ////// std::shared_ptr<ModList> loaderModList(); - std::shared_ptr<ModList> resourcePackList(); - - ////// Directories ////// + std::shared_ptr<ModList> coreModList(); + std::shared_ptr<ModList> resourcePackList() override; + std::shared_ptr<ModList> texturePackList() override; + + virtual QSet<QString> traits(); + + ////// Directories and files ////// + QString jarModsDir() const; QString resourcePacksDir() const; + QString texturePacksDir() const; QString loaderModsDir() const; + QString coreModsDir() const; + QString libDir() const; virtual QString instanceConfigFolder() const override; virtual std::shared_ptr<Task> doUpdate() override; @@ -52,42 +65,43 @@ public: virtual bool shouldUpdate() const override; virtual void setShouldUpdate(bool val) override; - virtual QDialog *createModEditDialog(QWidget *parent) override; - /** - * reload the full version json files. return true on success! + * reload the full version json files. * * throws various exceptions :3 */ void reloadVersion(); + /// clears all version information in preparation for an update void clearVersion(); + /// get the current full version info - std::shared_ptr<VersionFinal> getFullVersion() const; - /// gets the current version info, but only for version.json - std::shared_ptr<VersionFinal> getVanillaVersion() const; + std::shared_ptr<InstanceVersion> getFullVersion() const; + /// is the current version original, or custom? virtual bool versionIsCustom() override; + /// does this instance have an FTB pack patch inside? bool versionIsFTBPack(); virtual QString defaultBaseJar() const override; virtual QString defaultCustomBaseJar() const override; - virtual bool menuActionEnabled(QString action_name) const override; virtual QString getStatusbarDescription() override; + virtual QDir jarmodsPath() const; virtual QDir librariesPath() const; virtual QDir versionsPath() const; virtual QStringList externalPatches() const; virtual bool providesVersionFile() const; bool reload() override; - + virtual QStringList extraArguments() const override; + signals: void versionReloaded(); private: QStringList processMinecraftArgs(AuthSessionPtr account); - QDir reconstructAssets(std::shared_ptr<VersionFinal> version); + QDir reconstructAssets(std::shared_ptr<InstanceVersion> version); }; |