MCBE
OverviewPacketsPlayerAuthInput
ID 0x90 · 144Client → ServerMovement

PlayerAuthInput

Sent every tick with server-authoritative movement: position, rotation, input flags, pending item/block actions and vehicle state. Replaces client-bound MovePlayer as the client's movement packet.

player-auth-input.bin
struct PlayerAuthInput {
  Vec2                                         Rot;
  Vec3                                         Pos;
  Vec2                                         Move;
  float32 (LE)                                 YHeadRot;
  varuint32 [] · InputData[]                   InputData;
  InputMode                                    InputMode;
  ClientPlayMode                               PlayMode;
  NewInteractionModel                          NewInteractionModel;
  Vec2                                         InteractRotation;
  PlayerInputTick                              ClientTick;
  Vec3                                         PosDelta;
  optional byte + PackedItemUseLegacyInventoryTransaction ItemUseTransaction;
  optional byte + ItemStackRequestCereal.RequestData ItemStackRequest;
  optional byte + list[PlayerBlockActionData]  PlayerBlockActions;
  optional byte + Vec2                         VehicleRot;
  optional byte + ActorUniqueID                ClientPredictedVehicle;
  Vec2                                         AnalogMoveVector;
  Vec3                                         CameraOrientation;
  Vec2                                         RawMoveVector;
}

Structure

FieldTypeDescription
RotVec2
PosVec3
MoveVec2
Y Head Rotfloat32 (LE)
Input Datavaruint32 count + InputData[]Length-prefixed sequence.
Input ModeInputMode
Play ModeClientPlayMode
New Interaction ModelNewInteractionModel
Interact RotationVec2
Client TickPlayerInputTick
Pos DeltaVec3
Item Use Transactionoptional byte + PackedItemUseLegacyInventoryTransactionPresence flag on the wire; value omitted when absent.
Item Stack Requestoptional byte + ItemStackRequestCereal.RequestDataPresence flag on the wire; value omitted when absent.
Player Block Actionsoptional byte + list[PlayerBlockActionData]Presence flag on the wire; value omitted when absent.
Vehicle Rotoptional byte + Vec2Presence flag on the wire; value omitted when absent.
Client Predicted Vehicleoptional byte + ActorUniqueIDPresence flag on the wire; value omitted when absent.
Analog Move VectorVec2
Camera OrientationVec3
Raw Move VectorVec2

Structure of Vec2

FieldTypeDescription
Xfloat32 (LE)
Yfloat32 (LE)

Structure of Vec3

FieldTypeDescription
Xfloat32 (LE)
Yfloat32 (LE)
Zfloat32 (LE)

Structure of PackedItemUseLegacyInventoryTransaction

FieldTypeDescription
IdItemStackLegacyRequestId
Slotsoptional byte + list[LegacySetSlot]Presence flag on the wire; value omitted when absent.
TransactionItemUseInventoryTransaction

Structure of RequestData

FieldTypeDescription
Client Request IdItemStackRequestId
Actionsvaruint32 count + TakeActionData | PlaceActionData | SwapActionData | DropActionData | DestroyActionData | ConsumeActionData | CreateActionData | LabTableCombineActionData | BeaconPaymentActionData | MineBlockActionData | CraftRecipeActionData | CraftRecipeAutoActionData | CraftCreativeActionData | CraftRecipeOptionalActionData | CraftRepairAndDisenchantActionData | CraftLoomActionData | CraftNonImplementedActionData | CraftResultsActionData[]Length-prefixed sequence.
Strings To Filtervaruint32 count + string[]Length-prefixed sequence.
Strings To Filter Originint32 (LE)

Structure of PlayerBlockActionData

FieldTypeDescription
Player Action TypePlayerActionType
PosBlockPos
Facingvarint32

Structure of ItemStackLegacyRequestId

FieldTypeDescription
Raw Idvarint32

Structure of LegacySetSlot

FieldTypeDescription
Container EnumContainerEnumName
Slotsbyte[]

Structure of ItemUseInventoryTransaction

FieldTypeDescription
Actionsvaruint32 count + InventoryAction[]Length-prefixed sequence.
Action Typevaruint32
Trigger TypeItemUseInventoryTransaction.TriggerType
PosBlockPos
Facevarint32
Slotvarint32
ItemSerializedNetworkItemStackDescriptor
From PosVec3
Click PosVec3
Target Block Idvaruint32
Client Predicted ResultItemUseInventoryTransaction.PredictedResult
Client Cooldown StateItemUseInventoryTransaction.ClientCooldownState

