Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97
2024-06-28 20:45:30 +03:00
116 changed files with 713 additions and 435 deletions

View File

@@ -56,7 +56,7 @@ class MinecraftInstance : public BaseInstance {
Q_OBJECT
public:
MinecraftInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString& rootDir);
virtual ~MinecraftInstance(){};
virtual ~MinecraftInstance() {};
virtual void saveNow() override;
void loadSpecificSettings() override;

View File

@@ -31,7 +31,7 @@ class MinecraftLoadAndCheck : public Task {
Q_OBJECT
public:
explicit MinecraftLoadAndCheck(MinecraftInstance* inst, QObject* parent = 0);
virtual ~MinecraftLoadAndCheck(){};
virtual ~MinecraftLoadAndCheck() {};
void executeTask() override;
private slots:

View File

@@ -33,7 +33,7 @@ class MinecraftUpdate : public Task {
Q_OBJECT
public:
explicit MinecraftUpdate(MinecraftInstance* inst, QObject* parent = 0);
virtual ~MinecraftUpdate(){};
virtual ~MinecraftUpdate() {};
void executeTask() override;
bool canAbort() const override;

View File

@@ -27,7 +27,7 @@ class AuthStep : public QObject {
public:
using Ptr = shared_qobject_ptr<AuthStep>;
explicit AuthStep(AccountData* data) : QObject(nullptr), m_data(data){};
explicit AuthStep(AccountData* data) : QObject(nullptr), m_data(data) {};
virtual ~AuthStep() noexcept = default;
virtual QString describe() = 0;

View File

@@ -22,7 +22,7 @@ class ClaimAccount : public LaunchStep {
Q_OBJECT
public:
explicit ClaimAccount(LaunchTask* parent, AuthSessionPtr session);
virtual ~ClaimAccount(){};
virtual ~ClaimAccount() {};
void executeTask() override;
void finalize() override;

View File

@@ -24,7 +24,7 @@ class CreateGameFolders : public LaunchStep {
Q_OBJECT
public:
explicit CreateGameFolders(LaunchTask* parent);
virtual ~CreateGameFolders(){};
virtual ~CreateGameFolders() {};
virtual void executeTask();
virtual bool canAbort() const { return false; }

View File

@@ -21,8 +21,8 @@
class ExtractNatives : public LaunchStep {
Q_OBJECT
public:
explicit ExtractNatives(LaunchTask* parent) : LaunchStep(parent){};
virtual ~ExtractNatives(){};
explicit ExtractNatives(LaunchTask* parent) : LaunchStep(parent) {};
virtual ~ExtractNatives() {};
void executeTask() override;
bool canAbort() const override { return false; }

View File

@@ -178,6 +178,7 @@ void LauncherPartLaunch::on_state(LoggedProcess::State state)
APPLICATION->showMainWindow();
m_parent->setPid(-1);
m_parent->instance()->setMinecraftRunning(false);
// if the exit code wasn't 0, report this as a crash
auto exitCode = m_process.exitCode();
if (exitCode != 0) {
@@ -193,7 +194,6 @@ void LauncherPartLaunch::on_state(LoggedProcess::State state)
case LoggedProcess::Running:
emit logLine(QString("Minecraft process ID: %1\n\n").arg(m_process.processId()), MessageLevel::Launcher);
m_parent->setPid(m_process.processId());
m_parent->instance()->setLastLaunch();
// send the launch script to the launcher part
m_process.write(m_launchScript.toUtf8());
@@ -213,6 +213,7 @@ void LauncherPartLaunch::setWorkingDirectory(const QString& wd)
void LauncherPartLaunch::proceed()
{
if (mayProceed) {
m_parent->instance()->setMinecraftRunning(true);
QString launchString("launch\n");
m_process.write(launchString.toUtf8());
mayProceed = false;

View File

@@ -25,7 +25,7 @@ class LauncherPartLaunch : public LaunchStep {
Q_OBJECT
public:
explicit LauncherPartLaunch(LaunchTask* parent);
virtual ~LauncherPartLaunch(){};
virtual ~LauncherPartLaunch() {};
virtual void executeTask();
virtual bool abort();

View File

@@ -21,8 +21,8 @@
class ModMinecraftJar : public LaunchStep {
Q_OBJECT
public:
explicit ModMinecraftJar(LaunchTask* parent) : LaunchStep(parent){};
virtual ~ModMinecraftJar(){};
explicit ModMinecraftJar(LaunchTask* parent) : LaunchStep(parent) {};
virtual ~ModMinecraftJar() {};
virtual void executeTask() override;
virtual bool canAbort() const override { return false; }

View File

@@ -25,8 +25,8 @@ class PrintInstanceInfo : public LaunchStep {
Q_OBJECT
public:
explicit PrintInstanceInfo(LaunchTask* parent, AuthSessionPtr session, MinecraftServerTargetPtr serverToJoin)
: LaunchStep(parent), m_session(session), m_serverToJoin(serverToJoin){};
virtual ~PrintInstanceInfo(){};
: LaunchStep(parent), m_session(session), m_serverToJoin(serverToJoin) {};
virtual ~PrintInstanceInfo() {};
virtual void executeTask();
virtual bool canAbort() const { return false; }

View File

@@ -21,8 +21,8 @@
class ReconstructAssets : public LaunchStep {
Q_OBJECT
public:
explicit ReconstructAssets(LaunchTask* parent) : LaunchStep(parent){};
virtual ~ReconstructAssets(){};
explicit ReconstructAssets(LaunchTask* parent) : LaunchStep(parent) {};
virtual ~ReconstructAssets() {};
void executeTask() override;
bool canAbort() const override { return false; }

View File

@@ -21,8 +21,8 @@
class ScanModFolders : public LaunchStep {
Q_OBJECT
public:
explicit ScanModFolders(LaunchTask* parent) : LaunchStep(parent){};
virtual ~ScanModFolders(){};
explicit ScanModFolders(LaunchTask* parent) : LaunchStep(parent) {};
virtual ~ScanModFolders() {};
virtual void executeTask() override;
virtual bool canAbort() const override { return false; }

View File

@@ -42,7 +42,7 @@ class VerifyJavaInstall : public LaunchStep {
Q_OBJECT
public:
explicit VerifyJavaInstall(LaunchTask* parent) : LaunchStep(parent){};
explicit VerifyJavaInstall(LaunchTask* parent) : LaunchStep(parent) {};
~VerifyJavaInstall() override = default;
void executeTask() override;

View File

@@ -28,15 +28,52 @@
#include "Version.h"
// Values taken from:
// https://minecraft.wiki/w/Tutorials/Creating_a_data_pack#%22pack_format%22
static const QMap<int, std::pair<Version, Version>> s_pack_format_versions = {
{ 4, { Version("1.13"), Version("1.14.4") } }, { 5, { Version("1.15"), Version("1.16.1") } },
{ 6, { Version("1.16.2"), Version("1.16.5") } }, { 7, { Version("1.17"), Version("1.17.1") } },
{ 8, { Version("1.18"), Version("1.18.1") } }, { 9, { Version("1.18.2"), Version("1.18.2") } },
{ 10, { Version("1.19"), Version("1.19.3") } }, { 11, { Version("23w03a"), Version("23w05a") } },
{ 12, { Version("1.19.4"), Version("1.19.4") } }, { 13, { Version("23w12a"), Version("23w14a") } },
{ 14, { Version("23w16a"), Version("23w17a") } }, { 15, { Version("1.20"), Version("1.20") } },
};
// https://minecraft.wiki/w/Pack_format#List_of_data_pack_formats
static const QMap<int, std::pair<Version, Version>> s_pack_format_versions = { { 4, { Version("1.13"), Version("1.14.4") } },
{ 5, { Version("1.15"), Version("1.16.1") } },
{ 6, { Version("1.16.2"), Version("1.16.5") } },
{ 7, { Version("1.17"), Version("1.17.1") } },
{ 8, { Version("1.18"), Version("1.18.1") } },
{ 9, { Version("1.18.2"), Version("1.18.2") } },
{ 10, { Version("1.19"), Version("1.19.3") } },
{ 11, { Version("23w03a"), Version("23w05a") } },
{ 12, { Version("1.19.4"), Version("1.19.4") } },
{ 13, { Version("23w12a"), Version("23w14a") } },
{ 14, { Version("23w16a"), Version("23w17a") } },
{ 15, { Version("1.20"), Version("1.20.1") } },
{ 16, { Version("23w31a"), Version("23w31a") } },
{ 17, { Version("23w32a"), Version("23w35a") } },
{ 18, { Version("1.20.2"), Version("1.20.2") } },
{ 19, { Version("23w40a"), Version("23w40a") } },
{ 20, { Version("23w41a"), Version("23w41a") } },
{ 21, { Version("23w42a"), Version("23w42a") } },
{ 22, { Version("23w43a"), Version("23w43b") } },
{ 23, { Version("23w44a"), Version("23w44a") } },
{ 24, { Version("23w45a"), Version("23w45a") } },
{ 25, { Version("23w46a"), Version("23w46a") } },
{ 26, { Version("1.20.3"), Version("1.20.4") } },
{ 27, { Version("23w51a"), Version("23w51b") } },
{ 28, { Version("24w05a"), Version("24w05b") } },
{ 29, { Version("24w04a"), Version("24w04a") } },
{ 30, { Version("24w05a"), Version("24w05b") } },
{ 31, { Version("24w06a"), Version("24w06a") } },
{ 32, { Version("24w07a"), Version("24w07a") } },
{ 33, { Version("24w09a"), Version("24w09a") } },
{ 34, { Version("24w10a"), Version("24w10a") } },
{ 35, { Version("24w11a"), Version("24w11a") } },
{ 36, { Version("24w12a"), Version("24w12a") } },
{ 37, { Version("24w13a"), Version("24w13a") } },
{ 38, { Version("24w14a"), Version("24w14a") } },
{ 39, { Version("1.20.5-pre1"), Version("1.20.5-pre1") } },
{ 40, { Version("1.20.5-pre2"), Version("1.20.5-pre2") } },
{ 41, { Version("1.20.5"), Version("1.20.6") } },
{ 42, { Version("24w18a"), Version("24w18a") } },
{ 43, { Version("24w19a"), Version("24w19b") } },
{ 44, { Version("24w20a"), Version("24w20a") } },
{ 45, { Version("21w21a"), Version("21w21b") } },
{ 46, { Version("1.21-pre1"), Version("1.21-pre1") } },
{ 47, { Version("1.21-pre2"), Version("1.21-pre2") } },
{ 48, { Version("1.21"), Version("1.21") } } };
void DataPack::setPackFormat(int new_format_id)
{

View File

@@ -50,8 +50,6 @@
#include "minecraft/mod/tasks/LocalModParseTask.h"
#include "modplatform/ModIndex.h"
static ModPlatform::ProviderCapabilities ProviderCaps;
Mod::Mod(const QFileInfo& file) : Resource(file), m_local_details()
{
m_enabled = (file.suffix() != "disabled");
@@ -250,7 +248,7 @@ void Mod::finishResolvingWithDetails(ModDetails&& details)
auto Mod::provider() const -> std::optional<QString>
{
if (metadata())
return ProviderCaps.readableName(metadata()->provider);
return ModPlatform::ProviderCapabilities::readableName(metadata()->provider);
return {};
}

View File

@@ -65,9 +65,9 @@ ModFolderModel::ModFolderModel(const QString& dir, BaseInstance* instance, bool
: ResourceFolderModel(QDir(dir), instance, nullptr, create_dir), m_is_indexed(is_indexed)
{
m_column_names = QStringList({ "Enable", "Image", "Name", "Version", "Last Modified", "Provider", "Size", "Side", "Loaders",
"Miecraft Versions", "Release Type" });
"Minecraft Versions", "Release Type" });
m_column_names_translated = QStringList({ tr("Enable"), tr("Image"), tr("Name"), tr("Version"), tr("Last Modified"), tr("Provider"),
tr("Size"), tr("Side"), tr("Loaders"), tr("Miecraft Versions"), tr("Release Type") });
tr("Size"), tr("Side"), tr("Loaders"), tr("Minecraft Versions"), tr("Release Type") });
m_column_sort_keys = { SortType::ENABLED, SortType::NAME, SortType::NAME, SortType::VERSION,
SortType::DATE, SortType::PROVIDER, SortType::SIZE, SortType::SIDE,
SortType::LOADERS, SortType::MC_VERSIONS, SortType::RELEASE_TYPE };

View File

@@ -282,8 +282,7 @@ void ResourceFolderModel::resolveResource(Resource* res)
connect(
task.get(), &Task::succeeded, this, [=] { onParseSucceeded(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
connect(
task.get(), &Task::failed, this, [=] { onParseFailed(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
connect(task.get(), &Task::failed, this, [=] { onParseFailed(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
connect(
task.get(), &Task::finished, this,
[=] {

View File

@@ -11,15 +11,24 @@
#include "minecraft/mod/tasks/LocalResourcePackParseTask.h"
// Values taken from:
// https://minecraft.wiki/w/Tutorials/Creating_a_resource_pack#Formatting_pack.mcmeta
// https://minecraft.wiki/w/Pack_format#List_of_resource_pack_formats
static const QMap<int, std::pair<Version, Version>> s_pack_format_versions = {
{ 1, { Version("1.6.1"), Version("1.8.9") } }, { 2, { Version("1.9"), Version("1.10.2") } },
{ 3, { Version("1.11"), Version("1.12.2") } }, { 4, { Version("1.13"), Version("1.14.4") } },
{ 5, { Version("1.15"), Version("1.16.1") } }, { 6, { Version("1.16.2"), Version("1.16.5") } },
{ 7, { Version("1.17"), Version("1.17.1") } }, { 8, { Version("1.18"), Version("1.18.2") } },
{ 9, { Version("1.19"), Version("1.19.2") } }, { 11, { Version("22w42a"), Version("22w44a") } },
{ 12, { Version("1.19.3"), Version("1.19.3") } }, { 13, { Version("1.19.4"), Version("1.19.4") } },
{ 14, { Version("1.20"), Version("1.20") } }
{ 1, { Version("1.6.1"), Version("1.8.9") } }, { 2, { Version("1.9"), Version("1.10.2") } },
{ 3, { Version("1.11"), Version("1.12.2") } }, { 4, { Version("1.13"), Version("1.14.4") } },
{ 5, { Version("1.15"), Version("1.16.1") } }, { 6, { Version("1.16.2"), Version("1.16.5") } },
{ 7, { Version("1.17"), Version("1.17.1") } }, { 8, { Version("1.18"), Version("1.18.2") } },
{ 9, { Version("1.19"), Version("1.19.2") } }, { 11, { Version("22w42a"), Version("22w44a") } },
{ 12, { Version("1.19.3"), Version("1.19.3") } }, { 13, { Version("1.19.4"), Version("1.19.4") } },
{ 14, { Version("23w14a"), Version("23w16a") } }, { 15, { Version("1.20"), Version("1.20.1") } },
{ 16, { Version("23w31a"), Version("23w31a") } }, { 17, { Version("23w32a"), Version("23w35a") } },
{ 18, { Version("1.20.2"), Version("23w16a") } }, { 19, { Version("23w42a"), Version("23w42a") } },
{ 20, { Version("23w43a"), Version("23w44a") } }, { 21, { Version("23w45a"), Version("23w46a") } },
{ 22, { Version("1.20.3-pre1"), Version("23w51b") } }, { 24, { Version("24w03a"), Version("24w04a") } },
{ 25, { Version("24w05a"), Version("24w05b") } }, { 26, { Version("24w06a"), Version("24w07a") } },
{ 28, { Version("24w09a"), Version("24w10a") } }, { 29, { Version("24w11a"), Version("24w11a") } },
{ 30, { Version("24w12a"), Version("23w12a") } }, { 31, { Version("24w13a"), Version("1.20.5-pre3") } },
{ 32, { Version("1.20.5-pre4"), Version("1.20.6") } }, { 33, { Version("24w18a"), Version("24w20a") } },
{ 34, { Version("24w21a"), Version("1.21") } }
};
void ResourcePack::setPackFormat(int new_format_id)

View File

@@ -37,7 +37,6 @@
#include "Application.h"
#include "StringUtils.h"
#include "TexturePackFolderModel.h"
#include "minecraft/mod/tasks/BasicFolderLoadTask.h"

View File

@@ -9,7 +9,7 @@ class FMLLibrariesTask : public Task {
Q_OBJECT
public:
FMLLibrariesTask(MinecraftInstance* inst);
virtual ~FMLLibrariesTask(){};
virtual ~FMLLibrariesTask() {};
void executeTask() override;

View File

@@ -7,7 +7,7 @@ class FoldersTask : public Task {
Q_OBJECT
public:
FoldersTask(MinecraftInstance* inst);
virtual ~FoldersTask(){};
virtual ~FoldersTask() {};
void executeTask() override;

View File

@@ -7,7 +7,7 @@ class LibrariesTask : public Task {
Q_OBJECT
public:
LibrariesTask(MinecraftInstance* inst);
virtual ~LibrariesTask(){};
virtual ~LibrariesTask() {};
void executeTask() override;