diff --git a/jsonobject/__init__.py b/jsonobject/__init__.py index 2d4719f..b23fcde 100644 --- a/jsonobject/__init__.py +++ b/jsonobject/__init__.py @@ -9,6 +9,6 @@ __all__ = [ 'IntegerProperty', 'FloatProperty', 'DecimalProperty', 'StringProperty', 'BooleanProperty', 'DateProperty', 'DateTimeProperty', 'TimeProperty', - 'ObjectProperty', 'ListProperty', 'DictProperty', + 'ObjectProperty', 'ListProperty', 'DictProperty', 'SetProperty', 'JsonObject', 'JsonArray', 'AbstractDateProperty', 'JsonProperty' ] diff --git a/metautil.py b/metautil.py index 81689dd..d9ba151 100644 --- a/metautil.py +++ b/metautil.py @@ -196,6 +196,7 @@ class MultiMCVersionFile (JsonObject): releaseTime = ISOTimestampProperty(exclude_if_none=True, default=None) time = ISOTimestampProperty(exclude_if_none=True, default=None) type = StringProperty(exclude_if_none=True, default=None) + addTraits = SetProperty(StringProperty, name="+traits", exclude_if_none=True, default=None) def MojangToMultiMC (file, name, fileId, version): mmcFile = MultiMCVersionFile( @@ -235,21 +236,27 @@ The MultiMC static override file for legacy looks like this: ''' class LegacyOverrideEntry(JsonObject): - id = StringProperty() - checksum = StringProperty() - releaseTime = ISOTimestampProperty() - type = StringProperty() - mainClass = StringProperty() - appletClass = StringProperty() - addTraits = ListProperty(StringProperty, name="+traits") + releaseTime = ISOTimestampProperty(exclude_if_none=True, default=None) + mainClass = StringProperty(exclude_if_none=True, default=None) + appletClass = StringProperty(exclude_if_none=True, default=None) + addTraits = SetProperty(StringProperty, name="+traits", exclude_if_none=True, default=None) class LegacyOverrideIndex(JsonObject): - versions = ListProperty(LegacyOverrideEntry) + versions = DictProperty(LegacyOverrideEntry) -class LegacyOverrideIndexWrap: - def __init__(self, json): - self.index = MojangIndex.wrap(json) - versionsDict = {} - for version in self.index.versions: - versionsDict[version.id] = version - self.versions = versionsDict +def ApplyLegacyOverride (mmcFile, legacyOverride): + # simply hard override classes + mmcFile.mainClass = legacyOverride.mainClass + mmcFile.appletClass = legacyOverride.appletClass + # if we have an updated release time (more correct than Mojang), use it + if legacyOverride.releaseTime != None: + mmcFile.releaseTime = legacyOverride.releaseTime + # add traits, if any + if legacyOverride.addTraits: + if not mmcFile.addTraits: + mmcFile.addTraits = set() + mmcFile.addTraits = mmcFile.addTraits.union(legacyOverride.addTraits) + # remove all libraries - they are not needed for legacy + mmcFile.libraries = None + # remove minecraft arguments - we use our own hardcoded ones + mmcFile.minecraftArguments = None \ No newline at end of file diff --git a/separateVersions.py b/separateVersions.py index 02253bf..4909cf2 100755 --- a/separateVersions.py +++ b/separateVersions.py @@ -41,12 +41,8 @@ def addLWJGLVersion(versions, bucket): # get the local version list staticVersionlist = None -try: - with open("static/minecraft.json", 'r', encoding='utf-8') as legacyIndexFile: - staticVersionlist = LegacyOverrideIndexWrap(json.load(legacyIndexFile)) -except: - staticVersionlist = LegacyOverrideIndexWrap({}) -legacyIDs = set(staticVersionlist.versions.keys()) +with open("static/minecraft.json", 'r', encoding='utf-8') as legacyIndexFile: + staticVersionlist = LegacyOverrideIndex(json.load(legacyIndexFile)) lwjglVersions = {} for filename in os.listdir('mojang/versions'): @@ -87,6 +83,8 @@ for filename in os.listdir('mojang/versions'): addLWJGLVersion(lwjglVersions, keyBucket) versionFile.libraries = libs_minecraft filenameOut = "multimc/net.minecraft/%s.json" % versionFile.version + if versionFile.version in staticVersionlist.versions: + ApplyLegacyOverride (versionFile, staticVersionlist.versions[versionFile.version]) with open(filenameOut, 'w') as outfile: json.dump(versionFile.to_json(), outfile, sort_keys=True, indent=4) diff --git a/static/minecraft.json b/static/minecraft.json index 9c08a83..d30db4c 100644 --- a/static/minecraft.json +++ b/static/minecraft.json @@ -1,587 +1,348 @@ -{ -"versions": [ - { - "id": "1.5.2", - "checksum": "6897c3287fb971c9f362eb3ab20f5ddd", - "releaseTime": "2013-04-25T17:45:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.5.1", - "checksum": "5c1219d869b87d233de3033688ec7567", - "releaseTime": "2013-03-20T12:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.5", - "checksum": "fd11cbc5b01aae1d62cff0145171f3d9", - "releaseTime": "2013-03-07T00:00:00+02:00", - "type": "snapshot", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4.7", - "checksum": "8e80fb01b321c6b3c7efca397a3eea35", - "releaseTime": "2012-12-28T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4.6", - "checksum": "48677dc4c2b98c29918722b5ab27b4fd", - "releaseTime": "2012-12-20T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4.5", - "checksum": "b15e2b2b6b4629f0d99a95b6b44412a0", - "releaseTime": "2012-11-20T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4.4", - "checksum": "7aa46c8058cba2f38e9d2ddddcc77c72", - "releaseTime": "2012-11-14T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4.3", - "checksum": "9cc3295931edb6339f22989fe1b612a6", - "releaseTime": "2012-11-01T00:00:00+02:00", - "type": "snapshot", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4.2", - "checksum": "771175c01778ea67395bc6919a5a9dc5", - "releaseTime": "2012-10-25T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4.1", - "checksum": "542621a5298659dc65f383f35170fc4c", - "releaseTime": "2012-10-23T00:00:00+02:00", - "type": "snapshot", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.4", - "checksum": "32a654388b54d3e4bb29c1a46e7d6a12", - "releaseTime": "2012-10-19T00:00:00+02:00", - "type": "snapshot", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.3.2", - "checksum": "969699f13e5bbe7f12e40ac4f32b7d9a", - "releaseTime": "2012-08-16T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.3.1", - "checksum": "266ccbc9798afd2eadf3d6c01b4c562a", - "releaseTime": "2012-08-01T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.3", - "checksum": "a6effac1eaccf5d429aae340cf95ed5d", - "releaseTime": "2012-07-26T00:00:00+02:00", - "type": "snapshot", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.2.5", - "checksum": "8e8778078a175a33603a585257f28563", - "releaseTime": "2012-03-30T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.2.4", - "checksum": "25423eab6d8707f96cc6ad8a21a7250a", - "releaseTime": "2012-03-22T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.2.3", - "checksum": "12f6c4b1bdcc63f029e3c088a364b8e4", - "releaseTime": "2012-03-02T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.2.2", - "checksum": "6189e96efaea11e5164b4a4755574324", - "releaseTime": "2012-03-01T00:00:01+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.2.1", - "checksum": "97067a603eba2b6eb75d3194f81f6bcd", - "releaseTime": "2012-03-01T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.1", - "checksum": "e92302d2acdba7c97e0d8df1e10d2006", - "releaseTime": "2012-01-12T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "1.0", - "checksum": "3820d222b95d0b8c520d9596a756a6e6", - "releaseTime": "2011-11-18T00:00:00+02:00", - "type": "release", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.8.1", - "checksum": "f8c5a2ccd3bc996792bbe436d8cc08bc", - "releaseTime": "2011-09-19T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.8", - "checksum": "a59a9fd4c726a573b0a2bdd10d857f59", - "releaseTime": "2011-09-15T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.7.3", - "checksum": "eae3353fdaa7e10a59b4cb5b45bfa10d", - "releaseTime": "2011-07-08T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.7.2", - "checksum": "dd9215ab1141170d4871f42bff4ab302", - "releaseTime": "2011-07-01T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.7", - "checksum": "682419e9ed1a236c3067822d53cda1e4", - "releaseTime": "2011-06-30T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.6.6", - "checksum": "ce80072464433cd5b05d505aa8ff29d1", - "releaseTime": "2011-05-31T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.6.5", - "checksum": "2aba888864b32038c8d22ee5df71b7c8", - "releaseTime": "2011-05-28T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.6.4", - "checksum": "5c4df6f120336f113180698613853dba", - "releaseTime": "2011-05-26T00:00:04+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.6.3", - "checksum": "efc2becca965e4f8feb5b4210c6a4fd1", - "releaseTime": "2011-05-26T00:00:03+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.6.2", - "checksum": "01330b1c930102a683a4dd8d792e632e", - "releaseTime": "2011-05-26T00:00:02+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.6.1", - "checksum": "a7e82c441a57ef4068c533f4d777336a", - "releaseTime": "2011-05-26T00:00:01+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.6", - "checksum": "d531e221227a65392259d3141893280d", - "releaseTime": "2011-05-26T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.5_01", - "checksum": "d02fa9998e30693d8d989d5f88cf0040", - "releaseTime": "2011-04-20T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.5", - "checksum": "24289130902822d73f8722b52bc07cdb", - "releaseTime": "2011-04-19T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.4_01", - "checksum": "9379e54b581ba4ef3acc3e326e87db91", - "releaseTime": "2011-04-05T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.4", - "checksum": "71e64b61175b371ed148b385f2d14ebf", - "releaseTime": "2011-03-31T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.3_01", - "checksum": "4203826f35e1036f089919032c3d19d1", - "releaseTime": "2011-02-23T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.3b", - "checksum": "de2164df461d028229ed2e101181bbd4", - "releaseTime": "2011-02-22T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.2_02", - "checksum": "1736c5ba4f63a981220c2a18a4120180", - "releaseTime": "2011-01-21T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.2_01", - "checksum": "486d83ec00554b45ffa21af2faa0116a", - "releaseTime": "2011-01-14T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.2", - "checksum": "6426223efe23c3931a4ef89685be3349", - "releaseTime": "2011-01-13T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.1_02", - "checksum": "7d547e495a770c62054ef136add43034", - "releaseTime": "2010-12-22T00:00:01+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.1_01", - "checksum": "1f9331f2bfca81b6ce2acdfc1f105837", - "releaseTime": "2010-12-22T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.0.2", - "checksum": "d200c465b8c167cc8df6537531fc9a48", - "releaseTime": "2010-12-21T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.0_01", - "checksum": "03bd20b870dbbd121de5dca98af4e1ce", - "releaseTime": "2010-12-20T00:00:01+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "b1.0", - "checksum": "5f8733dbbf09b4e7c874661a3c29c239", - "releaseTime": "2010-12-20T00:00:00+02:00", - "type": "old_beta", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.6", - "checksum": "ddd5e39467f28d1ea1a03b4d9e790867", - "releaseTime": "2010-12-03T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.5", - "checksum": "7d3a43037190970ff2e11153b5718b74", - "releaseTime": "2010-12-01T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.4_01", - "checksum": "0a1cc8c668faa6dc93fc418e8b4b097a", - "releaseTime": "2010-11-30T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.3_04", - "checksum": "b2c25a753c82a1cd228ce71469829dc1", - "releaseTime": "2010-11-26T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.3_02", - "checksum": "3ad4808ef2ac3b65d10305315260da03", - "releaseTime": "2010-11-25T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.3_01", - "checksum": "70cbab762b17c5b11fefea9b12564119", - "releaseTime": "2010-11-24T00:00:01+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.3", - "checksum": "25f053114e34b915e675f82d58f08711", - "releaseTime": "2010-11-24T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.2b", - "checksum": "6250fb17f8898c4d970d6bd03c229177", - "releaseTime": "2010-11-10T00:00:01+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.2a", - "checksum": "0f9fe018b344fd9dd849005f9bdca803", - "releaseTime": "2010-11-10T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "texturepacks"] - }, - { - "id": "a1.2.1_01", - "checksum": "0a496e44a7b4e2f493b5893d8e5845bd", - "releaseTime": "2010-11-05T00:00:01+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.2.1", - "checksum": "0a496e44a7b4e2f493b5893d8e5845bd", - "releaseTime": "2010-11-05T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.2.0_02", - "checksum": "f5bcb4d0c0e78bc220f164b89ae9bd60", - "releaseTime": "2010-11-04T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.2.0_01", - "checksum": "b2e9333e967cb89488884c2e5c715d4f", - "releaseTime": "2010-10-31T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.2.0", - "checksum": "44c384dae02390f700458b95d82c3e2a", - "releaseTime": "2010-10-30T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.1.2_01", - "checksum": "94346e1b8f6ad0e4a284314f0e29207b", - "releaseTime": "2010-09-23T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.1.2", - "checksum": "72ba1f834327805cb44164a42b331522", - "releaseTime": "2010-09-20T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.1.0", - "checksum": "891fd93e04f5daaf35d73c58e45c01b1", - "releaseTime": "2010-09-13T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.17_04", - "checksum": "16ed7dc58244772847991e504afcf02f", - "releaseTime": "2010-08-23T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.17_02", - "checksum": "d89760b0871ef61a55c9f336c0439d58", - "releaseTime": "2010-08-20T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.16", - "checksum": "6bbde02c13aed5766275f4398ede6aae", - "releaseTime": "2010-08-12T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.15", - "checksum": "ade257d2080d56fa983763f9c701fa14", - "releaseTime": "2010-08-04T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.14", - "checksum": "227d0c6fa896a231de6269a074c9a458", - "releaseTime": "2010-07-30T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.11", - "checksum": "6f1b1dd157fa0df39760f5be3eab01b0", - "releaseTime": "2010-07-23T00:00:00+02:00", - "type": "old_alpha", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.5_01", - "checksum": "ae5f606caa18222e7568819c910ee423", - "releaseTime": "2010-07-13T00:00:00+02:00", - "type": "old_alpha", - "mainClass": "y", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "a1.0.4", - "checksum": "13ce7935c3670e7494e26b2704bfa3e9", - "releaseTime": "2010-07-09T00:00:00+02:00", - "type": "old_alpha", - "mainClass": "ax", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "inf-20100618", - "checksum": "f5f5aa34760facc10486e906a7c60196", - "releaseTime": "2010-06-16T00:00:00+02:00", - "type": "old_alpha", - "mainClass": "net.minecraft.client.d", - "appletClass": "net.minecraft.client.MinecraftApplet", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "c0.30_01c", - "checksum": "fcfd7f83a6b27503cf48202381a5adf2", - "releaseTime": "2009-12-22T00:00:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.minecraft.l", - "appletClass": "com.mojang.minecraft.MinecraftApplet", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "c0.0.13a_03", - "checksum": "a9527cb5aef198e0f53e235ebe13dc75", - "releaseTime": "2009-05-22T00:00:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.minecraft.c", - "appletClass": "com.mojang.minecraft.MinecraftApplet", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "c0.0.13a", - "checksum": "3617fbf5fbfd2b837ebf5ceb63584908", - "releaseTime": "2009-05-31T00:00:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.minecraft.Minecraft", - "appletClass": "com.mojang.minecraft.MinecraftApplet", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "c0.0.11a", - "checksum": "a6e03c2eaf74709facc0d2477648e999", - "releaseTime": "2009-05-17T00:00:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.minecraft.Minecraft", - "appletClass": "com.mojang.minecraft.MinecraftApplet", - "+traits": ["legacyLaunch", "no-texturepacks"] - }, - { - "id": "rd-161348", - "checksum": "80882b8936a5c8d91500838a6660b504", - "releaseTime": "2009-05-16T13:48:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.minecraft.RubyDung", - "+traits": ["no-texturepacks"] - }, - { - "id": "rd-160052", - "checksum": "24c5cc99a2a612697ed2f7d5d04242fe", - "releaseTime": "2009-05-16T00:52:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.rubydung.RubyDung", - "+traits": ["no-texturepacks"] - }, - { - "id": "rd-132328", - "checksum": "70e33a81c541b13a477e68c1207124eb", - "releaseTime": "2009-05-13T23:28:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.rubydung.RubyDung", - "+traits": ["no-texturepacks"] - }, - { - "id": "rd-132211", - "checksum": "99fdaea10c494b9c3c3254636b98b799", - "releaseTime": "2009-05-13T22:11:00+02:00", - "type": "old_alpha", - "mainClass": "com.mojang.rubydung.RubyDung", - "+traits": ["no-texturepacks"] - } -] -} +{ + "versions": { + "1.5.2": { + "releaseTime": "2013-04-25T17:45:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.5.1": { + "releaseTime": "2013-03-20T12:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.5": { + "releaseTime": "2013-03-07T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4.7": { + "releaseTime": "2012-12-28T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4.6": { + "releaseTime": "2012-12-20T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4.5": { + "releaseTime": "2012-11-20T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4.4": { + "releaseTime": "2012-11-14T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4.3": { + "releaseTime": "2012-11-01T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4.2": { + "releaseTime": "2012-10-25T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4.1": { + "releaseTime": "2012-10-23T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.4": { + "releaseTime": "2012-10-19T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.3.2": { + "releaseTime": "2012-08-16T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.3.1": { + "releaseTime": "2012-08-01T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.3": { + "releaseTime": "2012-07-26T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.2.5": { + "releaseTime": "2012-03-30T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.2.4": { + "releaseTime": "2012-03-22T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.2.3": { + "releaseTime": "2012-03-02T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.2.2": { + "releaseTime": "2012-03-01T00:00:01+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.2.1": { + "releaseTime": "2012-03-01T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.1": { + "releaseTime": "2012-01-12T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "1.0": { + "releaseTime": "2011-11-18T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.8.1": { + "releaseTime": "2011-09-19T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.8": { + "releaseTime": "2011-09-15T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.7.3": { + "releaseTime": "2011-07-08T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.7.2": { + "releaseTime": "2011-07-01T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.7": { + "releaseTime": "2011-06-30T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.6.6": { + "releaseTime": "2011-05-31T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.6.5": { + "releaseTime": "2011-05-28T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.6.4": { + "releaseTime": "2011-05-26T00:00:04+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.6.3": { + "releaseTime": "2011-05-26T00:00:03+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.6.2": { + "releaseTime": "2011-05-26T00:00:02+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.6.1": { + "releaseTime": "2011-05-26T00:00:01+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.6": { + "releaseTime": "2011-05-26T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.5_01": { + "releaseTime": "2011-04-20T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.5": { + "releaseTime": "2011-04-19T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.4_01": { + "releaseTime": "2011-04-05T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.4": { + "releaseTime": "2011-03-31T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.3_01": { + "releaseTime": "2011-02-23T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.3b": { + "releaseTime": "2011-02-22T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.2_02": { + "releaseTime": "2011-01-21T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.2_01": { + "releaseTime": "2011-01-14T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.2": { + "releaseTime": "2011-01-13T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.1_02": { + "releaseTime": "2010-12-22T00:00:01+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.1_01": { + "releaseTime": "2010-12-22T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.0.2": { + "releaseTime": "2010-12-21T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.0_01": { + "releaseTime": "2010-12-20T00:00:01+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "b1.0": { + "releaseTime": "2010-12-20T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.6": { + "releaseTime": "2010-12-03T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.5": { + "releaseTime": "2010-12-01T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.4_01": { + "releaseTime": "2010-11-30T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.3_04": { + "releaseTime": "2010-11-26T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.3_02": { + "releaseTime": "2010-11-25T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.3_01": { + "releaseTime": "2010-11-24T00:00:01+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.3": { + "releaseTime": "2010-11-24T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.2b": { + "releaseTime": "2010-11-10T00:00:01+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.2a": { + "releaseTime": "2010-11-10T00:00:00+02:00", + "+traits": ["legacyLaunch", "texturepacks"] + }, + "a1.2.1_01": { + "releaseTime": "2010-11-05T00:00:01+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.2.1": { + "releaseTime": "2010-11-05T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.2.0_02": { + "releaseTime": "2010-11-04T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.2.0_01": { + "releaseTime": "2010-10-31T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.2.0": { + "releaseTime": "2010-10-30T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.1.2_01": { + "releaseTime": "2010-09-23T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.1.2": { + "releaseTime": "2010-09-20T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.1.0": { + "releaseTime": "2010-09-13T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.17_04": { + "releaseTime": "2010-08-23T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.17_02": { + "releaseTime": "2010-08-20T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.16": { + "releaseTime": "2010-08-12T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.15": { + "releaseTime": "2010-08-04T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.14": { + "releaseTime": "2010-07-30T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.11": { + "releaseTime": "2010-07-23T00:00:00+02:00", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.5_01": { + "releaseTime": "2010-07-13T00:00:00+02:00", + "mainClass": "y", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "a1.0.4": { + "releaseTime": "2010-07-09T00:00:00+02:00", + "mainClass": "ax", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "inf-20100618": { + "releaseTime": "2010-06-16T00:00:00+02:00", + "mainClass": "net.minecraft.client.d", + "appletClass": "net.minecraft.client.MinecraftApplet", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "c0.30_01c": { + "releaseTime": "2009-12-22T00:00:00+02:00", + "mainClass": "com.mojang.minecraft.l", + "appletClass": "com.mojang.minecraft.MinecraftApplet", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "c0.0.13a_03": { + "releaseTime": "2009-05-22T00:00:00+02:00", + "mainClass": "com.mojang.minecraft.c", + "appletClass": "com.mojang.minecraft.MinecraftApplet", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "c0.0.13a": { + "releaseTime": "2009-05-31T00:00:00+02:00", + "mainClass": "com.mojang.minecraft.Minecraft", + "appletClass": "com.mojang.minecraft.MinecraftApplet", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "c0.0.11a": { + "releaseTime": "2009-05-17T00:00:00+02:00", + "mainClass": "com.mojang.minecraft.Minecraft", + "appletClass": "com.mojang.minecraft.MinecraftApplet", + "+traits": ["legacyLaunch", "no-texturepacks"] + }, + "rd-161348": { + "releaseTime": "2009-05-16T13:48:00+02:00", + "mainClass": "com.mojang.minecraft.RubyDung", + "+traits": ["no-texturepacks"] + }, + "rd-160052": { + "releaseTime": "2009-05-16T00:52:00+02:00", + "mainClass": "com.mojang.rubydung.RubyDung", + "+traits": ["no-texturepacks"] + }, + "rd-20090515": { + "mainClass": "com.mojang.rubydung.RubyDung", + "+traits": ["no-texturepacks"] + }, + "rd-132328": { + "releaseTime": "2009-05-13T23:28:00+02:00", + "mainClass": "com.mojang.rubydung.RubyDung", + "+traits": ["no-texturepacks"] + }, + "rd-132211": { + "releaseTime": "2009-05-13T22:11:00+02:00", + "mainClass": "com.mojang.rubydung.RubyDung", + "+traits": ["no-texturepacks"] + } + } +} \ No newline at end of file