Skip to content

Commit 58e04b1

Browse files
authored
feat(modpacks): restore support for ftb modpacks, and fetch official curseforge api key (#149)
2 parents eb00913 + bdbeeca commit 58e04b1

24 files changed

Lines changed: 2100 additions & 22 deletions

launcher/Application.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
#include "net/PasteUpload.h"
5151
#include "tasks/Task.h"
5252
#include "tools/GenericProfiler.h"
53+
#include "ui/GuiUtil.h"
5354
#include "ui/InstanceWindow.h"
5455
#include "ui/MainWindow.h"
5556
#include "ui/ToolTipFilter.h"
@@ -70,6 +71,7 @@
7071
#include "ui/pages/global/ProxyPage.h"
7172

7273
#include "ui/setupwizard/AutoJavaWizardPage.h"
74+
#include "ui/setupwizard/FlameApiKeyWizardPage.h"
7375
#include "ui/setupwizard/JavaWizardPage.h"
7476
#include "ui/setupwizard/LanguageWizardPage.h"
7577
#include "ui/setupwizard/LoginWizardPage.h"
@@ -923,6 +925,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
923925
m_settings->set("FlameKeyOverride", flameKey);
924926
m_settings->reset("CFKeyOverride");
925927
}
928+
m_settings->registerSetting("FlameKeyShouldBeFetchedOnStartup", true);
926929
m_settings->registerSetting("ModrinthToken", "");
927930
m_settings->registerSetting("UserAgentOverride", "");
928931

@@ -1046,6 +1049,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
10461049
m_metacache->addBase("FlameMods", QDir("cache/FlameMods").absolutePath());
10471050
m_metacache->addBase("ModrinthPacks", QDir("cache/ModrinthPacks").absolutePath());
10481051
m_metacache->addBase("ModrinthModpacks", QDir("cache/ModrinthModpacks").absolutePath());
1052+
m_metacache->addBase("ModpacksCHPacks", QDir("cache/ModpacksCHPacks").absolutePath());
10491053
m_metacache->addBase("translations", QDir("translations").absolutePath());
10501054
m_metacache->addBase("meta", QDir("meta").absolutePath());
10511055
m_metacache->addBase("java", QDir("cache/java").absolutePath());
@@ -1262,8 +1266,10 @@ bool Application::createSetupWizard()
12621266
bool validWidgets = m_themeManager->isValidApplicationTheme(settings()->get("ApplicationTheme").toString());
12631267
bool validIcons = m_themeManager->isValidIconTheme(settings()->get("IconTheme").toString());
12641268
bool login = !m_accounts->anyAccountIsValid() && capabilities() & Application::SupportsMSA;
1269+
bool fetchFlameAPIKey = settings()->get("FlameKeyShouldBeFetchedOnStartup").toBool();
12651270
bool themeInterventionRequired = !validWidgets || !validIcons;
1266-
bool wizardRequired = javaRequired || languageRequired || pasteInterventionRequired || themeInterventionRequired || askjava || login;
1271+
bool wizardRequired =
1272+
javaRequired || languageRequired || pasteInterventionRequired || themeInterventionRequired || askjava || login || fetchFlameAPIKey;
12671273
if (wizardRequired) {
12681274
// set default theme after going into theme wizard
12691275
if (!validIcons)
@@ -1303,6 +1309,11 @@ bool Application::createSetupWizard()
13031309
if (login) {
13041310
m_setupWizard->addPage(new LoginWizardPage(m_setupWizard));
13051311
}
1312+
1313+
if (fetchFlameAPIKey) {
1314+
m_setupWizard->addPage(new FlameAPIKeyWizardPage(m_setupWizard));
1315+
}
1316+
13061317
connect(m_setupWizard, &QDialog::finished, this, &Application::setupWizardFinished);
13071318
m_setupWizard->show();
13081319
}

launcher/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ set(NET_SOURCES
119119
net/ChecksumValidator.h
120120
net/Download.cpp
121121
net/Download.h
122+
net/FetchFlameAPIKey.cpp
123+
net/FetchFlameAPIKey.h
122124
net/FileSink.cpp
123125
net/FileSink.h
124126
net/Head.cpp
@@ -587,6 +589,13 @@ set(MODRINTH_SOURCES
587589
modplatform/modrinth/ModrinthPackExportTask.h
588590
)
589591

592+
set(MODPACKSCH_SOURCES
593+
modplatform/modpacksch/FTBPackInstallTask.h
594+
modplatform/modpacksch/FTBPackInstallTask.cpp
595+
modplatform/modpacksch/FTBPackManifest.h
596+
modplatform/modpacksch/FTBPackManifest.cpp
597+
)
598+
590599
set(PACKWIZ_SOURCES
591600
modplatform/packwiz/Packwiz.h
592601
modplatform/packwiz/Packwiz.cpp
@@ -814,6 +823,7 @@ set(LOGIC_SOURCES
814823
${FTB_SOURCES}
815824
${FLAME_SOURCES}
816825
${MODRINTH_SOURCES}
826+
${MODPACKSCH_SOURCES}
817827
${PACKWIZ_SOURCES}
818828
${TECHNIC_SOURCES}
819829
${ATLAUNCHER_SOURCES}
@@ -903,6 +913,8 @@ SET(LAUNCHER_SOURCES
903913
ui/setupwizard/SetupWizard.h
904914
ui/setupwizard/SetupWizard.cpp
905915
ui/setupwizard/BaseWizardPage.h
916+
ui/setupwizard/FlameApiKeyWizardPage.cpp
917+
ui/setupwizard/FlameApiKeyWizardPage.h
906918
ui/setupwizard/JavaWizardPage.cpp
907919
ui/setupwizard/JavaWizardPage.h
908920
ui/setupwizard/LanguageWizardPage.cpp
@@ -1056,6 +1068,13 @@ SET(LAUNCHER_SOURCES
10561068
ui/pages/modplatform/atlauncher/AtlUserInteractionSupportImpl.cpp
10571069
ui/pages/modplatform/atlauncher/AtlUserInteractionSupportImpl.h
10581070

1071+
ui/pages/modplatform/ftb/FtbFilterModel.cpp
1072+
ui/pages/modplatform/ftb/FtbFilterModel.h
1073+
ui/pages/modplatform/ftb/FtbListModel.cpp
1074+
ui/pages/modplatform/ftb/FtbListModel.h
1075+
ui/pages/modplatform/ftb/FtbPage.cpp
1076+
ui/pages/modplatform/ftb/FtbPage.h
1077+
10591078
ui/pages/modplatform/legacy_ftb/Page.cpp
10601079
ui/pages/modplatform/legacy_ftb/Page.h
10611080
ui/pages/modplatform/legacy_ftb/ListModel.h
@@ -1291,6 +1310,7 @@ qt_wrap_ui(LAUNCHER_UI
12911310
ui/pages/modplatform/import_ftb/ImportFTBPage.ui
12921311
ui/pages/modplatform/ImportPage.ui
12931312
ui/pages/modplatform/OptionalModDialog.ui
1313+
ui/pages/modplatform/ftb/FtbPage.ui
12941314
ui/pages/modplatform/modrinth/ModrinthPage.ui
12951315
ui/pages/modplatform/technic/TechnicPage.ui
12961316
ui/widgets/CustomCommands.ui

0 commit comments

Comments
 (0)