version.json is embedded within client.jar in .minecraft/versions/<version> and server.jar since 18w47b. It offers some basic information about the version's attributes.
The /version command also presents the same information on the server side, and the โฏ+โฏ debug hotkey on the client side.
This is the JSON format for version.json.
- [NBT Compound / JSON Object] The root object.
- [String] id: The version's unique identifier. May sometimes display the build hash as well, separated from the name by a slash.
- [String] name: The version's user-friendly name. Usually identical to
id.
- [Int] world_version: The data version of this version.
- [String] series_id: Identifies which branch the version is from, the default value is "main" and other values are used when a version isn't from the main branch. "deep_dark_preview" was used for Deep Dark Experimental Snapshot 1 and "april<YYYY>" is used for April Fools' Day joke versions released in 2022 or after. This is also used as a secondary way from the data version (
world_version) to check for incompatibility.
- [Int] protocol_version: The protocol version of this version.
- [NBT Compound / JSON Object] pack_version: The resource and data pack formats of this version.
- [Int] resource_major: The max resource pack format number supported.
- [Int] resource_minor: The minimum resource pack format number supported. Commonly 0
- [Int] data_major: The max data pack format number supported.
- [Int] data_minor: The minimum data pack format number supported. Commonly 1
- [String] build_time: The release time of this version in ISO 8601 format.
- [String] java_component: Unused in the server. Identifies which Java runtime package the game expects to use
- [String] java_version: The Java version used to compile the jar this is packaged with
- [Boolean] stable: Whether this version is a release version (
true) or a development version (false).
- [Boolean] use_editor: Unknown use.
| Java Edition |
|---|
| 1.14 | 18w47b | Added version.json. |
|---|
| 1.17 | 20w45a | Changed pack_version from a single [Int] integer value to an [NBT Compound / JSON Object] object value.
|
|---|
| The data and resource pack versions are now updated separately. |
| 1.19.3 | 22w42a | Removed [String] release_target from [NBT Compound / JSON Object]root. This stored the major release a version is being developed for (identical to the name, for release versions). |
|---|
| 1.21.9 | 25w31a | Changed the [NBT Compound / JSON Object] pack_version object value, which added new [String] minor and [String] major fields for [String] resource and [String] data in replacement for the old values. |
|---|