mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-06-12 13:17:41 +02:00
NOISSUE remove builtin Minecraft versions
This commit is contained in:
@ -26,7 +26,6 @@
|
||||
|
||||
#include "ParseUtils.h"
|
||||
#include "ProfileUtils.h"
|
||||
#include "VersionFilterData.h"
|
||||
#include "onesix/OneSixVersionFormat.h"
|
||||
#include "MojangVersionFormat.h"
|
||||
#include <FileSystem.h>
|
||||
@ -89,7 +88,6 @@ public:
|
||||
|
||||
MinecraftVersionList::MinecraftVersionList(QObject *parent) : BaseVersionList(parent)
|
||||
{
|
||||
loadBuiltinList();
|
||||
loadCachedList();
|
||||
}
|
||||
|
||||
@ -159,50 +157,6 @@ void MinecraftVersionList::loadCachedList()
|
||||
m_hasLocalIndex = true;
|
||||
}
|
||||
|
||||
void MinecraftVersionList::loadBuiltinList()
|
||||
{
|
||||
qDebug() << "Loading builtin version list.";
|
||||
// grab the version list data from internal resources.
|
||||
const QJsonDocument doc =
|
||||
Json::requireDocument(QString(":/versions/minecraft.json"), "builtin version list");
|
||||
const QJsonObject root = doc.object();
|
||||
|
||||
// parse all the versions
|
||||
for (const auto version : Json::requireArray(root.value("versions")))
|
||||
{
|
||||
QJsonObject versionObj = version.toObject();
|
||||
QString versionID = versionObj.value("id").toString("");
|
||||
QString versionTypeStr = versionObj.value("type").toString("");
|
||||
if (versionID.isEmpty() || versionTypeStr.isEmpty())
|
||||
{
|
||||
qCritical() << "Parsed version is missing ID or type";
|
||||
continue;
|
||||
}
|
||||
|
||||
// Now, we construct the version object and add it to the list.
|
||||
std::shared_ptr<MinecraftVersion> mcVersion(new MinecraftVersion());
|
||||
mcVersion->m_name = mcVersion->m_descriptor = versionID;
|
||||
|
||||
// Parse the timestamp.
|
||||
mcVersion->m_releaseTime = timeFromS3Time(versionObj.value("releaseTime").toString(""));
|
||||
mcVersion->m_versionFileURL = QString();
|
||||
mcVersion->m_versionSource = VersionSource::Builtin;
|
||||
mcVersion->m_type = versionTypeStr;
|
||||
mcVersion->m_appletClass = versionObj.value("appletClass").toString("");
|
||||
mcVersion->m_mainClass = versionObj.value("mainClass").toString("");
|
||||
mcVersion->m_jarChecksum = versionObj.value("checksum").toString("");
|
||||
if (versionObj.contains("+traits"))
|
||||
{
|
||||
for (auto traitVal : Json::requireArray(versionObj.value("+traits")))
|
||||
{
|
||||
mcVersion->m_traits.insert(Json::requireString(traitVal));
|
||||
}
|
||||
}
|
||||
m_lookup[versionID] = mcVersion;
|
||||
m_vlist.append(mcVersion);
|
||||
}
|
||||
}
|
||||
|
||||
void MinecraftVersionList::loadMojangList(QJsonDocument jsonDoc, VersionSource source)
|
||||
{
|
||||
qDebug() << "Loading" << ((source == VersionSource::Remote) ? "remote" : "local") << "version list.";
|
||||
@ -259,11 +213,6 @@ void MinecraftVersionList::loadMojangList(QJsonDocument jsonDoc, VersionSource s
|
||||
mcVersion->m_releaseTime = timeFromS3Time(versionObj.value("releaseTime").toString(""));
|
||||
mcVersion->m_updateTime = timeFromS3Time(versionObj.value("time").toString(""));
|
||||
|
||||
if (mcVersion->m_releaseTime < g_VersionFilterData.legacyCutoffDate)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// depends on where we load the version from -- network request or local file?
|
||||
mcVersion->m_versionSource = source;
|
||||
mcVersion->m_versionFileURL = versionObj.value("url").toString("");
|
||||
|
@ -34,7 +34,6 @@ class MULTIMC_LOGIC_EXPORT MinecraftVersionList : public BaseVersionList
|
||||
Q_OBJECT
|
||||
private:
|
||||
void sortInternal();
|
||||
void loadBuiltinList();
|
||||
void loadMojangList(QJsonDocument jsonDoc, VersionSource source);
|
||||
void loadCachedList();
|
||||
void saveCachedList();
|
||||
|
@ -58,16 +58,11 @@ VersionFilterData::VersionFilterData()
|
||||
|
||||
// don't use installers for those.
|
||||
forgeInstallerBlacklist = QSet<QString>({"1.5.2"});
|
||||
/*
|
||||
* nothing older than this will be accepted from Mojang servers
|
||||
* (these versions need to be tested by us first)
|
||||
*/
|
||||
|
||||
// FIXME: remove, used for deciding when core mods should display
|
||||
legacyCutoffDate = timeFromS3Time("2013-06-25T15:08:56+02:00");
|
||||
lwjglWhitelist =
|
||||
QSet<QString>{"net.java.jinput:jinput", "net.java.jinput:jinput-platform",
|
||||
"net.java.jutils:jutils", "org.lwjgl.lwjgl:lwjgl",
|
||||
"org.lwjgl.lwjgl:lwjgl_util", "org.lwjgl.lwjgl:lwjgl-platform"};
|
||||
|
||||
// Version list magic
|
||||
recommendedMinecraftVersion = "1.7.10";
|
||||
}
|
||||
|
@ -24,7 +24,5 @@ struct VersionFilterData
|
||||
QDateTime legacyCutoffDate;
|
||||
// Libraries that belong to LWJGL
|
||||
QSet<QString> lwjglWhitelist;
|
||||
// Currently recommended minecraft version
|
||||
QString recommendedMinecraftVersion;
|
||||
};
|
||||
extern VersionFilterData MULTIMC_LOGIC_EXPORT g_VersionFilterData;
|
||||
|
Reference in New Issue
Block a user