aboutsummaryrefslogtreecommitdiff
path: root/launcher/LaunchController.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2021-10-31 21:42:06 +0100
committerPetr Mrázek <peterix@gmail.com>2021-10-31 21:43:33 +0100
commit27f276ef13f49b4d21b6c17db5d4cd5e404ea259 (patch)
treeec4f42a099b6f3df467536b0c9a9ac9e0677ab53 /launcher/LaunchController.h
parent393d17b8d383d7514b45ba980cc0246859bad085 (diff)
downloadPrismLauncher-27f276ef13f49b4d21b6c17db5d4cd5e404ea259.tar.gz
PrismLauncher-27f276ef13f49b4d21b6c17db5d4cd5e404ea259.tar.bz2
PrismLauncher-27f276ef13f49b4d21b6c17db5d4cd5e404ea259.zip
GH-1795 add terminal launch option to use a specific Minecraft profile
Used like this: ``` ./MultiMC --launch 1.17.1 --profile MultiMCTest --server mc.hypixel.net ```
Diffstat (limited to 'launcher/LaunchController.h')
-rw-r--r--launcher/LaunchController.h32
1 files changed, 20 insertions, 12 deletions
diff --git a/launcher/LaunchController.h b/launcher/LaunchController.h
index 5f177e00..7ed4b09e 100644
--- a/launcher/LaunchController.h
+++ b/launcher/LaunchController.h
@@ -4,6 +4,7 @@
#include <tools/BaseProfiler.h>
#include "minecraft/launch/MinecraftServerTarget.h"
+#include "minecraft/auth/MinecraftAccount.h"
class InstanceWindow;
class LaunchController: public Task
@@ -15,39 +16,45 @@ public:
LaunchController(QObject * parent = nullptr);
virtual ~LaunchController(){};
- void setInstance(InstancePtr instance)
- {
+ void setInstance(InstancePtr instance) {
m_instance = instance;
}
- InstancePtr instance()
- {
+
+ InstancePtr instance() {
return m_instance;
}
- void setOnline(bool online)
- {
+
+ void setOnline(bool online) {
m_online = online;
}
- void setProfiler(BaseProfilerFactory *profiler)
- {
+
+ void setProfiler(BaseProfilerFactory *profiler) {
m_profiler = profiler;
}
- void setParentWidget(QWidget * widget)
- {
+
+ void setParentWidget(QWidget * widget) {
m_parentWidget = widget;
}
- void setServerToJoin(MinecraftServerTargetPtr serverToJoin)
- {
+
+ void setServerToJoin(MinecraftServerTargetPtr serverToJoin) {
m_serverToJoin = std::move(serverToJoin);
}
+
+ void setAccountToUse(MinecraftAccountPtr accountToUse) {
+ m_accountToUse = std::move(accountToUse);
+ }
+
QString id()
{
return m_instance->id();
}
+
bool abort() override;
private:
void login();
void launchInstance();
+ void decideAccount();
private slots:
void readyForLaunch();
@@ -62,6 +69,7 @@ private:
InstancePtr m_instance;
QWidget * m_parentWidget = nullptr;
InstanceWindow *m_console = nullptr;
+ MinecraftAccountPtr m_accountToUse = nullptr;
AuthSessionPtr m_session;
shared_qobject_ptr<LaunchTask> m_launcher;
MinecraftServerTargetPtr m_serverToJoin;