summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/forge/ForgeVersion.h
blob: e77d32f1a1957b50d44482d8d2494392e3b6a9c0 (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
35
36
37
38
39
40
41
42
#pragma once
#include <QString>
#include <memory>
#include "BaseVersion.h"

struct ForgeVersion;
typedef std::shared_ptr<ForgeVersion> ForgeVersionPtr;

struct ForgeVersion : public BaseVersion
{
	virtual QString descriptor() override;
	virtual QString name() override;
	virtual QString typeString() const override;
	virtual bool operator<(BaseVersion &a) override;
	virtual bool operator>(BaseVersion &a) override;

	QString filename();
	QString url();
	
	enum
	{
		Invalid,
		Legacy,
		Gradle
	} type = Invalid;
	
	bool usesInstaller();

	int m_buildnr = 0;
	QString branch;
	QString universal_url;
	QString changelog_url;
	QString installer_url;
	QString jobbuildver;
	QString mcver;
	QString mcver_sane;
	QString universal_filename;
	QString installer_filename;
	bool is_recommended = false;
};

Q_DECLARE_METATYPE(ForgeVersionPtr)