← Back to Index

PlayerAuthInputPacket (144)

Player Auth Input
These are for Server Authoritative Movement to sync all player input with the server.
Field Name Type Field Index Description
Player Rotation (Required) Vec2 0 Orientation of the player at the start of the tick.

Vec2

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Position (Required) Vec3 1 Client predicted position at the end of the tick.

Vec3

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Z (Required) float 2
Move Vector (Required) Vec2 2 The desired local space move direction of the player.

Vec2

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Player Head Rotation (Required) float 3 Effectively the same as the Y component of Player Rotation.
Input Data (Required) array<PlayerAuthInputData> 4 Bitset of per-tick input flags (jumping, sneaking, gliding, collisions, etc.). Each flag gates additional optional fields below.
Input Mode (Required) varuint32 5 The input device the player is using (mouse/keyboard, touch, gamepad, motion controller).
Enum Values:
Index Value
0 Undefined
1 Mouse
2 Touch
3 GamePad
4 Count
Play Mode (Required) varuint32 6 The play mode (normal or one of the reality/VR modes).
Enum Values:
Index Value
0 Normal
1 Teaser
2 Screen
3 ExitLevel
4 NumModes
New Interaction Model (Required) varint32 7 The interaction model in use (classic, touch, or crosshair).
Enum Values:
Index Value
0 Touch
1 Crosshair
2 Classic
3 Count
Interact Rotation (Required) Vec2 8 The rotation the player is looking for interactions.

Vec2

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Client Tick (Required) PlayerInputTick 9 Which simulation frame client is on.

PlayerInputTick

Field Name Type Field Index Description
Input tick (Required) varuint64 0 In server authoritative movement mode the client supplies this in PlayerAuthInputPacket. For any client-bound packets containing a tick, the server should supply the tick value corresponding to the most recently processed PlayerAuthInputPacket. This allows the client to adjust any client predictions made while the packet was in flight. If 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. It is also acceptable to specify zero for players, although this may lead to minor visual flickers and less smooth application of CorrectPlayerMovePredictionPacket.
Pos Delta (Required) Vec3 10 Client predicted velocity at the end of the tick.

Vec3

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Z (Required) float 2
Item Use Transaction PackedItemUseLegacyInventoryTransaction 11 Item use transaction for this tick. Present only when the Input Data flags indicate a transaction occurred.

PackedItemUseLegacyInventoryTransaction

Field Name Type Field Index Description
Legacy Request ID (Required) ItemStackLegacyRequestId 0 The legacy item stack request id associated with this item interaction. Zero means no legacy request.

ItemStackLegacyRequestId

Field Name Type Field Index Description
ID (Required) varint32 0 Raw Id (32 bit signed)
Legacy Set Item Slots array<LegacySetSlot> 1 Only present when Legacy Request ID is valid. Lists container slots involved in the interaction.

LegacySetSlot (Array Item)

