client.json

De Minecraft Wiki
Aller à la navigation Aller à la recherche

Cette fonctionnalité est exclusive à l'édition Java. 

client.json est le fichier qui accompagne le client.jar dans .minecraft/versions/<version> et qui liste les propriétés de la version. En utilisant la dernière version du launcher, le fichier est nommé <version du jeu>.json. Le fichier JSON pour les versions spécifiques se trouve dans le fichier version_manifest.json.

Voici le format JSON du fichier client.json.

  • Le tag racine.
    •  arguments :
      •  game : Contient des arguments fournis au jeu, tels que des informations sur le nom d'utilisateur et la version.
        •  : Un argument.
        •  : Un argument conditionnel.
          •  rules : Une liste de règles.
            •  : Une règle.
              •  action : Sa valeur est allow.
              •  features : Inclut un ensemble de fonctionnalités qui peuvent être vérifiées.
                •  is_demo_user : Apparaît seulement lors de la première vérification du tag composé.
                •  has_custom_resolution : Apparaît seulement lors de la deuxième vérification du tag composé.
                •  has_quick_plays_support : Apparaît seulement lors de la troisième vérification du tag composé.
                •  is_quick_play_singleplayer : Apparaît seulement lors de la quatrième vérification du tag composé.
                •  is_quick_play_multiplayer : Apparaît seulement lors de la cinquième vérification du tag composé.
                •  is_quick_play_realms : Apparaît seulement lors de la sixième vérification du tag composé.
          •  value : Un argument ou une liste d'arguments qui est ajouté lorsque la condition est vérifiée.
      •  jvm : Contient des arguments JVM, tels que des informations sur l'allocation de la mémoire, la sélection du ramasse-miettes ou des variables d'environnement.
        •  : Un argument conditionnel.
          •  rules : Une liste de règles.
            •  : Une règle.
              •  action : Sa valeur est allow.
              •  os :
                •  name : Sa valeur est osx lors de la première vérification du tag composé et windows pour la deuxième et la troisième. N'apparaît pas lors de la quatrième vérification.
                •  version : Apparaît seulement lors de la troisième vérification du tag composé. Sa valeur est ^10\\..
                •  arch : Apparaît seulement lors de la quatrième vérification du tag composé. Sa valeur est x86.
          •  value : Un argument ou une liste d'arguments qui est ajouté lorsque la condition est vérifiée.
    •  assetIndex :
      •  id : La version des assets.
      •  sha1 : Le hachage SHA1 du fichier d'assets.
      •  size : La taille de la version.
      •  totalSize : La taille totale de la version.
      •  url : L'URL que le jeu doit consulter pour télécharger les assets.
    •  assets : La version des assets.
    •  complianceLevel : Sa valeur est 1 pour toutes les versions récentes du jeu (1.16.4 et plus), et 0 pour toutes les autres. Ce tag dit au launcher s'il doit avertir l'utilisateur de faire attention aux versions plus anciennes, qui ne supportent pas les dernières fonctionnalités de sécurité des joueurs.
    •  downloads :
      •  client : Les informations de téléchargement du client.jar.
        •  sha1 : Le hachage SHA1 du JAR.
        •  size : La taille du JAR en octets.
        •  url : L'URL où le JAR est hébergé.
      •  client_mappings : Les mappages d'obfuscation pour cette version du client. Ajoutées en édition Java 19w36a, mais étaient également incluses en 1.14.4. Répète la structure des informations de téléchargement du client.
      •  server : Les informations de téléchargement du serveur. Répète la structure des informations de téléchargement du client.
      •  server_mappings : Les mappages d'obfuscation pour cette version du serveur. Ajoutées en édition Java 19w36a, mais étaient également incluses en 1.14.4. Répète la structure des informations de téléchargement du client.
    •  id : Le nom de cette version (par exemple, 1.14.4).
    •  javaVersion : La version de l'environnement d'exécution de Java (JRE).
      •  component : Sa valeur est jre-legacy pour toutes les snapshots 1.17 jusqu'à la 21w18a et java-runtime-alpha depuis la 21w19a.
      •  majorVersion : Sa valeur est 8 pour toutes les snapshots 1.17 jusqu'à la 21w18a, 16 jusqu'à la 1.18-pre1 et 17 depuis la 1.18-pre2.
    •  libraries : Une liste de bibliothèques.
      •  : Une bibliothèque.
        •  downloads : Les informations de téléchargement de la bibliothèque.
          •  artifact : Les informations à propos de l'artefact.
            •  path : Le chemin de stockage de l'artefact téléchargé, relatif au répertoire libraries dans .minecraft.
            •  sha1 : Le hachage SHA1 du fichier.
            •  size : La taille du fichier.
            •  url : L'URL que le jeu doit consulter pour télécharger le fichier.
          •  classifiers : Apparaît seulement pour certaines bibliothèques.
            •  <classifier> : Spécifie les informations de l'artefact pour l'artefact avec ce classificateur spécifique. Répète la structure de l'artefact ci-dessus.
        •  name : Un nom maven pour la bibliothèque, sous la forme de "id du groupe:id de l'artefact:version".
        •  url : L'URL du répertoire Maven (utilisée par Forge).
        •  natives : Les informations des bibliothèques natives (en C) intégrées avec cette bibliothèque. Apparaît seulement quand il y a des classificateurs pour les bibliothèques natives.
          •  : Le nom de ce tag dépend des bibliothèques natives qui apparaissent dans les classificateurs. Il peut valoir linux, macos, windows ou osx. Sa valeur est le classificateur correspondant (natives-linux, etc).
        •  extract : Apparaît seulement dans deux bibliothèques.
          •  exclude : Affiche ce qu'il faut exclure de l'extraction.
            •  : Sa valeur est META-INF/.
        •  rules : Contient un tag composé avec les tags action et os, comme montré ci-dessus.
    •  logging : Les informations de configuration des journaux Log4j.
      •  client :
        •  argument : L'argument JVM pour ajouter la configuration des journaux. Sa valeur est -Dlog4j.configurationFile=${chemin}.
        •  file : La configuration XML Log4j2 XML utilisée par cette version pour l'écran des journaux du launcher.
          •  id : Sa valeur est client-1.12.xml, mais elle peut différer pour les versions plus anciennes.[note 1]
          •  sha1 : Le hachage SHA1 pour ce fichier.
          •  size : La taille du fichier.
          •  url : L'URL que le jeu doit consulter pour télécharger la configuration des journaux.
        •  type : Sa valeur est log4j2-xml.
    •  mainClass : La classe principale du jeu. Pour les versions modernes, sa valeur est net.minecraft.client.main.Main, mais elle peut différer pour les versions plus anciennes.[note 2]
    •  minimumLauncherVersion : La version du launcher minimum qui peut exécuter cette version du jeu.
    •  releaseTime : La date et l'heure de la publication de la version.
    •  time : A la même valeur que releaseTime.
    •  type : Le type de cette version du jeu. Elle est affichée dans la liste des versions quand vous créez une nouvelle installation. Les valeurs par défaut sont release et snapshot.
Édition Java
1.6.113w16aAvec le nouveau launcher, les versions sont maintenant stockées dans .minecraft/versions, et chaque version a son propre dossier avec un fichier minecraft.jar (qui est désormais appelé client.jar) et un fichier .json, qui est le client.json.
1.7.213w39aAjout du tag  logging dans le tag racine.
1.1317w43aLe tag  arguments a remplacé l'ancien tag  minecraftArguments.
1.1519w36aLes mappages d'obfuscation sont maintenant listés dans le tag  downloads. Ils sont également implémentés en 1.14.4.
1.1620w21aAjout de deux nouveaux arguments : disableChat, qui désactive le tchat en jeu, et disableMultiplayer, qui désactive les boutons "Multijoueur" et "Minecraft Realms".
1.1720w45aAjout du tag  javaVersion avec tous ses sous-tags.
1.2023w14aDans  game, ajout de  has_quick_plays_support,  is_quick_play_singleplayer,  is_quick_play_multiplayer et  is_quick_play_realms à  rules.
  1. Par exemple, pour l'édition Java 1.10.2, la valeur est client-1.7.xml.
  2. Par exemple, pour la rd-132211, la valeur est com.mojang.rubydung.RubyDung.