mirror of
https://github.com/Mojang/bedrock-protocol-docs.git
synced 2025-11-06 14:45:14 +00:00
145 lines
5.8 KiB
JSON
145 lines
5.8 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "1600343552",
|
|
"x-format-version": "MISSING VERSION",
|
|
"x-minecraft-version": "1.21.120",
|
|
"x-protocol-version": 859,
|
|
"definitions": {
|
|
"2543696991": {
|
|
"title": "struct CorrectPlayerMovePredictionPacketPayload",
|
|
"type": "object",
|
|
"properties": {
|
|
"On Ground": {
|
|
"description": "Is on ground",
|
|
"type": "boolean",
|
|
"x-ordinal-index": 5
|
|
},
|
|
"Pos": {
|
|
"description": "Corrected position",
|
|
"$ref": "#/definitions/4004946602",
|
|
"x-ordinal-index": 1
|
|
},
|
|
"Pos Delta": {
|
|
"description": "Corrected velocity",
|
|
"$ref": "#/definitions/4004946602",
|
|
"x-ordinal-index": 2
|
|
},
|
|
"PredictionType": {
|
|
"title": "enum RewindType",
|
|
"description": "Vehicle or Player Prediction",
|
|
"type": "string",
|
|
"enum": [
|
|
"Player",
|
|
"Vehicle"
|
|
],
|
|
"x-underlying-type": "uint8",
|
|
"x-serialization-options": [
|
|
"EnumAsValue"
|
|
],
|
|
"x-ordinal-index": 0
|
|
},
|
|
"Rotation": {
|
|
"description": "Corrected rotation. Only sent when PredictionType is Vehicle",
|
|
"$ref": "#/definitions/4021724221",
|
|
"x-ordinal-index": 3
|
|
},
|
|
"Tick": {
|
|
"description": "Which frame we're correcting; should match the tick in the Player Auth Input packet",
|
|
"$ref": "#/definitions/1497397410",
|
|
"x-ordinal-index": 6
|
|
},
|
|
"VehicleAngularVelocity": {
|
|
"description": "Angular Velocity for a vehicle. Only sent when PredictionType is Vehicle",
|
|
"type": "number",
|
|
"x-underlying-type": "float",
|
|
"x-ordinal-index": 4
|
|
}
|
|
},
|
|
"required": [
|
|
"On Ground",
|
|
"Pos",
|
|
"Pos Delta",
|
|
"PredictionType",
|
|
"Rotation",
|
|
"Tick"
|
|
]
|
|
},
|
|
"1497397410": {
|
|
"title": "PlayerInputTick",
|
|
"type": "object",
|
|
"properties": {
|
|
"Input tick": {
|
|
"description": "In server authoritative movement mode the client supplies this in PlayerAuthInputPacket.\nFor any client-bound packets containing a tick, the server should supply the tick value corresponding to the most recently processed PlayerAuthInputPacket.\nThis allows the client to adjust any client predictions made while the packet was in flight.\nIf the packet is being sent to the client but not relating to data of the player or a client-predicted vehicle, it can be zero.\nIt is also acceptable to specify zero for players, although this may lead to minor visual flickers and less smooth application of CorrectPlayerMovePredictionPacket.",
|
|
"type": "integer",
|
|
"x-underlying-type": "uint64",
|
|
"x-serialization-options": [
|
|
"Compression"
|
|
],
|
|
"x-ordinal-index": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"Input tick"
|
|
]
|
|
},
|
|
"4021724221": {
|
|
"title": "Vec2",
|
|
"type": "object",
|
|
"properties": {
|
|
"X": {
|
|
"type": "number",
|
|
"x-underlying-type": "float",
|
|
"x-ordinal-index": 0
|
|
},
|
|
"Y": {
|
|
"type": "number",
|
|
"x-underlying-type": "float",
|
|
"x-ordinal-index": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"X",
|
|
"Y"
|
|
]
|
|
},
|
|
"4004946602": {
|
|
"title": "Vec3",
|
|
"type": "object",
|
|
"properties": {
|
|
"X": {
|
|
"type": "number",
|
|
"x-underlying-type": "float",
|
|
"x-ordinal-index": 0
|
|
},
|
|
"Y": {
|
|
"type": "number",
|
|
"x-underlying-type": "float",
|
|
"x-ordinal-index": 1
|
|
},
|
|
"Z": {
|
|
"type": "number",
|
|
"x-underlying-type": "float",
|
|
"x-ordinal-index": 2
|
|
}
|
|
},
|
|
"required": [
|
|
"X",
|
|
"Y",
|
|
"Z"
|
|
]
|
|
}
|
|
},
|
|
"title": "CorrectPlayerMovePredictionPacket",
|
|
"description": "Sent to a player when their simulation of movement mismatches enough from the server that it wants to correct the client.",
|
|
"type": "object",
|
|
"properties": {
|
|
"mPayload": {
|
|
"$ref": "#/definitions/2543696991",
|
|
"x-ordinal-index": 0
|
|
}
|
|
},
|
|
"$metaProperties": {
|
|
"[cereal:packet]": 161,
|
|
"[cereal:packet_details]": "Used only in server authoritative movement mode, see ServerAuthMovementMode documentation.<br>\n\tSince it is sent to the specified client the target player is implied to be the receiver.<br>\n\tIt is an optional part of the server authoritative protocol. A server could choose to never send this or do all corrections\n\tthrough MovePlayerPacket, although doing so would likely provide less smooth results."
|
|
}
|
|
} |