2018-12-03 18:40:57 -05:00
|
|
|
protocol_packet_ids!(
|
|
|
|
handshake Handshaking {
|
|
|
|
serverbound Serverbound {
|
|
|
|
0x00 => Handshake
|
|
|
|
}
|
|
|
|
clientbound Clientbound {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
play Play {
|
|
|
|
serverbound Serverbound {
|
|
|
|
0x00 => TeleportConfirm
|
|
|
|
0x01 => TabComplete
|
|
|
|
0x02 => ChatMessage
|
|
|
|
0x03 => ClientStatus
|
|
|
|
0x04 => ClientSettings
|
|
|
|
0x05 => ConfirmTransactionServerbound
|
|
|
|
0x06 => EnchantItem
|
|
|
|
0x07 => ClickWindow
|
|
|
|
0x08 => CloseWindow
|
|
|
|
0x09 => PluginMessageServerbound
|
1.16.1 protocol support (736) (#345)
* Update shifted packet ids
* Add new smithing recipe type
* Also support 1.16 (735), same packets as 1.16.1 (736)
New packets:
* GenerateStructure
New packet variants:
* UseEntity_Sneakflag, split from UseEntity_Hand
* ClientAbilities_u8, split from ClientAbilities_f32
* UpdateJigsawBlock_Joint, split from UpdateJigsawBlock_Type
* ServerMessage_Sender, split from ServerMessage_Position
* ChunkData_Biomes3D_bool, split from ChunkData_Biomes3D
* JoinGame_WorldNames, split from JoinGame_HashedSeed_Respawn
* Respawn_WorldName, split from Respawn_Gamemode
* EntityEquipment_VarInt renamed
* UpdateLight_WithTrust, split from UpdateLight_NoTrust
* LoginSuccess_UUID, split from LoginSuccess_String
2020-06-27 21:39:59 -04:00
|
|
|
0x0a => UseEntity_Hand
|
2018-12-03 18:40:57 -05:00
|
|
|
0x0b => KeepAliveServerbound_VarInt
|
|
|
|
0x0c => PlayerPosition
|
|
|
|
0x0d => PlayerPositionLook
|
|
|
|
0x0e => PlayerLook
|
|
|
|
0x0f => Player
|
|
|
|
0x10 => VehicleMove
|
|
|
|
0x11 => SteerBoat
|
1.16.1 protocol support (736) (#345)
* Update shifted packet ids
* Add new smithing recipe type
* Also support 1.16 (735), same packets as 1.16.1 (736)
New packets:
* GenerateStructure
New packet variants:
* UseEntity_Sneakflag, split from UseEntity_Hand
* ClientAbilities_u8, split from ClientAbilities_f32
* UpdateJigsawBlock_Joint, split from UpdateJigsawBlock_Type
* ServerMessage_Sender, split from ServerMessage_Position
* ChunkData_Biomes3D_bool, split from ChunkData_Biomes3D
* JoinGame_WorldNames, split from JoinGame_HashedSeed_Respawn
* Respawn_WorldName, split from Respawn_Gamemode
* EntityEquipment_VarInt renamed
* UpdateLight_WithTrust, split from UpdateLight_NoTrust
* LoginSuccess_UUID, split from LoginSuccess_String
2020-06-27 21:39:59 -04:00
|
|
|
0x12 => ClientAbilities_f32
|
2018-12-03 18:40:57 -05:00
|
|
|
0x13 => PlayerDigging
|
|
|
|
0x14 => PlayerAction
|
|
|
|
0x15 => SteerVehicle
|
|
|
|
0x16 => ResourcePackStatus_hash
|
|
|
|
0x17 => HeldItemChange
|
|
|
|
0x18 => CreativeInventoryAction
|
|
|
|
0x19 => SetSign
|
|
|
|
0x1a => ArmSwing
|
|
|
|
0x1b => SpectateTeleport
|
|
|
|
0x1c => PlayerBlockPlacement_u8
|
|
|
|
0x1d => UseItem
|
|
|
|
}
|
|
|
|
clientbound Clientbound {
|
|
|
|
0x00 => SpawnObject
|
|
|
|
0x01 => SpawnExperienceOrb
|
|
|
|
0x02 => SpawnGlobalEntity
|
|
|
|
0x03 => SpawnMob_u8
|
2019-08-17 16:36:07 -04:00
|
|
|
0x04 => SpawnPainting_String
|
2018-12-03 22:29:02 -05:00
|
|
|
0x05 => SpawnPlayer_f64
|
2018-12-03 18:40:57 -05:00
|
|
|
0x06 => Animation
|
|
|
|
0x07 => Statistics
|
|
|
|
0x08 => BlockBreakAnimation
|
|
|
|
0x09 => UpdateBlockEntity
|
|
|
|
0x0a => BlockAction
|
1.7.10 (5) multiprotocol support (#64)
Adds 1.7.10 protocol version 5 support, a major update with significant changes.
Expands https://github.com/iceiix/steven/issues/18 Enhance protocol support
* Add v1_7_10 protocol packet structures and IDs
* EncryptionRequest/Response i16 variant in login protocol
* 1.7.10 slot NBT data parsing
* Support both 1.7/1.8+ item::Stack in read_from, using if protocol_verson
* 1.7.10 chunk format support, ChunkDataBulk_17 and ChunkData_17
* Extract dirty_chunks_by_bitmask from load_chunks17/18/19
* Implement keepalive i32 handler
* Send PlayerPositionLook_HeadY
* Send PlayerBlockPlacement_u8_Item_u8y
* Handle JoinGame_i8_NoDebug
* Handle SpawnPlayer_i32_HeldItem_String
* BlockChange_u8, MultiBlockChange_i16, UpdateBlockEntity_Data, EntityMove_i8_i32_NoGround, EntityLook_i32_NoGround, EntityLookAndMove_i8_i32_NoGround
* UpdateSign_u16, PlayerInfo_String, EntityDestroy_u8, EntityTeleport_i32_i32_NoGround
* Send feet_y = head_y - 1.62, fixes Illegal stance
https://wiki.vg/index.php?title=Protocol&oldid=6003#Player_Position
> Updates the players XYZ position on the server. If HeadY - FeetY is less than 0.1 or greater than 1.65, the stance is illegal and the client will be kicked with the message “Illegal Stance”.
> Absolute feet position, normally HeadY - 1.62. Used to modify the players bounding box when going up stairs, crouching, etc…
* Set on_ground = true in entity teleport, fixes bouncing
* Implement block change, fix metadata/id packing, bounce _u8 through on_block_change
* Implement on_multi_block_change_u16, used with explosions
2018-12-15 22:56:54 -05:00
|
|
|
0x0b => BlockChange_VarInt
|
2018-12-03 18:40:57 -05:00
|
|
|
0x0c => BossBar
|
|
|
|
0x0d => ServerDifficulty
|
|
|
|
0x0e => TabCompleteReply
|
1.16.1 protocol support (736) (#345)
* Update shifted packet ids
* Add new smithing recipe type
* Also support 1.16 (735), same packets as 1.16.1 (736)
New packets:
* GenerateStructure
New packet variants:
* UseEntity_Sneakflag, split from UseEntity_Hand
* ClientAbilities_u8, split from ClientAbilities_f32
* UpdateJigsawBlock_Joint, split from UpdateJigsawBlock_Type
* ServerMessage_Sender, split from ServerMessage_Position
* ChunkData_Biomes3D_bool, split from ChunkData_Biomes3D
* JoinGame_WorldNames, split from JoinGame_HashedSeed_Respawn
* Respawn_WorldName, split from Respawn_Gamemode
* EntityEquipment_VarInt renamed
* UpdateLight_WithTrust, split from UpdateLight_NoTrust
* LoginSuccess_UUID, split from LoginSuccess_String
2020-06-27 21:39:59 -04:00
|
|
|
0x0f => ServerMessage_Position
|
1.7.10 (5) multiprotocol support (#64)
Adds 1.7.10 protocol version 5 support, a major update with significant changes.
Expands https://github.com/iceiix/steven/issues/18 Enhance protocol support
* Add v1_7_10 protocol packet structures and IDs
* EncryptionRequest/Response i16 variant in login protocol
* 1.7.10 slot NBT data parsing
* Support both 1.7/1.8+ item::Stack in read_from, using if protocol_verson
* 1.7.10 chunk format support, ChunkDataBulk_17 and ChunkData_17
* Extract dirty_chunks_by_bitmask from load_chunks17/18/19
* Implement keepalive i32 handler
* Send PlayerPositionLook_HeadY
* Send PlayerBlockPlacement_u8_Item_u8y
* Handle JoinGame_i8_NoDebug
* Handle SpawnPlayer_i32_HeldItem_String
* BlockChange_u8, MultiBlockChange_i16, UpdateBlockEntity_Data, EntityMove_i8_i32_NoGround, EntityLook_i32_NoGround, EntityLookAndMove_i8_i32_NoGround
* UpdateSign_u16, PlayerInfo_String, EntityDestroy_u8, EntityTeleport_i32_i32_NoGround
* Send feet_y = head_y - 1.62, fixes Illegal stance
https://wiki.vg/index.php?title=Protocol&oldid=6003#Player_Position
> Updates the players XYZ position on the server. If HeadY - FeetY is less than 0.1 or greater than 1.65, the stance is illegal and the client will be kicked with the message “Illegal Stance”.
> Absolute feet position, normally HeadY - 1.62. Used to modify the players bounding box when going up stairs, crouching, etc…
* Set on_ground = true in entity teleport, fixes bouncing
* Implement block change, fix metadata/id packing, bounce _u8 through on_block_change
* Implement on_multi_block_change_u16, used with explosions
2018-12-15 22:56:54 -05:00
|
|
|
0x10 => MultiBlockChange_VarInt
|
2018-12-03 18:40:57 -05:00
|
|
|
0x11 => ConfirmTransaction
|
|
|
|
0x12 => WindowClose
|
|
|
|
0x13 => WindowOpen
|
2021-09-05 16:30:32 -04:00
|
|
|
0x14 => WindowItems_i16
|
2018-12-03 18:40:57 -05:00
|
|
|
0x15 => WindowProperty
|
|
|
|
0x16 => WindowSetSlot
|
|
|
|
0x17 => SetCooldown
|
|
|
|
0x18 => PluginMessageClientbound
|
|
|
|
0x19 => NamedSoundEffect_u8
|
|
|
|
0x1a => Disconnect
|
|
|
|
0x1b => EntityAction
|
2021-09-05 16:30:32 -04:00
|
|
|
0x1c => Explosion_i32
|
2018-12-03 18:40:57 -05:00
|
|
|
0x1d => ChunkUnload
|
|
|
|
0x1e => ChangeGameState
|
|
|
|
0x1f => KeepAliveClientbound_VarInt
|
|
|
|
0x20 => ChunkData_NoEntities
|
|
|
|
0x21 => Effect
|
2019-01-26 16:39:25 -05:00
|
|
|
0x22 => Particle_VarIntArray
|
2018-12-03 19:06:20 -05:00
|
|
|
0x23 => JoinGame_i32
|
2020-12-28 17:02:05 -05:00
|
|
|
0x24 => Maps_NoLocked
|
2018-12-03 22:29:02 -05:00
|
|
|
0x25 => EntityMove_i16
|
|
|
|
0x26 => EntityLookAndMove_i16
|
1.7.10 (5) multiprotocol support (#64)
Adds 1.7.10 protocol version 5 support, a major update with significant changes.
Expands https://github.com/iceiix/steven/issues/18 Enhance protocol support
* Add v1_7_10 protocol packet structures and IDs
* EncryptionRequest/Response i16 variant in login protocol
* 1.7.10 slot NBT data parsing
* Support both 1.7/1.8+ item::Stack in read_from, using if protocol_verson
* 1.7.10 chunk format support, ChunkDataBulk_17 and ChunkData_17
* Extract dirty_chunks_by_bitmask from load_chunks17/18/19
* Implement keepalive i32 handler
* Send PlayerPositionLook_HeadY
* Send PlayerBlockPlacement_u8_Item_u8y
* Handle JoinGame_i8_NoDebug
* Handle SpawnPlayer_i32_HeldItem_String
* BlockChange_u8, MultiBlockChange_i16, UpdateBlockEntity_Data, EntityMove_i8_i32_NoGround, EntityLook_i32_NoGround, EntityLookAndMove_i8_i32_NoGround
* UpdateSign_u16, PlayerInfo_String, EntityDestroy_u8, EntityTeleport_i32_i32_NoGround
* Send feet_y = head_y - 1.62, fixes Illegal stance
https://wiki.vg/index.php?title=Protocol&oldid=6003#Player_Position
> Updates the players XYZ position on the server. If HeadY - FeetY is less than 0.1 or greater than 1.65, the stance is illegal and the client will be kicked with the message “Illegal Stance”.
> Absolute feet position, normally HeadY - 1.62. Used to modify the players bounding box when going up stairs, crouching, etc…
* Set on_ground = true in entity teleport, fixes bouncing
* Implement block change, fix metadata/id packing, bounce _u8 through on_block_change
* Implement on_multi_block_change_u16, used with explosions
2018-12-15 22:56:54 -05:00
|
|
|
0x27 => EntityLook_VarInt
|
2018-12-03 18:40:57 -05:00
|
|
|
0x28 => Entity
|
|
|
|
0x29 => VehicleTeleport
|
|
|
|
0x2a => SignEditorOpen
|
|
|
|
0x2b => PlayerAbilities
|
|
|
|
0x2c => CombatEvent
|
|
|
|
0x2d => PlayerInfo
|
2018-12-03 22:29:02 -05:00
|
|
|
0x2e => TeleportPlayer_WithConfirm
|
2018-12-03 18:40:57 -05:00
|
|
|
0x2f => EntityUsedBed
|
|
|
|
0x30 => EntityDestroy
|
|
|
|
0x31 => EntityRemoveEffect
|
|
|
|
0x32 => ResourcePackSend
|
1.16.1 protocol support (736) (#345)
* Update shifted packet ids
* Add new smithing recipe type
* Also support 1.16 (735), same packets as 1.16.1 (736)
New packets:
* GenerateStructure
New packet variants:
* UseEntity_Sneakflag, split from UseEntity_Hand
* ClientAbilities_u8, split from ClientAbilities_f32
* UpdateJigsawBlock_Joint, split from UpdateJigsawBlock_Type
* ServerMessage_Sender, split from ServerMessage_Position
* ChunkData_Biomes3D_bool, split from ChunkData_Biomes3D
* JoinGame_WorldNames, split from JoinGame_HashedSeed_Respawn
* Respawn_WorldName, split from Respawn_Gamemode
* EntityEquipment_VarInt renamed
* UpdateLight_WithTrust, split from UpdateLight_NoTrust
* LoginSuccess_UUID, split from LoginSuccess_String
2020-06-27 21:39:59 -04:00
|
|
|
0x33 => Respawn_Gamemode
|
2018-12-03 18:40:57 -05:00
|
|
|
0x34 => EntityHeadLook
|
|
|
|
0x35 => WorldBorder
|
|
|
|
0x36 => Camera
|
|
|
|
0x37 => SetCurrentHotbarSlot
|
|
|
|
0x38 => ScoreboardDisplay
|
|
|
|
0x39 => EntityMetadata
|
|
|
|
0x3a => EntityAttach
|
|
|
|
0x3b => EntityVelocity
|
1.16.1 protocol support (736) (#345)
* Update shifted packet ids
* Add new smithing recipe type
* Also support 1.16 (735), same packets as 1.16.1 (736)
New packets:
* GenerateStructure
New packet variants:
* UseEntity_Sneakflag, split from UseEntity_Hand
* ClientAbilities_u8, split from ClientAbilities_f32
* UpdateJigsawBlock_Joint, split from UpdateJigsawBlock_Type
* ServerMessage_Sender, split from ServerMessage_Position
* ChunkData_Biomes3D_bool, split from ChunkData_Biomes3D
* JoinGame_WorldNames, split from JoinGame_HashedSeed_Respawn
* Respawn_WorldName, split from Respawn_Gamemode
* EntityEquipment_VarInt renamed
* UpdateLight_WithTrust, split from UpdateLight_NoTrust
* LoginSuccess_UUID, split from LoginSuccess_String
2020-06-27 21:39:59 -04:00
|
|
|
0x3c => EntityEquipment_VarInt
|
2018-12-03 18:40:57 -05:00
|
|
|
0x3d => SetExperience
|
|
|
|
0x3e => UpdateHealth
|
|
|
|
0x3f => ScoreboardObjective
|
|
|
|
0x40 => SetPassengers
|
2019-08-11 20:46:34 -04:00
|
|
|
0x41 => Teams_u8
|
2018-12-03 18:40:57 -05:00
|
|
|
0x42 => UpdateScore
|
2021-09-05 16:30:32 -04:00
|
|
|
0x43 => SpawnPosition_NoAngle
|
2018-12-03 18:40:57 -05:00
|
|
|
0x44 => TimeUpdate
|
|
|
|
0x45 => Title_notext
|
|
|
|
0x46 => UpdateSign
|
|
|
|
0x47 => SoundEffect_u8
|
|
|
|
0x48 => PlayerListHeaderFooter
|
|
|
|
0x49 => CollectItem_nocount
|
2018-12-03 22:29:02 -05:00
|
|
|
0x4a => EntityTeleport_f64
|
2021-09-05 16:30:32 -04:00
|
|
|
0x4b => EntityProperties_VarInt
|
2018-12-03 18:40:57 -05:00
|
|
|
0x4c => EntityEffect
|
|
|
|
}
|
|
|
|
}
|
|
|
|
login Login {
|
|
|
|
serverbound Serverbound {
|
|
|
|
0x00 => LoginStart
|
|
|
|
0x01 => EncryptionResponse
|
|
|
|
}
|
|
|
|
clientbound Clientbound {
|
|
|
|
0x00 => LoginDisconnect
|
|
|
|
0x01 => EncryptionRequest
|
1.16.1 protocol support (736) (#345)
* Update shifted packet ids
* Add new smithing recipe type
* Also support 1.16 (735), same packets as 1.16.1 (736)
New packets:
* GenerateStructure
New packet variants:
* UseEntity_Sneakflag, split from UseEntity_Hand
* ClientAbilities_u8, split from ClientAbilities_f32
* UpdateJigsawBlock_Joint, split from UpdateJigsawBlock_Type
* ServerMessage_Sender, split from ServerMessage_Position
* ChunkData_Biomes3D_bool, split from ChunkData_Biomes3D
* JoinGame_WorldNames, split from JoinGame_HashedSeed_Respawn
* Respawn_WorldName, split from Respawn_Gamemode
* EntityEquipment_VarInt renamed
* UpdateLight_WithTrust, split from UpdateLight_NoTrust
* LoginSuccess_UUID, split from LoginSuccess_String
2020-06-27 21:39:59 -04:00
|
|
|
0x02 => LoginSuccess_String
|
2018-12-03 18:40:57 -05:00
|
|
|
0x03 => SetInitialCompression
|
|
|
|
}
|
|
|
|
}
|
|
|
|
status Status {
|
|
|
|
serverbound Serverbound {
|
|
|
|
0x00 => StatusRequest
|
|
|
|
0x01 => StatusPing
|
|
|
|
}
|
|
|
|
clientbound Clientbound {
|
|
|
|
0x00 => StatusResponse
|
|
|
|
0x01 => StatusPong
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|