Game files

Game
All available versions of the game itself are listed on https://launchermeta.mojang.com/mc/game/version_manifest.json

The location of the information JSON file for a specific version is included in the version manifest above, which includes requirements to run the client, minimumLauncherVersion, and the download link for the server, client, and assets.

Libraries
The libraries which can be used for all Minecraft versions and are downloaded by the launcher are located at

https://libraries.minecraft.net/

The JSON file downloaded above is used in order to determine which libraries to download. Inside the file is a key,  which contains information about each library required. Example:

The  key is used to determine the url from which to download the library from. The format of this string is : : The corresponding URL would look like this: https://libraries.minecraft.net/ / / / - .jar where  is the result of replacing all the periods in   with slashes.

It also download a hash, in sha1, the url is: https://libraries.minecraft.net/ / / / - .jar.sha1

The  key provides a string for each specific platform to be inserted between the .jar and the of the filename, resulting in a filename with the format: - -.jar This is applied to any file with the  key.

The natives string may contain, which should be replaced with   or.

The  key provides rules for the extraction of the file.

The  key is used to determine which platforms to download the file to. When the  is , the file will be downloaded to the platform stated in. When the  is , the file will not be downloaded to the platform stated in. If there is no  key, the rule is default for non-specified platforms.

In the example above, on an OS X platform, the full download path would be https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20130708-debug3/lwjgl-platform-2.9.1-nightly-20130708-debug3-natives-osx.jar The file would be extracted but the  file would not be. Additionally, the file would only be downloaded if the computer was running OS X 10.5.

Assets
The game itself downloads further resources from http://resources.download.minecraft.net/

The asset index for each version is linked in the .json. An example url to the asset index could look like this https://launchermeta.mojang.com/mc/assets/1.12/67e29e024e664064c1f04c728604f83c24cbc218/1.12.json

Each resource in the file has a name (the field name of the resource object), a SHA1 hash, and a file size. The client currently downloads all resources in the index from http://resources.download.minecraft.net// and stores them in .minecraft/assets/objects// and a copy is stored in .minecraft/assets/virtual/legacy/ in the old format for versions that don't support the new system (1.7 and below)