GH-991 implement wrapper commands
This commit is contained in:
@ -42,6 +42,7 @@ BaseInstance::BaseInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr s
|
||||
// Custom Commands
|
||||
m_settings->registerSetting({"OverrideCommands","OverrideLaunchCmd"}, false);
|
||||
m_settings->registerOverride(globalSettings->getSetting("PreLaunchCommand"));
|
||||
m_settings->registerOverride(globalSettings->getSetting("WrapperCommand"));
|
||||
m_settings->registerOverride(globalSettings->getSetting("PostExitCommand"));
|
||||
|
||||
// Console
|
||||
|
@ -238,8 +238,27 @@ void MinecraftProcess::arm()
|
||||
QString allArgs = args.join(", ");
|
||||
emit log("Java Arguments:\n[" + censorPrivateInfo(allArgs) + "]\n\n");
|
||||
|
||||
// instantiate the launcher part
|
||||
start(JavaPath, args);
|
||||
QString wrapperCommand = m_instance->settings()->get("WrapperCommand").toString();
|
||||
if(!wrapperCommand.isEmpty())
|
||||
{
|
||||
auto realWrapperCommand = QStandardPaths::findExecutable(wrapperCommand);
|
||||
if (realWrapperCommand.isEmpty())
|
||||
{
|
||||
emit log(tr("The wrapper command \"%1\" couldn't be found.").arg(wrapperCommand), MessageLevel::Warning);
|
||||
m_instance->cleanupAfterRun();
|
||||
emit launch_failed(m_instance);
|
||||
m_instance->setRunning(false);
|
||||
return;
|
||||
}
|
||||
emit log("Wrapper command is:\n" + wrapperCommand + "\n\n");
|
||||
args.prepend(JavaPath);
|
||||
start(wrapperCommand, args);
|
||||
}
|
||||
else
|
||||
{
|
||||
start(JavaPath, args);
|
||||
}
|
||||
|
||||
if (!waitForStarted())
|
||||
{
|
||||
//: Error message displayed if instace can't start
|
||||
|
Reference in New Issue
Block a user