summaryrefslogtreecommitdiffstats
path: root/logic/minecraft/VersionFilterData.h
blob: 98db248402af51383c237940918797551c15e24e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once
#include <QMap>
#include <QString>
#include <QSet>
#include <QDateTime>

#include "multimc_logic_export.h"

struct FMLlib
{
	QString filename;
	QString checksum;
	bool ours;
};

struct VersionFilterData
{
	VersionFilterData();
	// mapping between minecraft versions and FML libraries required
	QMap<QString, QList<FMLlib>> fmlLibsMapping;
	// set of minecraft versions for which using forge installers is blacklisted
	QSet<QString> forgeInstallerBlacklist;
	// set of 'legacy' versions that will not show up in the version lists.
	QSet<QString> legacyBlacklist;
	// no new versions below this date will be accepted from Mojang servers
	QDateTime legacyCutoffDate;
	// Libraries that belong to LWJGL
	QSet<QString> lwjglWhitelist;
	// Currently recommended minecraft version
	QString recommendedMinecraftVersion;
	// Currently discouraged java version (anything equal and above will be discouraged)
	QString discouragedJavaVersion;
};
extern VersionFilterData MULTIMC_LOGIC_EXPORT g_VersionFilterData;