From 47e37635f50c09b4f9a9ee7699e3120bab3e4088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 10 Apr 2016 04:29:29 +0200 Subject: NOISSUE split GUI stuff from logic library --- libraries/logic/minecraft/MinecraftInstance.h | 69 +++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 libraries/logic/minecraft/MinecraftInstance.h (limited to 'libraries/logic/minecraft/MinecraftInstance.h') diff --git a/libraries/logic/minecraft/MinecraftInstance.h b/libraries/logic/minecraft/MinecraftInstance.h new file mode 100644 index 00000000..cd3a8d90 --- /dev/null +++ b/libraries/logic/minecraft/MinecraftInstance.h @@ -0,0 +1,69 @@ +#pragma once +#include "BaseInstance.h" +#include "minecraft/Mod.h" +#include + +#include "multimc_logic_export.h" + +class ModList; +class WorldList; + +class MULTIMC_LOGIC_EXPORT MinecraftInstance: public BaseInstance +{ +public: + MinecraftInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString &rootDir); + virtual ~MinecraftInstance() {}; + + /// Path to the instance's minecraft directory. + QString minecraftRoot() const; + + ////// Mod Lists ////// + virtual std::shared_ptr resourcePackList() const + { + return nullptr; + } + virtual std::shared_ptr texturePackList() const + { + return nullptr; + } + virtual std::shared_ptr worldList() const + { + return nullptr; + } + /// get all jar mods applicable to this instance's jar + virtual QList getJarMods() const + { + return QList(); + } + + /// get the launch script to be used with this + virtual QString createLaunchScript(AuthSessionPtr session) = 0; + + //FIXME: nuke? + virtual std::shared_ptr versionList() const override; + + /// get arguments passed to java + QStringList javaArguments() const; + + /// get variables for launch command variable substitution/environment + virtual QMap getVariables() const override; + + /// create an environment for launching processes + virtual QProcessEnvironment createEnvironment() override; + + /// guess log level from a line of minecraft log + virtual MessageLevel::Enum guessLevel(const QString &line, MessageLevel::Enum level) override; + + virtual IPathMatcher::Ptr getLogFileMatcher() override; + + virtual QString getLogFileRoot() override; + + virtual QString getStatusbarDescription() override; + +protected: + QMap createCensorFilterFromSession(AuthSessionPtr session); +private: + QString prettifyTimeDuration(int64_t duration); +}; + +typedef std::shared_ptr MinecraftInstancePtr; -- cgit v1.2.3