Field Name Type Field Index Description
Container Enum (Required) varuint8 0 The container enum name identifying which container slot set this belongs to.
Enum Values:
Index Value
0 AnvilInputContainer
1 AnvilMaterialContainer
2 AnvilResultPreviewContainer
3 SmithingTableInputContainer
4 SmithingTableMaterialContainer
5 SmithingTableResultPreviewContainer
6 ArmorContainer
7 LevelEntityContainer
8 BeaconPaymentContainer
9 BrewingStandInputContainer
10 BrewingStandResultContainer
11 BrewingStandFuelContainer
12 CombinedHotbarAndInventoryContainer
13 CraftingInputContainer
14 CraftingOutputPreviewContainer
15 RecipeConstructionContainer
16 RecipeNatureContainer
17 RecipeItemsContainer
18 RecipeFoodContainer
19 RecipeBlocksContainer
20 RecipeFurnaceItemsContainer
21 RecipeSearchContainer
22 RecipeSearchBarContainer
23 RecipeEquipmentContainer
24 RecipeBookContainer
25 EnchantingInputContainer
26 EnchantingMaterialContainer
27 FurnaceFuelContainer
28 FurnaceIngredientContainer
29 FurnaceResultContainer
30 HorseEquipContainer
31 HotbarContainer
32 InventoryContainer
33 ShulkerBoxContainer
34 TradeIngredient1Container
35 TradeIngredient2Container
36 TradeResultPreviewContainer
37 OffhandContainer
38 CompoundCreatorInput
39 CompoundCreatorOutputPreview
40 ElementConstructorOutputPreview
41 MaterialReducerInput
42 MaterialReducerOutput
43 LabTableInput
44 LoomInputContainer
45 LoomDyeContainer
46 LoomMaterialContainer
47 LoomResultPreviewContainer
48 BlastFurnaceIngredientContainer
49 SmokerIngredientContainer
50 Trade2Ingredient1Container
51 Trade2Ingredient2Container
52 Trade2ResultPreviewContainer
53 GrindstoneInputContainer
54 GrindstoneAdditionalContainer
55 GrindstoneResultPreviewContainer
56 StonecutterInputContainer
57 StonecutterResultPreviewContainer
58 CartographyInputContainer
59 CartographyAdditionalContainer
60 CartographyResultPreviewContainer
61 BarrelContainer
62 CursorContainer
63 CreatedOutputContainer
64 SmithingTableTemplateContainer
65 CrafterLevelEntityContainer
66 DynamicContainer
Slots (Required) array<uint8> 1 List of inventory slot indices within the given container.
Item Use Transaction (Required) ItemUseInventoryTransaction 2 The reflected item use transaction performed on this auth-input tick.

ItemUseInventoryTransaction

Field Name Type Field Index Description
Actions (Required) InventoryTransaction 0 Base inventory actions. Lists the inventory slot changes associated with this transaction.

InventoryTransaction

Field Name Type Field Index Description
Actions (Required) array<InventoryAction> 0 List of inventory slot changes. Each action describes which container slot is changing and what the item descriptor transitions from and to.

InventoryAction (Array Item)

Field Name Type Field Index Description
Source (Required) InventorySource 0 The inventory source identifying which container this action targets.

InventorySource

Field Name Type Field Index Description
Source Type (Required) varuint32 0 The inventory source type.
Enum Values:
Index Value
0 Container Inventory
1 Global Inventory
2 World Interaction
3 Creative Inventory
4 Non Implemented Feature TODO
Container ID varint8 1 Container window ID. Present only for ContainerInventory and NonImplementedFeatureTODO source types.
Bit Flags varuint32 2 Source flags. Present only for WorldInteraction source type.
Enum Values:
Index Value
0 No Flag
1 World Interaction Random
Slot (Required) varuint32 1 The slot index within the source container.
From Item (Required) NetworkItemStackDescriptor 2 The item descriptor representing the state of the slot before this action.
To Item (Required) NetworkItemStackDescriptor 3 The item descriptor representing the desired state of the slot after this action.
Action Type (Required) varint32 1 The type of item use action performed.
Enum Values:
Index Value
0 Place
1 Use
2 Destroy
3 Use As Attack
Trigger Type (Required) varuint8 2 PlayerInput if a direct result of the player's initial button input. SimulationTick if the player is holding down input from a previous tick.
Enum Values:
Index Value
0 Unknown
1 Player Input
2 Simulation Tick
Position (Required) BlockPos 3 The position of the target block.

BlockPos

Field Name Type Field Index Description
X (Required) varint32 0
Y (Required) varint32 1
Z (Required) varint32 2
Face (Required) varuint8 4 The face of the target block that was clicked.
Slot (Required) varint32 5 The inventory slot of the item being used.
Item (Required) NetworkItemStackDescriptor 6 The item stack descriptor of the item being used.
From Position (Required) Vec3 7 The player's position when this transaction was sent.

