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
- 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" } - 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
- Start the launcher and create a profile to use the new version
- 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:
- Close the launcher and replace the contents of the JSON with the original
- Re-open the launcher and re-launch the game, this time no libraries should need to be downloaded
- The inherted JSON file remains intact
2014-08-17, 11:38 PM
2014-08-18, 06:21 PM
2014-08-18, 06:21 PM
3
1