diff options
38 files changed, 884 insertions, 262 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4309c55f..a8686023 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -620,6 +620,7 @@ set(MULTIMC_QRCS resources/backgrounds/backgrounds.qrc resources/multimc/multimc.qrc resources/instances/instances.qrc + resources/versions/versions.qrc ) diff --git a/depends/launcher/org/multimc/onesix/OneSixLauncher.java b/depends/launcher/org/multimc/onesix/OneSixLauncher.java index 784c3522..4a0c9589 100644 --- a/depends/launcher/org/multimc/onesix/OneSixLauncher.java +++ b/depends/launcher/org/multimc/onesix/OneSixLauncher.java @@ -22,11 +22,7 @@ import java.io.File; import java.awt.*; import java.io.IOException; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; import java.util.ArrayList; import java.util.List; @@ -38,6 +34,7 @@ public class OneSixLauncher implements Launcher private List<String> mcparams; private List<String> mods; private List<String> traits; + private String appletClass; private String mainClass; private String natives; private String userName, sessionId; @@ -57,7 +54,8 @@ public class OneSixLauncher implements Launcher libraries = params.all("cp"); extlibs = params.all("ext"); mcparams = params.all("param"); - mainClass = params.first("mainClass"); + mainClass = params.firstSafe("mainClass", "net.minecraft.client.Minecraft"); + appletClass = params.firstSafe("appletClass", "net.minecraft.client.MinecraftApplet"); mods = params.allSafe("mods", new ArrayList<String>()); traits = params.allSafe("traits", new ArrayList<String>()); natives = params.first("natives"); @@ -134,12 +132,13 @@ public class OneSixLauncher implements Launcher if (f == null) { - System.err.println("Could not find Minecraft path field. Launch failed."); - return -1; + System.err.println("Could not find Minecraft path field."); + } + else + { + f.setAccessible(true); + f.set(null, new File(cwd)); } - - f.setAccessible(true); - f.set(null, new File(cwd)); } catch (Exception e) { System.err.println("Could not set base folder. Failed to find/access Minecraft main class:"); @@ -156,7 +155,7 @@ public class OneSixLauncher implements Launcher Utils.log("Launching with applet wrapper..."); try { - Class<?> MCAppletClass = cl.loadClass("net.minecraft.client.MinecraftApplet"); + Class<?> MCAppletClass = cl.loadClass(appletClass); Applet mcappl = (Applet) MCAppletClass.newInstance(); LegacyFrame mcWindow = new LegacyFrame(windowTitle); mcWindow.start(mcappl, userName, sessionId, winSize, maximize); @@ -307,7 +306,7 @@ public class OneSixLauncher implements Launcher // grab the system classloader and ... cl = ClassLoader.getSystemClassLoader(); - if (traits.contains("legacyLaunch")) + if (traits.contains("legacyLaunch") || traits.contains("alphaLaunch") ) { // legacy launch uses the applet wrapper return legacyLaunch(); diff --git a/logic/MinecraftVersion.h b/logic/MinecraftVersion.h index 6cbfebbe..61f803b5 100644 --- a/logic/MinecraftVersion.h +++ b/logic/MinecraftVersion.h @@ -21,44 +21,52 @@ struct MinecraftVersion : public BaseVersion { - /*! - * Gets the version's timestamp. - * This is primarily used for sorting versions in a list. - */ + /// The version's timestamp - this is primarily used for sorting versions in a list. qint64 timestamp; /// The URL that this version will be downloaded from. maybe. QString download_url; - /// extra features enabled for this Minecraft version. Mostly for compatibility - QSet <QString> features; - /// is this the latest version? bool is_latest = false; /// is this a snapshot? bool is_snapshot = false; + /// is this a built-in version that comes with MultiMC? + bool is_builtin = false; + + /// the human readable version name QString m_name; + /// the version ID. QString m_descriptor; + /// version traits. generally launcher business... + QSet<QString> m_traits; + + /// The main class this version uses (if any, can be empty). + QString m_mainClass; + + /// The applet class this version uses (if any, can be empty). + QString m_appletClass; + bool usesLegacyLauncher() { - return features.contains("legacy"); + return m_traits.contains("legacyLaunch") || m_traits.contains("aplhaLaunch"); } - virtual QString descriptor() + virtual QString descriptor() override { return m_descriptor; } - virtual QString name() + virtual QString name() override { return m_name; } - virtual QString typeString() const + virtual QString typeString() const override { if (is_latest && is_snapshot) { @@ -70,7 +78,11 @@ struct MinecraftVersion : public BaseVersion } else if(is_snapshot) { - return QObject::tr("Old snapshot"); + return QObject::tr("Snapshot"); + } + else if(is_builtin) + { + return QObject::tr("Museum piece"); } else { diff --git a/logic/OneSixFTBInstance.cpp b/logic/OneSixFTBInstance.cpp index 34118111..131dbde3 100644 --- a/logic/OneSixFTBInstance.cpp +++ b/logic/OneSixFTBInstance.cpp @@ -100,6 +100,7 @@ QDir OneSixFTBInstance::librariesPath() const { return QDir(MMC->settings()->get("FTBRoot").toString() + "/libraries"); } + QDir OneSixFTBInstance::versionsPath() const { return QDir(MMC->settings()->get("FTBRoot").toString() + "/versions"); diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp index a351a5be..67953f95 100644 --- a/logic/OneSixInstance.cpp +++ b/logic/OneSixInstance.cpp @@ -224,6 +224,10 @@ bool OneSixInstance::prepareForLaunch(AuthSessionPtr account, QString &launchScr launchScript += "cp " + versionsPath().absoluteFilePath(minecraftjarpath) + "\n"; } launchScript += "mainClass " + version->mainClass + "\n"; + if(!version->appletClass.isEmpty()) + { + launchScript += "appletClass " + version->appletClass + "\n"; + } // generic minecraft params for (auto param : processMinecraftArgs(account)) diff --git a/logic/VersionFile.cpp b/logic/VersionFile.cpp index 222750d4..87936b6a 100644 --- a/logic/VersionFile.cpp +++ b/logic/VersionFile.cpp @@ -163,13 +163,14 @@ VersionFilePtr VersionFile::fromJson(const QJsonDocument &doc, const QString &fi } readString("mainClass", out->mainClass); + readString("appletClass", out->appletClass); readString("processArguments", out->processArguments); readString("minecraftArguments", out->overwriteMinecraftArguments); readString("+minecraftArguments", out->addMinecraftArguments); readString("-minecraftArguments", out->removeMinecraftArguments); readString("type", out->type); - readString("releaseTime", out->releaseTime); - readString("time", out->time); + readString("releaseTime", out->versionReleaseTime); + readString("time", out->versionFileUpdateTime); readString("assets", out->assets); if (root.contains("minimumLauncherVersion")) @@ -404,6 +405,10 @@ void VersionFile::applyTo(VersionFinal *version) { version->mainClass = mainClass; } + if (!appletClass.isNull()) + { + version->appletClass = appletClass; + } if (!processArguments.isNull()) { if(isVanilla()) @@ -416,13 +421,13 @@ void VersionFile::applyTo(VersionFinal *version) { version->type = type; } - if (!releaseTime.isNull()) + if (!versionReleaseTime.isNull()) { - version->releaseTime = releaseTime; + version->versionReleaseTime = versionReleaseTime; } - if (!time.isNull()) + if (!versionFileUpdateTime.isNull()) { - version->time = time; + version->time = versionFileUpdateTime; } if (!assets.isNull()) { diff --git a/logic/VersionFile.h b/logic/VersionFile.h index 2332e6d4..ae0c58a0 100644 --- a/logic/VersionFile.h +++ b/logic/VersionFile.h @@ -118,13 +118,14 @@ public: /* data */ // QMap<QString, QString> requirements; QString id; QString mainClass; + QString appletClass; QString overwriteMinecraftArguments; QString addMinecraftArguments; QString removeMinecraftArguments; QString processArguments; QString type; - QString releaseTime; - QString time; + QString versionReleaseTime; + QString versionFileUpdateTime; QString assets; int minimumLauncherVersion = -1; diff --git a/logic/VersionFinal.cpp b/logic/VersionFinal.cpp index 5bac4bcf..b8690740 100644 --- a/logic/VersionFinal.cpp +++ b/logic/VersionFinal.cpp @@ -42,13 +42,14 @@ void VersionFinal::clear() { id.clear(); time.clear(); - releaseTime.clear(); + versionReleaseTime.clear(); type.clear(); assets.clear(); processArguments.clear(); minecraftArguments.clear(); minimumLauncherVersion = 0xDEADBEAF; mainClass.clear(); + appletClass.clear(); libraries.clear(); tweakers.clear(); jarMods.clear(); @@ -426,10 +427,5 @@ void VersionFinal::finalize() }; finalizeArguments(vanillaMinecraftArguments, vanillaProcessArguments); finalizeArguments(minecraftArguments, processArguments); - // use legacy launch for this version if the version id is legacy - if(g_VersionFilterData.legacyLaunchWhitelist.contains(id)) - { - traits.insert("legacyLaunch"); - } } diff --git a/logic/VersionFinal.h b/logic/VersionFinal.h index f3bf9771..ceb90f57 100644 --- a/logic/VersionFinal.h +++ b/logic/VersionFinal.h @@ -91,7 +91,7 @@ public: /// Last updated time - as a string QString time; /// Release time - as a string - QString releaseTime; + QString versionReleaseTime; /// Release type - "release" or "snapshot" QString type; /// Assets type - "legacy" or a version ID @@ -125,7 +125,11 @@ public: * The main class to load first */ QString mainClass; - + /** + * The applet class, for some very old minecraft releases + */ + QString appletClass; + /// the list of libs - both active and inactive, native and java QList<std::shared_ptr<OneSixLibrary>> libraries; diff --git a/logic/lists/MinecraftVersionList.cpp b/logic/lists/MinecraftVersionList.cpp index fb6daae8..cdf5fa77 100644 --- a/logic/lists/MinecraftVersionList.cpp +++ b/logic/lists/MinecraftVersionList.cpp @@ -16,6 +16,7 @@ #include "MinecraftVersionList.h" #include "MultiMC.h" #include "logic/net/URLConstants.h" +#include <logic/MMCJson.h> #include <QtXml> @@ -29,8 +30,14 @@ #include <QtNetwork> +inline QDateTime timeFromS3Time(QString str) +{ + return QDateTime::fromString(str, Qt::ISODate); +} + MinecraftVersionList::MinecraftVersionList(QObject *parent) : BaseVersionList(parent) { + loadBuiltinList(); } Task *MinecraftVersionList::getLoadTask() @@ -65,6 +72,66 @@ void MinecraftVersionList::sortInternal() qSort(m_vlist.begin(), m_vlist.end(), cmpVersions); } +void MinecraftVersionList::loadBuiltinList() +{ + // grab the version list data from internal resources. + QResource versionList(":/versions/minecraft.json"); + QFile filez(versionList.absoluteFilePath()); + filez.open(QIODevice::ReadOnly); + auto data = filez.readAll(); + + // parse the data as json + QJsonParseError jsonError; + QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &jsonError); + QJsonObject root = jsonDoc.object(); + + // parse all the versions + for (const auto version : MMCJson::ensureArray(root.value("versions"))) + { + QJsonObject versionObj = version.toObject(); + QString versionID = versionObj.value("id").toString(""); + QString versionTimeStr = versionObj.value("releaseTime").toString(""); + QString versionTypeStr = versionObj.value("type").toString(""); + QSet<QString> traits; + if (versionObj.contains("+traits")) + { + for (auto traitVal : MMCJson::ensureArray(versionObj.value("+traits"))) + { + traits.insert(MMCJson::ensureString(traitVal)); + } + } + if (versionID.isEmpty() || versionTimeStr.isEmpty() || versionTypeStr.isEmpty()) + { + // FIXME: log this somewhere + continue; + } + // Parse the timestamp. + QDateTime versionTime = timeFromS3Time(versionTimeStr); + if (!versionTime.isValid()) + { + // FIXME: log this somewhere + continue; + } + // Get the download URL. + QString dlUrl = "http://" + URLConstants::AWS_DOWNLOAD_VERSIONS + versionID + "/"; + + // main class and applet class + QString mainClass = versionObj.value("type").toString(""); + QString appletClass = versionObj.value("type").toString(""); + + // 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; + mcVersion->timestamp = versionTime.toMSecsSinceEpoch(); + mcVersion->download_url = dlUrl; + mcVersion->is_builtin = true; + mcVersion->m_appletClass = appletClass; + mcVersion->m_mainClass = mainClass; + mcVersion->m_traits = traits; + m_vlist.append(mcVersion); + } +} + void MinecraftVersionList::sort() { beginResetModel(); @@ -88,7 +155,21 @@ BaseVersionPtr MinecraftVersionList::getLatestStable() const void MinecraftVersionList::updateListData(QList<BaseVersionPtr> versions) { beginResetModel(); - m_vlist = versions; + for (auto version : versions) + { + auto descr = version->descriptor(); + for (auto builtin_v : m_vlist) + { + if (descr == builtin_v->descriptor()) + { + goto SKIP_THIS_ONE; + } + } + m_vlist.append(version); + SKIP_THIS_ONE: + { + } + } m_loaded = true; sortInternal(); endResetModel(); @@ -103,11 +184,6 @@ inline QDomElement getDomElementByTagName(QDomElement parent, QString tagname) return QDomElement(); } -inline QDateTime timeFromS3Time(QString str) -{ - return QDateTime::fromString(str, Qt::ISODate); -} - MCVListLoadTask::MCVListLoadTask(MinecraftVersionList *vlist) { m_list = vlist; @@ -123,7 +199,8 @@ void MCVListLoadTask::executeTask() { setStatus(tr("Loading instance version list...")); auto worker = MMC->qnam(); - vlistReply = worker->get(QNetworkRequest(QUrl("http://" + URLConstants::AWS_DOWNLOAD_VERSIONS + "versions.json"))); + vlistReply = worker->get(QNetworkRequest( + QUrl("http://" + URLConstants::AWS_DOWNLOAD_VERSIONS + "versions.json"))); connect(vlistReply, SIGNAL(finished()), this, SLOT(list_downloaded())); } @@ -136,8 +213,10 @@ void MCVListLoadTask::list_downloaded() return; } + auto foo = vlistReply->readAll(); QJsonParseError jsonError; - QJsonDocument jsonDoc = QJsonDocument::fromJson(vlistReply->readAll(), &jsonError); + QLOG_INFO() << foo; + QJsonDocument jsonDoc = QJsonDocument::fromJson(foo, &jsonError); vlistReply->deleteLater(); if (jsonError.error != QJsonParseError::NoError) @@ -154,26 +233,18 @@ void MCVListLoadTask::list_downloaded() QJsonObject root = jsonDoc.object(); - // Get the ID of the latest release and the latest snapshot. - if (!root.value("latest").isObject()) + QString latestReleaseID = "INVALID"; + QString latestSnapshotID = "INVALID"; + try { - emitFailed("Error parsing version list JSON: version list is missing 'latest' object"); - return; + QJsonObject latest = MMCJson::ensureObject(root.value("latest")); + latestReleaseID = MMCJson::ensureString(latest.value("release")); + latestSnapshotID = MMCJson::ensureString(latest.value("snapshot")); } - - QJsonObject latest = root.value("latest").toObject(); - - QString latestReleaseID = latest.value("release").toString(""); - QString latestSnapshotID = latest.value("snapshot").toString(""); - if (latestReleaseID.isEmpty()) - { - emitFailed("Error parsing version list JSON: latest release field is missing"); - return; - } - if (latestSnapshotID.isEmpty()) + catch (MMCError &err) { - emitFailed("Error parsing version list JSON: latest snapshot field is missing"); - return; + QLOG_ERROR() + << tr("Error parsing version list JSON: couldn't determine latest versions"); } // Now, get the array of versions. @@ -186,22 +257,21 @@ void MCVListLoadTask::list_downloaded() QJsonArray versions = root.value("versions").toArray(); QList<BaseVersionPtr> tempList; - for (int i = 0; i < versions.count(); i++) + for (auto version : versions) { bool is_snapshot = false; bool is_latest = false; - bool legacyLaunch = false; // Load the version info. - if (!versions[i].isObject()) + if (!version.isObject()) { // FIXME: log this somewhere continue; } - QJsonObject version = versions[i].toObject(); - QString versionID = version.value("id").toString(""); - QString versionTimeStr = version.value("releaseTime").toString(""); - QString versionTypeStr = version.value("type").toString(""); + QJsonObject versionObj = version.toObject(); + QString versionID = versionObj.value("id").toString(""); + QString versionTimeStr = versionObj.value("releaseTime").toString(""); + QString versionTypeStr = versionObj.value("type").toString(""); if (versionID.isEmpty() || versionTimeStr.isEmpty() || versionTypeStr.isEmpty()) { // FIXME: log this somewhere @@ -251,8 +321,6 @@ void MCVListLoadTask::list_downloaded() mcVersion->download_url = dlUrl; mcVersion->is_latest = is_latest; mcVersion->is_snapshot = is_snapshot; - if(legacyLaunch) - mcVersion->features.insert("legacy"); tempList.append(mcVersion); } m_list->updateListData(tempList); diff --git a/logic/lists/MinecraftVersionList.h b/logic/lists/MinecraftVersionList.h index 8f748d34..4698fd8f 100644 --- a/logic/lists/MinecraftVersionList.h +++ b/logic/lists/MinecraftVersionList.h @@ -31,6 +31,7 @@ class MinecraftVersionList : public BaseVersionList Q_OBJECT private: void sortInternal(); + void loadBuiltinList(); public: friend class MCVListLoadTask; @@ -28,6 +28,7 @@ int main(int argc, char *argv[]) Q_INIT_RESOURCE(instances); Q_INIT_RESOURCE(multimc); Q_INIT_RESOURCE(backgrounds); + Q_INIT_RESOURCE(versions); #ifdef HANDLE_SEGV // Register signal handler for generating crash reports. diff --git a/resources/versions/LWJGL/2.9.0.json b/resources/versions/LWJGL/2.9.0.json new file mode 100644 index 00000000..c2399878 --- /dev/null +++ b/resources/versions/LWJGL/2.9.0.json @@ -0,0 +1,45 @@ + { + "fileId": "org.lwjgl", + "name": "LWJGL", + "version": "2.9.0", + "libraries": [ + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ] +} diff --git a/resources/versions/LWJGL/2.9.1-nightly-20130708-debug3.json b/resources/versions/LWJGL/2.9.1-nightly-20130708-debug3.json new file mode 100644 index 00000000..f8ab7de5 --- /dev/null +++ b/resources/versions/LWJGL/2.9.1-nightly-20130708-debug3.json @@ -0,0 +1,45 @@ +{ + "fileId": "org.lwjgl", + "name": "LWJGL", + "version": "2.9.1-nightly-20130708-debug3", + "libraries": [ + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20130708-debug3" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20130708-debug3" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug3", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ] +} diff --git a/resources/versions/LWJGL/2.9.1.json b/resources/versions/LWJGL/2.9.1.json new file mode 100644 index 00000000..941cee1f --- /dev/null +++ b/resources/versions/LWJGL/2.9.1.json @@ -0,0 +1,45 @@ + { + "fileId": "org.lwjgl", + "name": "LWJGL", + "version": "2.9.1", + "libraries": [ + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ] +} diff --git a/resources/versions/minecraft.json b/resources/versions/minecraft.json new file mode 100644 index 00000000..cc5ffeb5 --- /dev/null +++ b/resources/versions/minecraft.json @@ -0,0 +1,571 @@ +{ +"versions": [ + { + "id": "1.5.2", + "releaseTime": "2013-04-25T17:45:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.5.1", + "releaseTime": "2013-03-20T12:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.5", + "releaseTime": "2013-03-07T00:00:00+02:00", + "type": "snapshot", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4.7", + "releaseTime": "2012-12-28T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4.6", + "releaseTime": "2012-12-20T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4.5", + "releaseTime": "2012-12-20T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4.4", + "releaseTime": "2012-12-14T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4.3", + "releaseTime": "2012-12-01T00:00:00+02:00", + "type": "snapshot", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4.2", + "releaseTime": "2012-11-25T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4.1", + "releaseTime": "2012-11-23T00:00:00+02:00", + "type": "snapshot", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.4", + "releaseTime": "2012-11-19T00:00:00+02:00", + "type": "snapshot", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.3.2", + "releaseTime": "2012-08-16T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.3.1", + "releaseTime": "2012-08-01T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.3", + "releaseTime": "2012-07-26T00:00:00+02:00", + "type": "snapshot", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.2.5", + "releaseTime": "2012-03-30T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.2.4", + "releaseTime": "2012-03-22T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.2.3", + "releaseTime": "2012-03-02T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.2.2", + "releaseTime": "2012-03-01T00:00:01+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.2.1", + "releaseTime": "2012-03-01T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.1", + "releaseTime": "2012-01-12T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "1.0", + "releaseTime": "2011-11-18T00:00:00+02:00", + "type": "release", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.8.1", + "releaseTime": "2011-09-19T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.8", + "releaseTime": "2011-09-15T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.7.3", + "releaseTime": "2011-07-08T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.7.2", + "releaseTime": "2011-07-01T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.7", + "releaseTime": "2011-06-30T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.6.6", + "releaseTime": "2011-05-31T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.6.5", + "releaseTime": "2011-05-28T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.6.4", + "releaseTime": "2011-05-26T00:00:04+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.6.3", + "releaseTime": "2011-05-26T00:00:03+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.6.2", + "releaseTime": "2011-05-26T00:00:02+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.6.1", + "releaseTime": "2011-05-26T00:00:01+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.6", + "releaseTime": "2011-05-26T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.5_01", + "releaseTime": "2011-04-20T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.5", + "releaseTime": "2011-04-19T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.4_01", + "releaseTime": "2011-04-05T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.4", + "releaseTime": "2011-03-31T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.3_01", + "releaseTime": "2011-02-23T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.3b", + "releaseTime": "2011-02-22T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.2_02", + "releaseTime": "2011-01-21T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.2_01", + "releaseTime": "2011-01-14T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.2", + "releaseTime": "2011-01-13T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.1_02", + "releaseTime": "2010-12-22T00:00:01+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.1_01", + "releaseTime": "2010-12-22T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.0.2", + "releaseTime": "2010-12-21T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.0_01", + "releaseTime": "2010-12-20T00:00:01+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "b1.0", + "releaseTime": "2010-12-20T00:00:00+02:00", + "type": "old_beta", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.6", + "releaseTime": "2010-12-03T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.5", + "releaseTime": "2010-12-01T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.4_01", + "releaseTime": "2010-11-30T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.3_04", + "releaseTime": "2010-11-26T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.3_02", + "releaseTime": "2010-11-25T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.3_01", + "releaseTime": "2010-11-24T00:00:01+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.3", + "releaseTime": "2010-11-24T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.2b", + "releaseTime": "2010-11-10T00:00:01+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.2a", + "releaseTime": "2010-11-10T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.1_01", + "releaseTime": "2010-11-05T00:00:01+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.1", + "releaseTime": "2010-11-05T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.0_02", + "releaseTime": "2010-11-04T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.0_01", + "releaseTime": "2010-10-31T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.2.0", + "releaseTime": "2010-10-30T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.1.2_01", + "releaseTime": "2010-09-23T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.1.2", + "releaseTime": "2010-09-20T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.1.0", + "releaseTime": "2010-09-13T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.17_04", + "releaseTime": "2010-08-23T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.17_02", + "releaseTime": "2010-08-20T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.16", + "releaseTime": "2010-08-12T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.15", + "releaseTime": "2010-08-04T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.14", + "releaseTime": "2010-07-30T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.11", + "releaseTime": "2010-07-23T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.5_01", + "releaseTime": "2010-07-13T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "a1.0.4", + "releaseTime": "2010-07-09T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "inf-20100618", + "releaseTime": "2010-06-16T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "c0.30_01c", + "releaseTime": "2009-12-22T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "c0.0.13a_03", + "releaseTime": "2009-05-22T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "c0.0.13a", + "releaseTime": "2009-05-31T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "c0.0.11a", + "releaseTime": "2009-05-17T00:00:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "+traits": ["legacyLaunch"] + }, + { + "id": "rd-161348", + "releaseTime": "2009-05-16T13:48:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "mainClass": "com.mojang.minecraft.RubyDung" + }, + { + "id": "rd-160052", + "releaseTime": "2009-05-16T00:52:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "mainClass": "com.mojang.rubydung.RubyDung" + }, + { + "id": "rd-132328", + "releaseTime": "2009-05-13T23:28:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "mainClass": "com.mojang.rubydung.RubyDung" + }, + { + "id": "rd-132211", + "releaseTime": "2009-05-13T22:11:00+02:00", + "type": "old_alpha", + "processArguments": "legacy", + "mainClass": "com.mojang.rubydung.RubyDung" + } +] +} diff --git a/resources/versions/minecraft/1.0.json b/resources/versions/minecraft/1.0.json deleted file mode 100644 index b245ad99..00000000 --- a/resources/versions/minecraft/1.0.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.0", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2011-11-18T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.1.json b/resources/versions/minecraft/1.1.json deleted file mode 100644 index 1c3368bd..00000000 --- a/resources/versions/minecraft/1.1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.1", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-01-12T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.2.1.json b/resources/versions/minecraft/1.2.1.json deleted file mode 100644 index 8d4ec217..00000000 --- a/resources/versions/minecraft/1.2.1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.2.1", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-03-01T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.2.2.json b/resources/versions/minecraft/1.2.2.json deleted file mode 100644 index e993b68a..00000000 --- a/resources/versions/minecraft/1.2.2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.2.2", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-03-01T00:00:01+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.2.3.json b/resources/versions/minecraft/1.2.3.json deleted file mode 100644 index 7ad8d4b5..00000000 --- a/resources/versions/minecraft/1.2.3.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.2.3", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-03-02T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.2.4.json b/resources/versions/minecraft/1.2.4.json deleted file mode 100644 index d5a7ebec..00000000 --- a/resources/versions/minecraft/1.2.4.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.2.4", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-03-22T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.2.5.json b/resources/versions/minecraft/1.2.5.json deleted file mode 100644 index df5cba9d..00000000 --- a/resources/versions/minecraft/1.2.5.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.2.5", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-03-30T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.3.1.json b/resources/versions/minecraft/1.3.1.json deleted file mode 100644 index b625d0d6..00000000 --- a/resources/versions/minecraft/1.3.1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.3.1", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-08-01T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.3.2.json b/resources/versions/minecraft/1.3.2.json deleted file mode 100644 index f4ee9641..00000000 --- a/resources/versions/minecraft/1.3.2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.3.2", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-08-16T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.3.json b/resources/versions/minecraft/1.3.json deleted file mode 100644 index 7f83f5bd..00000000 --- a/resources/versions/minecraft/1.3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "id": "1.3", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-07-26T00:00:00+02:00", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.1.json b/resources/versions/minecraft/1.4.1.json deleted file mode 100644 index 618ea037..00000000 --- a/resources/versions/minecraft/1.4.1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4.1", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-11-23T00:00:00+02:00", - "type": "snapshot", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.2.json b/resources/versions/minecraft/1.4.2.json deleted file mode 100644 index 0e31ad3f..00000000 --- a/resources/versions/minecraft/1.4.2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4.2", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-11-25T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.3.json b/resources/versions/minecraft/1.4.3.json deleted file mode 100644 index d41ed9cc..00000000 --- a/resources/versions/minecraft/1.4.3.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4.3", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-12-01T00:00:00+02:00", - "type": "snapshot", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.4.json b/resources/versions/minecraft/1.4.4.json deleted file mode 100644 index fdee167a..00000000 --- a/resources/versions/minecraft/1.4.4.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4.4", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-12-14T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.5.json b/resources/versions/minecraft/1.4.5.json deleted file mode 100644 index ac538f9a..00000000 --- a/resources/versions/minecraft/1.4.5.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4.5", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-12-20T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.6.json b/resources/versions/minecraft/1.4.6.json deleted file mode 100644 index dfe5fe22..00000000 --- a/resources/versions/minecraft/1.4.6.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4.6", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-12-20T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.7.json b/resources/versions/minecraft/1.4.7.json deleted file mode 100644 index 49d6bb9d..00000000 --- a/resources/versions/minecraft/1.4.7.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4.7", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-12-28T00:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.4.json b/resources/versions/minecraft/1.4.json deleted file mode 100644 index 8d3ad372..00000000 --- a/resources/versions/minecraft/1.4.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.4", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2012-11-19T00:00:00+02:00", - "type": "snapshot", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.5.1.json b/resources/versions/minecraft/1.5.1.json deleted file mode 100644 index 1e2428ff..00000000 --- a/resources/versions/minecraft/1.5.1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.5.1", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2013-03-20T12:00:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.5.2.json b/resources/versions/minecraft/1.5.2.json deleted file mode 100644 index 6d9822fd..00000000 --- a/resources/versions/minecraft/1.5.2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.5.2", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2013-04-25T17:45:00+02:00", - "type": "release", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/minecraft/1.5.json b/resources/versions/minecraft/1.5.json deleted file mode 100644 index 64c227b6..00000000 --- a/resources/versions/minecraft/1.5.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "1.5", - "time": "2013-08-06T13:00:00+02:00", - "releaseTime": "2013-03-07T00:00:00+02:00", - "type": "snapshot", - "processArguments": "legacy", - "mainClass": "net.minecraft.client.Minecraft", - "+traits": ["legacyLaunch"] -} diff --git a/resources/versions/versions.qrc b/resources/versions/versions.qrc new file mode 100644 index 00000000..6ba05744 --- /dev/null +++ b/resources/versions/versions.qrc @@ -0,0 +1,11 @@ +<!DOCTYPE RCC> +<RCC version="1.0"> + <qresource prefix="/versions"> + <!-- builtin legacy versions --> + <file>minecraft.json</file> + <!-- LWJGL --> + <file>LWJGL/2.9.0.json</file> + <file>LWJGL/2.9.1-nightly-20130708-debug3.json</file> + <file>LWJGL/2.9.1.json</file> + </qresource> +</RCC> |