Implement recommendedRam in CurseForge export

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad
2025-04-29 14:40:20 +01:00
parent 75d4ef1828
commit ee52127044
3 changed files with 13 additions and 3 deletions

View File

@ -47,7 +47,8 @@ FlamePackExportTask::FlamePackExportTask(const QString& name,
bool optionalFiles, bool optionalFiles,
InstancePtr instance, InstancePtr instance,
const QString& output, const QString& output,
MMCZip::FilterFunction filter) MMCZip::FilterFunction filter,
int recommendedRAM)
: name(name) : name(name)
, version(version) , version(version)
, author(author) , author(author)
@ -57,6 +58,7 @@ FlamePackExportTask::FlamePackExportTask(const QString& name,
, gameRoot(instance->gameRoot()) , gameRoot(instance->gameRoot())
, output(output) , output(output)
, filter(filter) , filter(filter)
, m_recommendedRAM(recommendedRAM)
{} {}
void FlamePackExportTask::executeTask() void FlamePackExportTask::executeTask()
@ -411,6 +413,10 @@ QByteArray FlamePackExportTask::generateIndex()
loader["primary"] = true; loader["primary"] = true;
version["modLoaders"] = QJsonArray({ loader }); version["modLoaders"] = QJsonArray({ loader });
} }
if (m_recommendedRAM > 0)
version["recommendedRam"] = m_recommendedRAM;
obj["minecraft"] = version; obj["minecraft"] = version;
} }

View File

@ -34,7 +34,8 @@ class FlamePackExportTask : public Task {
bool optionalFiles, bool optionalFiles,
InstancePtr instance, InstancePtr instance,
const QString& output, const QString& output,
MMCZip::FilterFunction filter); MMCZip::FilterFunction filter,
int recommendedRAM);
protected: protected:
void executeTask() override; void executeTask() override;
@ -52,6 +53,7 @@ class FlamePackExportTask : public Task {
const QDir gameRoot; const QDir gameRoot;
const QString output; const QString output;
const MMCZip::FilterFunction filter; const MMCZip::FilterFunction filter;
const int m_recommendedRAM;
struct ResolvedFile { struct ResolvedFile {
int addonId; int addonId;

View File

@ -172,8 +172,10 @@ void ExportPackDialog::done(int result)
task = new ModrinthPackExportTask(name, m_ui->version->text(), m_ui->summary->toPlainText(), m_ui->optionalFiles->isChecked(), task = new ModrinthPackExportTask(name, m_ui->version->text(), m_ui->summary->toPlainText(), m_ui->optionalFiles->isChecked(),
m_instance, output, std::bind(&FileIgnoreProxy::filterFile, m_proxy, std::placeholders::_1)); m_instance, output, std::bind(&FileIgnoreProxy::filterFile, m_proxy, std::placeholders::_1));
} else { } else {
int recommendedRAM = m_ui->recommendedMemoryCheckBox->isChecked() ? m_ui->recommendedMemory->value() : 0;
task = new FlamePackExportTask(name, m_ui->version->text(), m_ui->author->text(), m_ui->optionalFiles->isChecked(), m_instance, task = new FlamePackExportTask(name, m_ui->version->text(), m_ui->author->text(), m_ui->optionalFiles->isChecked(), m_instance,
output, std::bind(&FileIgnoreProxy::filterFile, m_proxy, std::placeholders::_1)); output, std::bind(&FileIgnoreProxy::filterFile, m_proxy, std::placeholders::_1), recommendedRAM);
} }
connect(task, &Task::failed, connect(task, &Task::failed,