API: Add settings to support managed packs
Managed packs means an installation of a modpack through a modpack provider. Managed packs track their origins (pack platform, name, id), so that in future features can exist around this - such as updating, and reinstalling.
This commit is contained in:
parent
699ad316f0
commit
e7f35e6ca3
@ -2,6 +2,7 @@
|
|||||||
/*
|
/*
|
||||||
* PolyMC - Minecraft Launcher
|
* PolyMC - Minecraft Launcher
|
||||||
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
|
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
|
||||||
|
* Copyright (c) 2022 Jamie Mansfield <jmansfield@cadixdev.org>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -76,6 +77,14 @@ BaseInstance::BaseInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr s
|
|||||||
|
|
||||||
m_settings->registerPassthrough(globalSettings->getSetting("ConsoleMaxLines"), nullptr);
|
m_settings->registerPassthrough(globalSettings->getSetting("ConsoleMaxLines"), nullptr);
|
||||||
m_settings->registerPassthrough(globalSettings->getSetting("ConsoleOverflowStop"), nullptr);
|
m_settings->registerPassthrough(globalSettings->getSetting("ConsoleOverflowStop"), nullptr);
|
||||||
|
|
||||||
|
// Managed Packs
|
||||||
|
m_settings->registerSetting("ManagedPack", false);
|
||||||
|
m_settings->registerSetting("ManagedPackType", "");
|
||||||
|
m_settings->registerSetting("ManagedPackID", "");
|
||||||
|
m_settings->registerSetting("ManagedPackName", "");
|
||||||
|
m_settings->registerSetting("ManagedPackVersionID", "");
|
||||||
|
m_settings->registerSetting("ManagedPackVersionName", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
QString BaseInstance::getPreLaunchCommand()
|
QString BaseInstance::getPreLaunchCommand()
|
||||||
@ -93,6 +102,46 @@ QString BaseInstance::getPostExitCommand()
|
|||||||
return settings()->get("PostExitCommand").toString();
|
return settings()->get("PostExitCommand").toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool BaseInstance::isManagedPack()
|
||||||
|
{
|
||||||
|
return settings()->get("ManagedPack").toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BaseInstance::getManagedPackType()
|
||||||
|
{
|
||||||
|
return settings()->get("ManagedPackType").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BaseInstance::getManagedPackID()
|
||||||
|
{
|
||||||
|
return settings()->get("ManagedPackID").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BaseInstance::getManagedPackName()
|
||||||
|
{
|
||||||
|
return settings()->get("ManagedPackName").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BaseInstance::getManagedPackVersionID()
|
||||||
|
{
|
||||||
|
return settings()->get("ManagedPackVersionID").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BaseInstance::getManagedPackVersionName()
|
||||||
|
{
|
||||||
|
return settings()->get("ManagedPackVersionName").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BaseInstance::setManagedPack(const QString& type, const QString& id, const QString& name, const QString& versionId, const QString& version)
|
||||||
|
{
|
||||||
|
settings()->set("ManagedPack", true);
|
||||||
|
settings()->set("ManagedPackType", type);
|
||||||
|
settings()->set("ManagedPackID", id);
|
||||||
|
settings()->set("ManagedPackName", name);
|
||||||
|
settings()->set("ManagedPackVersionID", versionId);
|
||||||
|
settings()->set("ManagedPackVersionName", version);
|
||||||
|
}
|
||||||
|
|
||||||
int BaseInstance::getConsoleMaxLines() const
|
int BaseInstance::getConsoleMaxLines() const
|
||||||
{
|
{
|
||||||
auto lineSetting = settings()->getSetting("ConsoleMaxLines");
|
auto lineSetting = settings()->getSetting("ConsoleMaxLines");
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
/*
|
/*
|
||||||
* PolyMC - Minecraft Launcher
|
* PolyMC - Minecraft Launcher
|
||||||
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
|
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
|
||||||
|
* Copyright (c) 2022 Jamie Mansfield <jmansfield@cadixdev.org>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -139,6 +140,14 @@ public:
|
|||||||
QString getPostExitCommand();
|
QString getPostExitCommand();
|
||||||
QString getWrapperCommand();
|
QString getWrapperCommand();
|
||||||
|
|
||||||
|
bool isManagedPack();
|
||||||
|
QString getManagedPackType();
|
||||||
|
QString getManagedPackID();
|
||||||
|
QString getManagedPackName();
|
||||||
|
QString getManagedPackVersionID();
|
||||||
|
QString getManagedPackVersionName();
|
||||||
|
void setManagedPack(const QString& type, const QString& id, const QString& name, const QString& versionId, const QString& version);
|
||||||
|
|
||||||
/// guess log level from a line of game log
|
/// guess log level from a line of game log
|
||||||
virtual MessageLevel::Enum guessLevel(const QString &line, MessageLevel::Enum level)
|
virtual MessageLevel::Enum guessLevel(const QString &line, MessageLevel::Enum level)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user