Minecraft Bedrock Protocol Documentation
Documentation for 166 protocol packets.
Packet List
-
LoginPacket (1)
Sent once from client to server at login. About
100k.
-
PlayStatusPacket (2)
Describes the login status of the player
-
ServerToClientHandshakePacket (3)
Server->Client Handshake
-
ClientToServerHandshakePacket (4)
Sets up encryption and authenticates in educational
version once at level startup from client.
-
TextPacket (9)
Represents a text message that needs to be displayed
in-game
-
SetTimePacket (10)
Set Time
-
RemoveActorPacket (14)
Occasionally, during the server player tick some time
is taken to remove nearby actors from the worl...
-
ServerPlayerPostMovePositionPacket
(16)
Used to send a player's server position to the
respective client at the end of movement.
-
TakeItemActorPacket (17)
A packet sent to the server when deal with picking up
an item off the ground in the world.
-
MoveActorAbsolutePacket (18)
This is used primarily for motion updates of all
actors from server to client.
-
UpdateBlockPacket (21)
Occasional packets sent from server when blocks
update or are ticked. (For example, when digging.)
-
AddPaintingPacket (22)
Sends the information for a new painting actor from
server to client.
-
LevelEventPacket (25)
Splash Potions, weather events, global pause, simlock
commands, oh my!
-
BlockEventPacket (26)
Whenever a block event happens it is sent from the
server to sync client and server, with arbitraril...
-
ActorEventPacket (27)
All kinds of actor state changes (see
Actor::handleEntityEvent).
-
MobEffectPacket (28)
Mob Effect
-
InteractPacket (33)
Interact
-
BlockPickRequestPacket (34)
Player picks up a block in the world; client to
server.
-
ActorPickRequestPacket (35)
Player clicks on an actor in the world, eg a
chicken.
-
PlayerActionPacket (36)
Sent from the client whenever the player performs an
action (dashing, un-dashing, use an item, mine/...
-
HurtArmorPacket (38)
Hurt Armor
-
SetActorMotionPacket (40)
This is used for the server to set the velocity of a
client actor.
-
SetActorLinkPacket (41)
Sent by both client and server, only received by
LegacyClientHandler.
-
SetHealthPacket (42)
This packet is sent to the client when the player is
spawned in and when they respawn.
-
SetSpawnPositionPacket (43)
When a player logs in or the SetWorldSpawnCommand is
used this is sent from the server to the client...
-
AnimatePacket (44)
Animate Actor
-
RespawnPacket (45)
Sent as a handshake between the client and server to
respawn the player.
-
ContainerOpenPacket (46)
Sent from the server so that the client knows to open
the container screen and do the chest opening ...
-
ContainerClosePacket (47)
After the game deletes the container manager on the
client, the client sends this packet.
Then the ...
-
PlayerHotbarPacket (48)
Sent from the server when the player uses pick block
on actors or blocks, in addition to the player ...
-
ContainerSetDataPacket (51)
This is sent from the server basically any time that
the "cooking" state of the brewing stand or the...
-
GuiDataPickItemPacket (54)
The server telling the client what item slot to hover
over in the hotbar.
-
BlockActorDataPacket (56)
Sends the entire user data compound tag and the block
position to the client.
-
SetCommandsEnabledPacket (59)
This is used by the world settings screen, cheats,
EDU builds for teachers, and various other places...
-
SetDifficultyPacket (60)
Set Difficulty
-
ChangeDimensionPacket (61)
The server sends this packet from the level to kick
off dimension changing process.
-
SetPlayerGameTypePacket (62)
Set Player Game Type
-
SimpleEventPacket (64)
This packet is used for enabling/disabling commands
and for unlocking world template settings (both ...
-
LegacyTelemetryEventPacket (65)
Sends telemetry events to the client so the client
can then send that on to the eventing system
-
SpawnExperienceOrbPacket (66)
Spawn Experience Orb
-
MapInfoRequestPacket (68)
In the case of the client being unable to find map
data for a map item it sends a uuid for a map to ...
-
RequestChunkRadiusPacket (69)
The client can't just change the view radius without
the server's approval, otherwise there could be...
-
ChunkRadiusUpdatedPacket (70)
Sent when the world is loading. We don't know why it
is sent four times. Defines the tick distance.
-
GameRulesChangedPacket (72)
Updates game rules.
-
CameraPacket (73)
Used only in EDU through the tripod camera item or
the TakePictureCommand. Sends the camera actor id...
-
ShowCreditsPacket (75)
Starts on server when the credits screen should pop
up.
-
AvailableCommandsPacket (76)
Contains all the available commands.
-
CommandRequestPacket (77)
"slash" command execution, client to server.
-
CommandOutputPacket (79)
"slash" command execution output, server to
client.
-
UpdateTradePacket (80)
This is used when the player trades with an npc. This
sends all of the updated trade info in one big...
-
UpdateEquipPacket (81)
Seemingly only used for the Horse Inventory... More
specifically when the player opens the horse inv...
-
ResourcePackDataInfoPacket (82)
Resource Pack Data Info
-
ResourcePackChunkDataPacket (83)
Resource Pack Chunk Data
-
ResourcePackChunkRequestPacket (84)
Resource Pack Chunk Request
-
TransferPacket (85)
Used to kick off transferring the client between
online games, or it can be used to cause players to...
-
PlaySoundPacket (86)
This packet is only used via command or script event.
This is for 3rd party content.
-
StopSoundPacket (87)
Allows you to stop a sound or all sounds on all
clients, only used in a /command
-
SetTitlePacket (88)
Used by 3rd party content for the purpose of showing
ui banners
-
AddBehaviorTreePacket (89)
Add Behavior Tree
-
ShowStoreOfferPacket (91)
Used for redirecting a user to the right
offer.
-
PurchaseReceiptPacket (92)
Sent from client to server
-
AutomationClientConnectPacket (95)
Initiates websocket connection
-
SetLastHurtByPacket (96)
Any time a player is hit, the id of the last mob that
attacked them is sent to the client
-
NpcRequestPacket (98)
Used for a number of interactions with the NPC
Component
-
PhotoTransferPacket (99)
There is a camera item in EDU and they can use it to
take screenshots and add them to a scrapbook.
-
ModalFormRequestPacket (100)
Modal Form Request
-
ModalFormResponsePacket (101)
Fired in response to third party server request to
show the custom UI screen.
-
ServerSettingsRequestPacket (102)
Sent during the initialization of world settings on
the client.
-
ServerSettingsResponsePacket (103)
Server Settings Response
-
ShowProfilePacket (104)
Show Profile
-
SetDefaultGameTypePacket (105)
Same as SetPlayerGameTypePacket &
UpdatePlayerGameTypePacket, the only difference is that this chang...
-
RemoveObjectivePacket (106)
Using the scoreboard command, users can remove
objectives that are tracked on the scoreboard.
-
SetDisplayObjectivePacket (107)
Sent from the server for 3rd party content to display
current objectives and status
-
LabTablePacket (109)
For the EDU Chemistry Lab Table block actor.
-
UpdateBlockSyncedPacket (110)
Used to sync moving blocks with clients so they
render correctly
-
SetLocalPlayerAsInitializedPacket
(113)
Set Local Player As Initialized
-
UpdateSoftEnumPacket (114)
This is used for the scoreboard and tag systems
(overwhelmingly used by 3rd party content)
-
NetworkStackLatencyPacket (115)
Ping Packet
-
SpawnParticleEffectPacket (118)
Tell client to spawn a particle effect.
-
AvailableActorIdentifiersPacket
(119)
Sends the whole list of actor identifiers at game
start from the server.
-
NetworkChunkPublisherUpdatePacket
(121)
Tells clients to update the chunk view for the local
player.
-
LevelSoundEventPacket (123)
Level Sound Event
-
LevelEventGenericPacket (124)
LevelEventGenericPacket
-
LecternUpdatePacket (125)
This is used for the Lectern Block Actor.
-
ClientCacheStatusPacket (129)
It is sent by the Client once, at login, to
communicate if it supports the cache or not.
-
OnScreenTextureAnimationPacket (130)
On-Screen Texture Animation
-
MapCreateLockedCopyPacket (131)
This is fired when the user locks a map item
utilizing the Cartography Table in game.
-
StructureTemplateDataRequestPacket
(132)
Used to request structure information from a
server.
-
StructureTemplateDataResponsePacket
(133)
This is used in exporting from load, exporting from
save, and querying saved structures from structu...
-
EducationSettingsPacket (137)
Transmits EducationLevelSettings to all
clients.
-
EmotePacket (138)
A client sends this to the server to notify other
clients about the emote.
-
MultiplayerSettingsPacket (139)
Syncs multiplayer settings
-
SettingsCommandPacket (140)
Requests a setting to be changed through
commands.
-
AnvilDamagePacket (141)
Requests an anvil to be damaged.
-
CompletedUsingItemPacket (142)
Send server to client to complete the using item
process. An example is when you finish drinking or ...
-
NetworkSettingsPacket (143)
Sends tunable options from host to client
(compression threshold and algorithm)
-
PlayerArmorDamagePacket (149)
Sent from server whenever the player's armor takes
damage.
-
CodeBuilderPacket (150)
Code Builder Packet
-
UpdatePlayerGameTypePacket (151)
The server will send this back to all clients on
receipt of the SetPlayerGameTypePacket so that cach...
-
EmoteListPacket (152)
Allows clients to download emotes that other clients
have equipped.
-
PositionTrackingDBServerBroadcastPacket
(153)
Server to client packet for server authoratative
runtime database (with persistent LevelStorage back...
-
PositionTrackingDBClientRequestPacket
(154)
Position Tracking DB Client Request
-
DebugInfoPacket (155)
The system sends debug information via a generic
network packet. This enables rendering of any serve...
-
PacketViolationWarningPacket (156)
This is sent when the client detects a malformed
packet
-
MotionPredictionHintsPacket (157)
It is essentially a SetActionMotionPacket with a bool
indicating if the actor was on the ground at t...
-
AnimateEntityPacket (158)
The AnimateEntityPacket is used to trigger a one -
off animation on the client it is sent to.
-
CameraShakePacket (159)
Used to control trigger camera shake movements on the
client's player camera
-
PlayerFogPacket (160)
Player Fog Packet
-
CorrectPlayerMovePredictionPacket
(161)
Sent to a player when their simulation of movement
mismatches enough from the server that it wants t...
-
ItemRegistryPacket (162)
Item data from the server. Contains component
information.
-
ClientboundDebugRendererPacket (164)
Used to add/remove debug rendering objects.
-
SyncActorPropertyPacket (165)
Allows us to synchronize Actor properties across the
network.
-
AddVolumeEntityPacket (166)
Sends a volume entity's definition and components
from server to client.
-
RemoveVolumeEntityPacket (167)
Sends a volume entity to be removed from server to
client.
-
SimulationTypePacket (168)
Sent from the server to the client when setting the
simulation type for toolbox mode. (Not yet supor...
-
NpcDialoguePacket (169)
Sent from the server to client when remote firing an
NPC dialogue window for a client
-
EduUriResourcePacket (170)
Transmits Edu Shared Uri Resource settings to all
clients.
-
CreatePhotoPacket (171)
Players now have the possibility to export photos
from their portfolios into photo items in their in...
-
UpdateSubChunkBlocksPacket (172)
Packet sent for every set of blocks changed in a sub
chunk every tick.
-
PlayerStartItemCooldownPacket (176)
Player Start Item Cooldown
-
ScriptMessagePacket (177)
Used to send custom messages between client and
server.
-
CodeBuilderSourcePacket (178)
This is EDU exclusive, used in getInterface() of
WebviewSystem
-
TickingAreasLoadStatusPacket (179)
Used to inform the client that the server is waiting
for ticking areas to finish preloading.
-
AgentActionEventPacket (181)
packet containing data of Agent Action Type
-
ChangeMobPropertyPacket (182)
packet containing data for changing mob
property
-
LessonProgressPacket (183)
Lesson Progress
-
RequestAbilityPacket (184)
Sent from client to server. Used to request an
ability change.
-
RequestPermissionsPacket (185)
Sent from client to server. Used to request a new
Permissions Levels.
-
ToastRequestPacket (186)
Pushes a UI toast message to be displayed by the
client
-
UpdateAdventureSettingsPacket (188)
UpdateAdventureSettingsPacket
-
DeathInfoPacket (189)
Sent from the server to client when player dies
(Level::onPlayerDeath).
-
EditorNetworkPacket (190)
General use Editor specific packet - carries a
payload of whatever serialized data that the individu...
-
FeatureRegistryPacket (191)
This is the packet that tracks the active feature
registry data from the server so that client can p...
-
ServerStatsPacket (192)
Used to send performance and other valuable stats
back to the client
-
RequestNetworkSettingsPacket (193)
Requests tunable options from host to client
(compression threshold and algorithm).
-
GameTestRequestPacket (194)
Internal Text Packet
-
GameTestResultsPacket (195)
Game Test Results Packet
-
UpdateClientInputLocksPacket (196)
UpdateClientInputLocksPacket
-
CameraPresetsPacket (198)
Used to sync CameraPresets data from server to
clients.
-
UnlockedRecipesPacket (199)
Sent from server to client, for all previously
unlocked recipes on load and for any newly unlocked r...
-
CameraInstructionPacket (300)
Used to send a CameraInstruction from the server to
the specified clients.
-
OpenSignPacket (303)
Sent from the server so that the client knows to open
the sign screen.
-
AgentAnimationPacket (304)
Broadcasted to other players when an Agent performs
an animation so it gets properly replicated.
-
RefreshEntitlementsPacket (305)
Refresh Entitlements
-
PlayerToggleCrafterSlotRequestPacket
(306)
PlayerToggleCrafterSlotRequestPacket
-
SetPlayerInventoryOptionsPacket
(307)
SetPlayerInventoryOptionsPacket
-
SetHudPacket (308)
This packet is only used via the set hud command.
This is for 3rd party content.
-
AwardAchievementPacket (309)
Contains the ID of the achievement to award
-
ClientboundCloseFormPacket (310)
Sent from the server to client to force close all
server forms on the stack and return to the HUD sc...
-
ServerboundLoadingScreenPacket (312)
Sent from the client to the server to message to the
server about the state of the loading screen.
-
JigsawStructureDataPacket (313)
Jigsaw Structure data used by client jigsaw structure
worldgen. This packet contains a copy of the b...
-
CurrentStructureFeaturePacket (314)
Informs the client of which Structure Feature they
are currently occupying.
-
ServerboundDiagnosticsPacket (315)
Sent from the client to the server IF ProfilerLite is
enabled AND the creator toggle for additional ...
-
CameraAimAssistPacket (316)
CameraAimAssist
-
ContainerRegistryCleanupPacket (317)
This is used to trigger a clientside cleanup of the
dynamic container registry.
-
MovementEffectPacket (318)
These packets are sent to the client to update
specific MovementEffects
-
CameraAimAssistPresetsPacket (320)
Camera aim-assist registry presets/categories data
sent from the server to clients.
-
ClientCameraAimAssistPacket (321)
Client-side activation of aim-assist
-
UpdateClientOptionsPacket (323)
Sync the player's options (mostly settings) to the
server.
-
PlayerVideoCapturePacket (324)
Used by a test command to start/stop video
capture
-
ClientboundControlSchemeSetPacket
(327)
Set the control scheme that the player should
use
-
DebugDrawerPacket (328)
Send debug drawing shape info (from scripting) to the
client for rendering
-
ServerboundPackSettingChangePacket
(329)
Sent from the client to the server when players
change Pack Settings (pack UI).
-
ClientboundDataStorePacket (330)
Sends a list of data store properties from the server
to the client.
-
GraphicsOverrideParameterPacket
(331)
Sent from the server to the client when a server
script changes the rendering settings
-
ServerboundDataStorePacket (332)
Applies a single update to the server data store from
the client.