Vec3

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Z (Required) float 2
Click Position (Required) Vec3 8 The position within the target block face that was clicked.

Vec3

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Z (Required) float 2
Target Block Id (Required) varuint32 9 The runtime block state ID of the target block.
Client Interact Prediction (Required) uint8 10 Whether the client predicted the interaction would succeed.
Enum Values:
Index Value
0 Failure
1 Success
Client Cooldown State (Required) uint8 11 Whether the item is currently on cooldown on the client.
Enum Values:
Index Value
0 Off
1 On
Item Stack Request ItemStackRequest 12 Item stack request for this tick. Present only when the Input Data flags indicate a request occurred.

ItemStackRequest

Field Name Type Field Index Description
Client Request Id (Required) ItemStackRequestId 0

ItemStackRequestId

Field Name Type Field Index Description
ID (Required) varint32 0 Raw Id (32 bit signed)
Actions (Required) array<unknown> 1 Action list. Each entry starts with an ItemStackRequestActionType byte followed by that action's payload.
Strings To Filter (Required) array<string> 2 Array of strings to submit to profanity filtering service
StringsToFilterOrigin (Required) int32 3
Enum Values:
Index Value
0 unknown
1 ServerChatPublic
2 ServerChatWhisper
3 SignText
4 AnvilText
5 BookAndQuillText
6 CommandBlockText
7 BlockActorDataText
8 JoinEventText
9 LeaveEventText
10 SlashCommandChat
11 CartographyText
12 KickCommand
13 TitleCommand
14 SummonCommand
15 ServerForm
16 DataDrivenUI
Player Block Actions array<PlayerBlockActionData> 13 Block actions performed this tick. Present only when the Input Data flags indicate block actions occurred.

PlayerBlockActionData (Array Item)

Field Name Type Field Index Description
Player Action Type (Required) varint32 0 The server-authoritative block action type.
Enum Values:
Index Value
0 Unknown
1 StartDestroyBlock
2 AbortDestroyBlock
3 StopDestroyBlock
4 StartSleeping
5 StopSleeping
6 Respawn
7 StartJump
8 StartSprinting
9 StopSprinting
10 StartSneaking
11 StopSneaking
12 CreativeDestroyBlock
13 ChangeDimensionAck
14 StartGliding
15 StopGliding
16 DenyDestroyBlock
17 CrackBlock
18 StartSwimming
19 StopSwimming
20 StartSpinAttack
21 StopSpinAttack
22 PredictDestroyBlock
23 ContinueDestroyBlock
24 StartItemUseOn
25 StopItemUseOn
26 HandledTeleport
27 MissedSwing
28 StartCrawling
29 StopCrawling
30 StartFlying
31 StopFlying
32 StartUsingItem
33 InternalUpdate
34 Count
Position (Required) BlockPos 1 The block position for the action. StopDestroyBlock serializes the default value.

BlockPos

Field Name Type Field Index Description
X (Required) varint32 0
Y (Required) varint32 1
Z (Required) varint32 2
Facing (Required) varint32 2 Facing, or action-specific integer data for AbortDestroyBlock.
Vehicle Rotation Vec2 14 Rotation of the vehicle the player is in. Present only when the Input Data flags indicate the player is in a vehicle.

Vec2

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Client Predicted Vehicle ActorUniqueID 15 The client-predicted vehicle the player is riding. Present only when the Input Data flags indicate the player is in a vehicle.

ActorUniqueID

Field Name Type Field Index Description
Actor Unique ID (Required) varint64 0
Analog Move Vector (Required) Vec2 16 Same idea as move vector.

Vec2

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Camera Orientation (Required) Vec3 17 The world space unit vector for the camera forward direction.

Vec3

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1
Z (Required) float 2
Raw Move Vector (Required) Vec2 18 Same as move vector but not affected by input permissions.

Vec2

Field Name Type Field Index Description
X (Required) float 0
Y (Required) float 1