Structure of ItemStackRequestId

FieldTypeDescription
Raw Idvarint32

Structure of TakeActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.TAKEFixed tag written on the wire.
Amountuint8
SourceSlotInfoData
DestinationSlotInfoData

Structure of PlaceActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.PLACEFixed tag written on the wire.
Amountuint8
SourceSlotInfoData
DestinationSlotInfoData

Structure of SwapActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.SWAPFixed tag written on the wire.
SourceSlotInfoData
DestinationSlotInfoData

Structure of DropActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.DROPFixed tag written on the wire.
Amountuint8
SourceSlotInfoData
Randomlybool

Structure of DestroyActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.DESTROYFixed tag written on the wire.
Amountuint8
SourceSlotInfoData

Structure of ConsumeActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CONSUMEFixed tag written on the wire.
Amountuint8
SourceSlotInfoData

Structure of CreateActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CREATEFixed tag written on the wire.
Results Indexuint8

Structure of LabTableCombineActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.SCREEN_LAB_TABLE_COMBINEFixed tag written on the wire.

Structure of BeaconPaymentActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.SCREEN_BEACON_PAYMENTFixed tag written on the wire.
Primary Effect Idvarint32
Secondary Effect Idvarint32

Structure of MineBlockActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.SCREEN_HUD_MINE_BLOCKFixed tag written on the wire.
Slotvarint32
Predicted Durabilityvarint32
Net Id Variantint32 (LE)

Structure of CraftRecipeActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_RECIPEFixed tag written on the wire.
Recipe Net IdRecipeNetId
Num Craftsuint8

Structure of CraftRecipeAutoActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_RECIPE_AUTOFixed tag written on the wire.
Recipe Net IdRecipeNetId
Num Craftsuint8
Ingredientsvaruint32 count + RecipeIngredientData[]Length-prefixed sequence.

Structure of CraftCreativeActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_CREATIVEFixed tag written on the wire.
Creative Item Net Idvaruint32
Num Craftsuint8

Structure of CraftRecipeOptionalActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_RECIPE_OPTIONALFixed tag written on the wire.
Recipe Net IdRecipeNetId
Filtered String Indexint32 (LE)

Structure of CraftRepairAndDisenchantActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_REPAIR_AND_DISENCHANTFixed tag written on the wire.
Recipe Net Idint32 (LE)
Num Craftsuint8
Repair Costvarint32

Structure of CraftLoomActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_LOOMFixed tag written on the wire.
Pattern Name Idstring
Num Craftsuint8

Structure of CraftNonImplementedActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_NON_IMPLEMENTED_DEPRECATEDASKTYLAINGFixed tag written on the wire.

Structure of CraftResultsActionData

FieldTypeDescription
Action Typeconstant ItemStackRequestActionType.CRAFT_RESULTS_DEPRECATEDASKTYLAINGFixed tag written on the wire.
Craft Resultsvaruint32 count + NetworkItemInstanceDescriptorData[]Length-prefixed sequence.
Num Craftsuint8

InputData (selected) values

3 JumpDown
6 Jumping
8 Sneaking
20 Sprinting
29 StartSwimming
32 StartGliding
34 PerformItemInteraction
35 PerformBlockActions
36 PerformItemStackRequest
37 HandledTeleport
39 MissedSwing
42 StartFlying
45 IsInClientPredictedVehicle
49 HorizontalCollision
50 VerticalCollision
65 InternalUpdate

Notes

  • Since 1.26.40 (cereal) the input flags are no longer a bitset: Input Data is now a varuint32-length-prefixed list of InputData enum values (ascending, unique).
  • Conditional payloads became explicit optionals: Item Use Transaction, Item Stack Request, Player Block Actions, Vehicle Rot and Client Predicted Vehicle each carry a presence byte.
  • Which optionals are present is signalled by flags in Input Data: PerformItemInteraction (34), PerformItemStackRequest (36), PerformBlockActions (35), IsInClientPredictedVehicle (45).
  • Tick is the client's input tick; servers echo it in correction packets.