Hi Gamepedia users and contributors! Please complete this survey to help us learn how to better meet your needs in the future. We have one for editors and readers. This should only take about 7 minutes!

client.json

From Minecraft Wiki
Jump to: navigation, search

Information icon.svg
This feature is exclusive to Java Edition.

client.json is the file that accompanies client.jar in .minecraft/versions/<version> and lists the version's attributes. When using the latest version of the Minecraft launcher, it is named <game version>.json. The JSON file for specific versions is located in the version_manifest.json file.

JSON format[edit]

This is the JSON format for client.json.

  • The root tag.
    •  arguments:
      •  game: Contains arguments supplied to the game, such as information about the username and the version.
        • An argument.
        • A conditional argument.
          •  rules: A list of rules.
            • A rule.
              •  action: Its value is "allow".
              •  features: Includes a set of features that can be checked.
                •  is_demo_user: Appears only in the first appearance of the compound tag.
                •  has_custom_resolution: Appears only in the second appearance of the compound tag.
          •  value: An argument or a list of arguments that is added when the condition is matched.
      •  jvm: Contains JVM arguments, such as information about memory allocation, garbage collector selection, or environmental variables.
        • : A conditional argument.
          •  rules: A list of rules.
            • : A rule.
              •  action: Its value is "allow".
              •  os:
                •  name: Its value is "osx" for the first appearance of the compound tag and "windows" for the second and third. Does not appear in the fourth appearance.
                •  version: Appears only in the third appearance of the compound tag. Its value is "^10\\.".
                •  arch: Appears only in the fourth appearance of the compound tag. Its value is "x86".
          •  value: An argument or a list of arguments that is added when the condition is matched.
    •  assetIndex:
      •  id: The assets version.
      •  sha1: The SHA1 of the assets file.
      •  size: The size of the version.
      •  totalSize: The total size of the version.
      •  url: The URL that the game should visit to download the assets.
    •  assets: As of Java Edition 1.14, this tag's value is "1.14". It is "1.15" for 1.15 snapshots.
    •  downloads:
      •  client: The client.jar download information.
        •  sha1: The SHA1 of the jar.
        •  size: The size of jar in bytes.
        •  url: The URL where the jar is hosted.
      •  client_mappings: The obfuscation maps for this client version. Added in Java Edition 19w36a but got included in 1.14.4 also. Repeats the structure of the client download information.
      •  server: The server download information. Repeats the structure of the client download information.
      •  server_mappings: The obfuscation maps for this server version. Added in Java Edition 19w36a but got included in 1.14.4 also. Repeats the structure of the client download information.
    •  id: The name of this version client (e.g. 1.14.4).
    •  libraries: A list of libraries.
      • : A library.
        •  downloads: The library's download information.
          •  artifact: Info about the artifact.
            •  path: Path to store the downloaded artifact, relative to the "libraries" directory in .minecraft.
            •  sha1: The SHA1 of the file.
            •  size: The size of the file.
            •  url: The URL that the game should visit to download the file.
          •  classifiers: Appears only for some libraries.
            •  <classifier>: Specifies the artifact information for the artifact with this specific classifier. Repeats the artifact structure above.
        •  name: A maven name for the library, in the form of "groupId:artifactId:version".
        •  natives: Information about native libraries (in C) bundled with this library. Appears only when there are classifiers for natives.
          • : This tag's name depends on the natives that appear in the classifiers, so it can be "linux", "macos", "windows" or "osx". Its value will be the corresponding classifier ("natives-linux" etc.).
        •  extract: Appears only in two libraries.
          •  exclude: Shows what to exclude from the extraction.
            • : Its value is "META-INF/".
        •  rules: Appears only in the last two libraries. Contains a compound with the tags "action" and "os", as shown above.
    •  logging: Information about Log4j log configuration.
      •  client:
        •  argument: The JVM argument for adding the log configuration. Its value is "-Dlog4j.configurationFile=${path}".
        •  file:
          •  id: Its value is "client-1.12.xml", but may differ for older versions.[note 1]
          •  sha1: The SHA1 for this file.
          •  size: The size of the file.
          •  url: The URL the game should visit to download the log configuration..
        •  type: Its value is "log4j2-xml".
    •  mainClass: The main game class; for modern versions, it is net.minecraft.client.main.Main, but it may differ for older or ancient versions.[note 2]
    •  minimumLauncherVersion: The minimum Launcher version that can run this version of the game.
    •  releaseTime: The release date and time.
    •  time: Same as "releaseTime".
    •  type: The type of this game version. It is shown in the version list when you create a new installation. The default values are "release" and "snapshot".

History[edit]

Java Edition
1.6.113w16aWith the new launcher, versions are now stored in .minecraft/versions and each version has its own folder with a minecraft.jar (client.jar in the new version) and a .json file, which is the client.json.
1.7.213w39aAdded the  logging tag in the root tag.
1.1317w43aThe  arguments tag replaced the old  minecraftArguments tag.
Upcoming Java Edition
1.1519w36aObfuscation mappings are now listed in the  downloads tag. They are implemented in 1.14.4 also.

Notes[edit]

  1. For instance, for Java Edition 1.10.2, the value is "client-1.7.xml".
  2. For instance, for rd-132211, the value is com.mojang.rubydung.RubyDung.