client.json は、.minecraft/versions/<バージョン番号> の client.jar に付属し、バージョンの属性が記載されているファイルである。Minecraftのランチャーの最新バージョンを使用する場合、名前は <ゲームのバージョン番号>.json である。特定のバージョンのJSONファイルは version_manifest.json ファイルに配置されている。
JSONの書式[]
以下は、client.json のJSONの書式である。
- ルートタグ
- arguments:
- game: ユーザー名やバージョンに関する情報など、ゲームに提供される引数が含まれる。
- 引数。
- 条件付き引数。
- rules: ルールの一覧。
- ルール。
- action: この値は「allow」。
- features: チェックできる一連の機能が含まれる。
- is_demo_user: 複合タグの最初にのみ表示される。
- has_custom_resolution: width, heightが指定されているかどうか。
- value: 引数または条件が一致した際に追加される引数の一覧。
- jvm: メモリ割り当て、ガベージコレクターの選択、または環境変数に関する情報などのJVM引数が含まれる。
- : 条件付き引数。
- rules: ルールの一覧。
- : ルール。
- action: 値は"allow"。
- os:
- name: 複合タグの最初は「osx」、2番目と3番目の場合は「windows」。4番目は表示されない。
- version: 複合タグの3番目でのみ表示される。値は"^10\\."。
- arch: 複合タグの4番目でのみ表示される。値は"x86"。
- value: 引数または条件が一致した際に追加される引数の一覧。
- assetIndex:
- id: アセットのバージョン。
- sha1: アセットファイルのSHA1。
- size: バージョンのサイズ。
- totalSize: バージョンの合計サイズ。
- url: アセットをダウンロードするためゲームがアクセスするURL。
- assets: Java Edition 1.15時点の値は"1.15"。
- downloads:
- client: client.jarダウンロード情報。
- sha1: jarのSHA1。
- size: jarのサイズ。(バイト単位)
- url: jarがホストされているURL。
- client_mappings: このクライアントバージョンの難読化マップ。Java Edition 19w36aで追加されたが、1.14.4にもある。クライアントダウンロード情報の構造を繰り返す。
- server: サーバーのダウンロード情報。クライアントダウンロード情報の構造を繰り返す。
- server_mappings: このサーバーバージョンの難読化マップ。Java Edition 19w36aで追加されたが、1.14.4にもある。クライアントダウンロード情報の構造を繰り返す。
- id: このバージョンのクライアントの名前(1.14.4など)
- libraries: ライブラリのリスト。
- : ライブラリ。
- downloads: ライブラリのダウンロード情報。
- artifact: artifactに関する情報。
- path: ダウンロードしたartifactを格納する。.minecraftの「library」ダイレクトリに関連。
- sha1: ファイルのSHA1。
- size: ファイルのサイズ。
- url: ゲームがファイルをダウンロードするためアクセスするURL。
- classifiers: 一部のライブラリにのみ表示される。
- <classifier>: この特定のclassfierを持つartifactの情報を指定する。上記のartifact構造を繰り返す。
- name: "groupId:artifactId:version"の形式のライブラリのmaven name名。
- url: The URL of the Maven repository (used by Forge).
- natives: このライブラリに束ねられている(Cで)nativeライブラリに関する情報。nativeのclassfierがある場合にのみ表示される。
- : このタグの名前は、classfierに表示されるnativeに依存するため、「linux」、「macos」、「windows」または「osx」のいずれかになる。値は、対応するclassfier(「natives-linux」など)になる。
- extract: 2つのライブラリにのみ表示される。
- exclude: extractionから除外するものを示す。
- rules: 最後の2つのライブラリにのみ表示される。上記のように、タグ「action」および「os」を持つcompoundが含まれている。
- logging: Log4jログ構成に関する情報。
- client:
- argument: ログ構成を追加するためのJVM引数。値は"-Dlog4j.configurationFile=${path}"。
- file:
- id: 値は「client-1.12.xml」だが、古いバージョンでは異なる場合がある。[注釈 1]
- sha1: ファイルのSHA1。
- size: ファイルのサイズ。
- url: ゲームがログ設定をダウンロードするためアクセスするURL。
- type: 値は"log4j2-xml"。
- mainClass: 主要なゲームのclass。 最新バージョンの場合
net.minecraft.client.main.Main
だが、古いバージョンでは異なる場合がある。[注釈 2]
- minimumLauncherVersion: このバージョンのゲームを実行できる最小のランチャーバージョン。
- releaseTime: リリース日時。
- time: 「releaseTime」と同じ。
- type: このゲームバージョンのタイプ。新しいインストールを作成すると、バージョンリストに表示される。デフォルト値は「release」と「snapshot」。
歴史[]
注釈[]