aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modrinth
diff options
context:
space:
mode:
authorTheKodeToad <TheKodeToad@proton.me>2023-08-12 21:18:22 +0100
committerTheKodeToad <TheKodeToad@proton.me>2023-08-12 21:20:51 +0100
commit5056a51c188ef366d5ea13b6794dd14b11f78075 (patch)
treef559a49912d5ba9553f69847f7841784a14f7153 /launcher/modplatform/modrinth
parent3aba7f8fec45c7c87be486d8f6b5c96f69facf93 (diff)
downloadPrismLauncher-5056a51c188ef366d5ea13b6794dd14b11f78075.tar.gz
PrismLauncher-5056a51c188ef366d5ea13b6794dd14b11f78075.tar.bz2
PrismLauncher-5056a51c188ef366d5ea13b6794dd14b11f78075.zip
Improvements and refinements to pack export
- Persist fields - Toggle optional files Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/modplatform/modrinth')
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackExportTask.cpp24
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackExportTask.h2
2 files changed, 16 insertions, 10 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
index 7bf29639..ffd21501 100644
--- a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
@@ -33,12 +33,14 @@ const QStringList ModrinthPackExportTask::FILE_EXTENSIONS({ "jar", "litemod", "z
ModrinthPackExportTask::ModrinthPackExportTask(const QString& name,
const QString& version,
const QString& summary,
+ bool optionalFiles,
InstancePtr instance,
const QString& output,
MMCZip::FilterFunction filter)
: name(name)
, version(version)
, summary(summary)
+ , optionalFiles(optionalFiles)
, instance(instance)
, mcInstance(dynamic_cast<MinecraftInstance*>(instance.get()))
, gameRoot(instance->gameRoot())
@@ -267,16 +269,18 @@ QByteArray ModrinthPackExportTask::generateIndex()
QString path = iterator.key();
const ResolvedFile& value = iterator.value();
- // detect disabled mod
- const QFileInfo pathInfo(path);
- if (pathInfo.suffix() == "disabled") {
- // rename it
- path = pathInfo.dir().filePath(pathInfo.completeBaseName());
- // ...and make it optional
- QJsonObject env;
- env["client"] = "optional";
- env["server"] = "optional";
- fileOut["env"] = env;
+ if (optionalFiles) {
+ // detect disabled mod
+ const QFileInfo pathInfo(path);
+ if (pathInfo.suffix() == "disabled") {
+ // rename it
+ path = pathInfo.dir().filePath(pathInfo.completeBaseName());
+ // ...and make it optional
+ QJsonObject env;
+ env["client"] = "optional";
+ env["server"] = "optional";
+ fileOut["env"] = env;
+ }
}
fileOut["path"] = path;
diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.h b/launcher/modplatform/modrinth/ModrinthPackExportTask.h
index 1f9e0eb7..83540dfa 100644
--- a/launcher/modplatform/modrinth/ModrinthPackExportTask.h
+++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.h
@@ -31,6 +31,7 @@ class ModrinthPackExportTask : public Task {
ModrinthPackExportTask(const QString& name,
const QString& version,
const QString& summary,
+ bool optionalFiles,
InstancePtr instance,
const QString& output,
MMCZip::FilterFunction filter);
@@ -50,6 +51,7 @@ class ModrinthPackExportTask : public Task {
// inputs
const QString name, version, summary;
+ const bool optionalFiles;
const InstancePtr instance;
MinecraftInstance* mcInstance;
const QDir gameRoot;