mirror of
https://github.com/MultiMC/MultiMC5.git
synced 2024-10-04 13:59:44 +00:00
NOISSUE Improve modloader support detection
This commit is contained in:
parent
b69ab34f4b
commit
bb8e02a2f2
@ -70,4 +70,7 @@ VersionFilterData::VersionFilterData()
|
||||
java16BeginsDate = timeFromS3Time("2021-05-12T11:19:15+00:00");
|
||||
java17BeginsDate = timeFromS3Time("2021-11-16T17:04:48+00:00");
|
||||
quickPlayBeginsDate = timeFromS3Time("2023-04-05T12:05:17+00:00");
|
||||
liteLoaderEndsDate = timeFromS3Time("2017-09-18T08:39:46+00:00");
|
||||
fabricBeginsDate = timeFromS3Time("2019-04-23T14:52:44+00:00");
|
||||
neoForgeBeginsDate = timeFromS3Time("2023-09-20T09:02:57+00:00");
|
||||
}
|
||||
|
@ -29,5 +29,11 @@ struct VersionFilterData
|
||||
QDateTime java17BeginsDate;
|
||||
// release date of first version to use --quickPlayMultiplayer instead of --server/--port for directly joining servers
|
||||
QDateTime quickPlayBeginsDate;
|
||||
// release date of last version to support LiteLoader (1.12.2)
|
||||
QDateTime liteLoaderEndsDate;
|
||||
// release date of first version supported by Fabric/Quilt (1.14)
|
||||
QDateTime fabricBeginsDate;
|
||||
// release date of first version supported by NeoForge (1.20.2)
|
||||
QDateTime neoForgeBeginsDate;
|
||||
};
|
||||
extern VersionFilterData g_VersionFilterData;
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "minecraft/PackProfile.h"
|
||||
#include "minecraft/auth/AccountList.h"
|
||||
#include "minecraft/mod/Mod.h"
|
||||
#include "minecraft/VersionFilterData.h"
|
||||
#include "icons/IconList.h"
|
||||
#include "Exception.h"
|
||||
#include "Version.h"
|
||||
@ -209,16 +210,19 @@ void VersionPage::updateRunningStatus(bool running)
|
||||
|
||||
void VersionPage::updateVersionControls()
|
||||
{
|
||||
// FIXME: this is a dirty hack
|
||||
auto minecraftVersion = Version(m_profile->getComponentVersion("net.minecraft"));
|
||||
// FIXME: This is better than the broken stuff we had before, but it would probably be better to handle this in meta somehow
|
||||
auto minecraftReleaseDate = m_profile->getComponent("net.minecraft")->getReleaseDateTime();
|
||||
|
||||
bool supportsFabric = minecraftVersion >= Version("1.14");
|
||||
bool supportsFabric = minecraftReleaseDate >= g_VersionFilterData.fabricBeginsDate;
|
||||
ui->actionInstall_Fabric->setEnabled(controlsEnabled && supportsFabric);
|
||||
ui->actionInstall_Quilt->setEnabled((controlsEnabled) && supportsFabric);
|
||||
|
||||
bool supportsLiteLoader = minecraftVersion <= Version("1.12.2");
|
||||
bool supportsLiteLoader = minecraftReleaseDate <= g_VersionFilterData.liteLoaderEndsDate;
|
||||
ui->actionInstall_LiteLoader->setEnabled(controlsEnabled && supportsLiteLoader);
|
||||
|
||||
bool supportsNeoForge = minecraftReleaseDate >= g_VersionFilterData.neoForgeBeginsDate;
|
||||
ui->actionInstall_NeoForge->setEnabled(controlsEnabled && supportsNeoForge);
|
||||
|
||||
updateButtons();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user