summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/MinecraftInstance.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-06-16 02:20:23 +0200
committerPetr Mrázek <peterix@gmail.com>2016-08-01 21:15:08 +0200
commit1f2bed2ef119094bdc156aa3a206b93dea5081d1 (patch)
treef154e39d3de3a3d71ed868cf396c4361b04e75c5 /api/logic/minecraft/MinecraftInstance.h
parent57c84ec2b15d8aa6985681f79641f5989c2f049f (diff)
downloadMultiMC-1f2bed2ef119094bdc156aa3a206b93dea5081d1.tar
MultiMC-1f2bed2ef119094bdc156aa3a206b93dea5081d1.tar.gz
MultiMC-1f2bed2ef119094bdc156aa3a206b93dea5081d1.tar.lz
MultiMC-1f2bed2ef119094bdc156aa3a206b93dea5081d1.tar.xz
MultiMC-1f2bed2ef119094bdc156aa3a206b93dea5081d1.zip
NOISSUE implement direct java launch
Just running the Java process and giving it params on the command line
Diffstat (limited to 'api/logic/minecraft/MinecraftInstance.h')
-rw-r--r--api/logic/minecraft/MinecraftInstance.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/api/logic/minecraft/MinecraftInstance.h b/api/logic/minecraft/MinecraftInstance.h
index cd3a8d90..3aef2969 100644
--- a/api/logic/minecraft/MinecraftInstance.h
+++ b/api/logic/minecraft/MinecraftInstance.h
@@ -1,5 +1,6 @@
#pragma once
#include "BaseInstance.h"
+#include <java/JavaVersion.h>
#include "minecraft/Mod.h"
#include <QProcess>
@@ -7,6 +8,7 @@
class ModList;
class WorldList;
+class LaunchStep;
class MULTIMC_LOGIC_EXPORT MinecraftInstance: public BaseInstance
{
@@ -36,7 +38,7 @@ public:
return QList<Mod>();
}
- /// get the launch script to be used with this
+ virtual std::shared_ptr<LaunchTask> createLaunchTask(AuthSessionPtr account) override;
virtual QString createLaunchScript(AuthSessionPtr session) = 0;
//FIXME: nuke?
@@ -60,8 +62,22 @@ public:
virtual QString getStatusbarDescription() override;
+ virtual QStringList getClassPath() const = 0;
+ virtual QStringList getNativeJars() const = 0;
+
+ virtual QString getMainClass() const = 0;
+
+ virtual QString getNativePath() const = 0;
+
+ virtual QStringList processMinecraftArgs(AuthSessionPtr account) const = 0;
+
+ virtual JavaVersion getJavaVersion() const;
+
protected:
QMap<QString, QString> createCensorFilterFromSession(AuthSessionPtr session);
+ virtual QStringList validLaunchMethods() = 0;
+ virtual QString launchMethod();
+ virtual std::shared_ptr<LaunchStep> createMainLaunchStep(LaunchTask *parent, AuthSessionPtr session) = 0;
private:
QString prettifyTimeDuration(int64_t duration);
};