Merge pull request #2018 from Trial97/coremods
Ensure that core mods tab is visible on correct versions
This commit is contained in:
commit
23c69e7f94
@ -68,6 +68,7 @@
|
|||||||
|
|
||||||
#include "Version.h"
|
#include "Version.h"
|
||||||
#include "tasks/ConcurrentTask.h"
|
#include "tasks/ConcurrentTask.h"
|
||||||
|
#include "tasks/Task.h"
|
||||||
#include "ui/dialogs/ProgressDialog.h"
|
#include "ui/dialogs/ProgressDialog.h"
|
||||||
|
|
||||||
ModFolderPage::ModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> mods, QWidget* parent)
|
ModFolderPage::ModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> mods, QWidget* parent)
|
||||||
@ -322,7 +323,27 @@ void ModFolderPage::updateMods(bool includeDeps)
|
|||||||
|
|
||||||
CoreModFolderPage::CoreModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> mods, QWidget* parent)
|
CoreModFolderPage::CoreModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> mods, QWidget* parent)
|
||||||
: ModFolderPage(inst, mods, parent)
|
: ModFolderPage(inst, mods, parent)
|
||||||
{}
|
{
|
||||||
|
auto mcInst = dynamic_cast<MinecraftInstance*>(m_instance);
|
||||||
|
if (mcInst) {
|
||||||
|
auto version = mcInst->getPackProfile();
|
||||||
|
if (version && version->getComponent("net.minecraftforge") && version->getComponent("net.minecraft")) {
|
||||||
|
auto minecraftCmp = version->getComponent("net.minecraft");
|
||||||
|
if (!minecraftCmp->m_loaded) {
|
||||||
|
version->reload(Net::Mode::Offline);
|
||||||
|
auto update = version->getCurrentTask();
|
||||||
|
if (update) {
|
||||||
|
connect(update.get(), &Task::finished, this, [this] {
|
||||||
|
if (m_container) {
|
||||||
|
m_container->refreshContainer();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
update->start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool CoreModFolderPage::shouldDisplay() const
|
bool CoreModFolderPage::shouldDisplay() const
|
||||||
{
|
{
|
||||||
@ -332,15 +353,10 @@ bool CoreModFolderPage::shouldDisplay() const
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
auto version = inst->getPackProfile();
|
auto version = inst->getPackProfile();
|
||||||
|
if (!version || !version->getComponent("net.minecraftforge") || !version->getComponent("net.minecraft"))
|
||||||
if (!version)
|
|
||||||
return true;
|
|
||||||
if (!version->getComponent("net.minecraftforge"))
|
|
||||||
return false;
|
return false;
|
||||||
if (!version->getComponent("net.minecraft"))
|
auto minecraftCmp = version->getComponent("net.minecraft");
|
||||||
return false;
|
return minecraftCmp->m_loaded && minecraftCmp->getReleaseDateTime() < g_VersionFilterData.legacyCutoffDate;
|
||||||
if (version->getComponent("net.minecraft")->getReleaseDateTime() < g_VersionFilterData.legacyCutoffDate)
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user