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 "tasks/ConcurrentTask.h"
|
||||
#include "tasks/Task.h"
|
||||
#include "ui/dialogs/ProgressDialog.h"
|
||||
|
||||
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)
|
||||
: 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
|
||||
{
|
||||
@ -332,15 +353,10 @@ bool CoreModFolderPage::shouldDisplay() const
|
||||
return true;
|
||||
|
||||
auto version = inst->getPackProfile();
|
||||
|
||||
if (!version)
|
||||
return true;
|
||||
if (!version->getComponent("net.minecraftforge"))
|
||||
if (!version || !version->getComponent("net.minecraftforge") || !version->getComponent("net.minecraft"))
|
||||
return false;
|
||||
if (!version->getComponent("net.minecraft"))
|
||||
return false;
|
||||
if (version->getComponent("net.minecraft")->getReleaseDateTime() < g_VersionFilterData.legacyCutoffDate)
|
||||
return true;
|
||||
auto minecraftCmp = version->getComponent("net.minecraft");
|
||||
return minecraftCmp->m_loaded && minecraftCmp->getReleaseDateTime() < g_VersionFilterData.legacyCutoffDate;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user