Mojira Archive
MCL-2964

Inherited JSON is overwritten when a library download takes place

Summary

When using a version with an inherited JSON, the original JSON is over-written with a "flattened" JSON if a library specified in the version or its parent is downloaded by the launcher.

Steps to reproduce

  1. Create a version JSON which inherits from any other version, this example JSON file extends 1.7.10 and adds the ASM 5.0.3 library
    1.7.10-ASM.json
    {
      "id": "1.7.10-ASM",
      "time": "2014-05-14T18:29:23+01:00",
      "releaseTime": "2014-05-14T18:29:23+01:00",
      "type": "release",
      "libraries": [
        {
          "name": "org.ow2.asm:asm-all:5.0.3"
        }
      ],
      "minimumLauncherVersion": 16,
      "inheritsFrom": "1.7.10",
      "jar": "1.7.10"
    }
  2. Ensure that one or more libraries specified in the version is missing/requires download, for example delete the ASM 5.0.3 jar if it is already present
  3. Start the launcher and create a profile to use the new version
  4. Launch the game and observe that the original JSON is overwritten by a version which specifies all options from the parent version, and inheritance is lost.

Additional tests

I have confirmed that after the above procedure has been executed, the following corroborating test can be performed:

  1. Close the launcher and replace the contents of the JSON with the original
  2. Re-open the launcher and re-launch the game, this time no libraries should need to be downloaded
  3. The inherted JSON file remains intact

Fixed

Adam Mummery-Smith

[Mojang] Nathan Adams

2014-08-17, 11:38 PM

2014-08-18, 06:21 PM

2014-08-18, 06:21 PM

3

1

Unconfirmed

1.5.1

1.5.2