Difference between revisions of "Game files"
(Proxy edit by stephenmac7) |
m |
||
Line 40: | Line 40: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | The <code>name</code> key is used to determine the url from which to download the library from. The format of this string is | + | The <code>name</code> key is used to determine the url from which to download the library from. The format of this string is |
+ | <package>:<name>:<version> | ||
+ | The corresponding URL would look like this: | ||
+ | <package>/<name>/<version>/<name>-<version>.jar | ||
+ | where <code>path</code> is the result of replacing all the periods in <code>package</code> with slashes. | ||
+ | |||
+ | |||
+ | The <code>natives</code> key provides a string for each specific platform to be inserted between the .jar and the <version> of the filename, resulting in a filename with the format: | ||
+ | <name>-<version>-<native-string>.jar</code> | ||
+ | This is applied to any file with the <code>natives</code> key. | ||
− | |||
The <code>extract</code> key provides rules for the extraction of the file. | The <code>extract</code> key provides rules for the extraction of the file. | ||
+ | |||
The <code>rules</code> key is used to determine which platforms to download the file to. When the <code>action</code> is <code>allow</code>, the file will be downloaded to the platform stated in <code>os</code>. When the <code>action</code> is <code>disallow</code>, the file will not be downloaded to the platform stated in <code>os</code>. If there is no <code>os</code> key, the rule is default for non-specified platforms. | The <code>rules</code> key is used to determine which platforms to download the file to. When the <code>action</code> is <code>allow</code>, the file will be downloaded to the platform stated in <code>os</code>. When the <code>action</code> is <code>disallow</code>, the file will not be downloaded to the platform stated in <code>os</code>. If there is no <code>os</code> 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://s3.amazonaws.com/Minecraft.Download/libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20130708-debug3/lwjgl-platform-2.9.1-nightly-20130708-debug3-natives-osx.jar</code> | ||
+ | The file would be extracted but the <code>META-INF</code> file would not be. Additionally, the file would only be downloaded if the computer was running OS X 10.5. | ||
== Assets == | == Assets == |
Revision as of 05:16, 22 July 2013
Game
All available version of the game itself are listed on
http://s3.amazonaws.com/Minecraft.Download/versions/versions.json
The jar file for a specific version is located at
http://s3.amazonaws.com/Minecraft.Download/versions/<version>/<version>.jar
Some information on how to properly run said jar is available at
http://s3.amazonaws.com/Minecraft.Download/versions/<version>/<version>.json
Libraries
The libraries which can be used for all minecraft versions and are downloaded by the launcher are located at
http://s3.amazonaws.com/MinecraftDownload/
The json file downloaded above is used in order to determine which libraries to download. Inside the file is a key, libraries
which contains information about each library required.
Example:
{
"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/"
]
},
"rules": [
{
"action": "allow",
"os": {
"name": "osx",
"version": "^10\\.5\\.\\d$"
}
}
]
}
The name
key is used to determine the url from which to download the library from. The format of this string is
<package>:<name>:<version>
The corresponding URL would look like this:
<package>/<name>/<version>/<name>-<version>.jar
where path
is the result of replacing all the periods in package
with slashes.
The natives
key provides a string for each specific platform to be inserted between the .jar and the <version> of the filename, resulting in a filename with the format:
<name>-<version>-<native-string>.jar
This is applied to any file with the natives
key.
The extract
key provides rules for the extraction of the file.
The rules
key is used to determine which platforms to download the file to. When the action
is allow
, the file will be downloaded to the platform stated in os
. When the action
is disallow
, the file will not be downloaded to the platform stated in os
. If there is no os
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://s3.amazonaws.com/Minecraft.Download/libraries/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 META-INF
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://s3.amazonaws.com/MinecraftResources/
A list of all available resources is available as an XML file at the address above. These files do not have to be downloaded in order for the game to function properly.