update MinecraftVersions documentation

This commit is contained in:
Bixilon 2022-01-09 23:26:32 +01:00
parent eec979c664
commit 55a7ff1184
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -7,16 +7,15 @@ The file is a huge json object, see below:
```json ```json
{ {
"<Version id>": { "<Version id>": {
"name": "<Version Name>", "name": "<version Name>",
"mapping": "<Version id or custom mapping>", "packets": "<version id or custom packets>",
"protocol_id": "<Protocol id>" "protocol_id": "<protocol id>",
"type": "*snapshot*|release|april_fool"
} }
} }
``` ```
The json key is custom one, normally the same as the protocol id (if so, you can omit the versionId field). Because Mojang needed to change the versionIds in The json key is custom one, normally the same as the protocol id (if so, you can omit the versionId field). Because Mojang needed to change the versionIds in 1.16.4-pre1 (["New network protocol scheme, with a high bit (bit 30) set for snapshots. The protocol version will increase by 1 for each snapshot, but full releases may keep the same protocol version as the previous full release in cases where the network protocols are compatible"](https://www.minecraft.net/en-us/article/minecraft-1-16-4-pre-release-1)), I needed to change the version Ids. The version id will now increment for each version/snapshot, but only if the protocol id changes too. Used for sorting and even more important: Multi protocol support. The number simply is bigger if the version is newer.
1.16.4-pre1 (["New network protocol scheme, with a high bit (bit 30) set for snapshots. The protocol version will increase by 1 for each snapshot, but full releases may keep the same protocol version as the previous full release in cases where the network protocols are compatible"](https://www.minecraft.net/en-us/article/minecraft-1-16-4-pre-release-1)), I needed to change the version Ids. The version id will now increment for each version/snapshot, but only if the protocol id changes too. Used
for sorting and even more important: Multi protocol support. The number simply is bigger if the version is newer.
## Example ## Example
@ -35,16 +34,35 @@ Mapping can be an int, if so the version mapping of the corresponding version wi
```json ```json
{ {
"mapping": { "packets": {
"c2s": [ "c2s": [
"PLAY_TELEPORT_CONFIRM" "confirm_teleport"
], ],
"s2c": [ "s2c": [
"PLAY_ENTITY_OBJECT_SPAWN" "entity_object_spawn"
] ]
} }
} }
``` ```
All packets in `packets` are by default in `PLAY` state. If you need to specify another state, use:
```json
{
"packets": {
"c2s": {
"play": [
"confirm_teleport"
]
},
"s2c": {
"play": [
"entity_object_spawn"
]
}
}
}
```
--- ---
Note: Do not check for `protocol_id` (especially in EntityMetaData or Packets), this data is not reliable (because snapshot ids are that much higher)! Use version Ids. Note: Do not check for `protocol_id` (especially in entity data or packets), this data is not reliable (because snapshot ids are that much higher)! Use version ids.