summaryrefslogtreecommitdiffstats
path: root/api/logic/InstanceCreationTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/InstanceCreationTask.cpp')
-rw-r--r--api/logic/InstanceCreationTask.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/api/logic/InstanceCreationTask.cpp b/api/logic/InstanceCreationTask.cpp
index 21892f82..8a68815a 100644
--- a/api/logic/InstanceCreationTask.cpp
+++ b/api/logic/InstanceCreationTask.cpp
@@ -5,6 +5,7 @@
//FIXME: remove this
#include "minecraft/MinecraftInstance.h"
+#include "minecraft/ComponentList.h"
InstanceCreationTask::InstanceCreationTask(SettingsObjectPtr settings, const QString & stagingPath, BaseVersionPtr version,
const QString& instName, const QString& instIcon, const QString& instGroup)
@@ -25,11 +26,13 @@ void InstanceCreationTask::executeTask()
instanceSettings->suspendSave();
instanceSettings->registerSetting("InstanceType", "Legacy");
instanceSettings->set("InstanceType", "OneSix");
- auto inst = new MinecraftInstance(m_globalSettings, instanceSettings, m_stagingPath);
- inst->setComponentVersion("net.minecraft", m_version->descriptor());
- inst->setName(m_instName);
- inst->setIconKey(m_instIcon);
- inst->init();
+ MinecraftInstance inst(m_globalSettings, instanceSettings, m_stagingPath);
+ auto components = inst.getComponentList();
+ components->buildingFromScratch();
+ components->setComponentVersion("net.minecraft", m_version->descriptor(), true);
+ inst.setName(m_instName);
+ inst.setIconKey(m_instIcon);
+ inst.init();
instanceSettings->resumeSave();
}
emitSucceeded();