![]() |
Cuberite
A lightweight, fast and extensible game server for Minecraft
|
The version 108 protocol, used by 1.9.1. More...
#include <Protocol_1_9.h>
Public Member Functions | |
cProtocol_1_9_1 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State) | |
virtual void | HandlePacketStatusRequest (cByteBuffer &a_ByteBuffer) override |
virtual void | SendLogin (const cPlayer &a_Player, const cWorld &a_World) override |
![]() | |
cProtocol_1_9_0 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State) | |
virtual void | DataReceived (const char *a_Data, size_t a_Size) override |
Called when client sends some data: More... | |
virtual AString | GetAuthServerID (void) override |
Returns the ServerID used for authentication through session.minecraft.net. More... | |
virtual void | SendAttachEntity (const cEntity &a_Entity, const cEntity &a_Vehicle) override |
Sending stuff to clients (alphabetically sorted): More... | |
virtual void | SendBlockAction (int a_BlockX, int a_BlockY, int a_BlockZ, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override |
virtual void | SendBlockBreakAnim (UInt32 a_EntityID, int a_BlockX, int a_BlockY, int a_BlockZ, char a_Stage) override |
virtual void | SendBlockChange (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override |
virtual void | SendBlockChanges (int a_ChunkX, int a_ChunkZ, const sSetBlockVector &a_Changes) override |
virtual void | SendCameraSetTo (const cEntity &a_Entity) override |
virtual void | SendChat (const AString &a_Message, eChatType a_Type) override |
virtual void | SendChat (const cCompositeChat &a_Message, eChatType a_Type, bool a_ShouldUseChatPrefixes) override |
virtual void | SendChatRaw (const AString &a_MessageRaw, eChatType a_Type) override |
virtual void | SendChunkData (int a_ChunkX, int a_ChunkZ, cChunkDataSerializer &a_Serializer) override |
virtual void | SendCollectEntity (const cEntity &a_Entity, const cPlayer &a_Player, int a_Count) override |
virtual void | SendDestroyEntity (const cEntity &a_Entity) override |
virtual void | SendDetachEntity (const cEntity &a_Entity, const cEntity &a_PreviousVehicle) override |
virtual void | SendDisconnect (const AString &a_Reason) override |
virtual void | SendDisplayObjective (const AString &a_Objective, cScoreboard::eDisplaySlot a_Display) override |
virtual void | SendEditSign (int a_BlockX, int a_BlockY, int a_BlockZ) override |
Request the client to open up the sign editor for the sign (1.6+) More... | |
virtual void | SendEntityAnimation (const cEntity &a_Entity, char a_Animation) override |
virtual void | SendEntityEffect (const cEntity &a_Entity, int a_EffectID, int a_Amplifier, int a_Duration) override |
virtual void | SendEntityEquipment (const cEntity &a_Entity, short a_SlotNum, const cItem &a_Item) override |
virtual void | SendEntityHeadLook (const cEntity &a_Entity) override |
virtual void | SendEntityLook (const cEntity &a_Entity) override |
virtual void | SendEntityMetadata (const cEntity &a_Entity) override |
virtual void | SendEntityProperties (const cEntity &a_Entity) override |
virtual void | SendEntityRelMove (const cEntity &a_Entity, char a_RelX, char a_RelY, char a_RelZ) override |
virtual void | SendEntityRelMoveLook (const cEntity &a_Entity, char a_RelX, char a_RelY, char a_RelZ) override |
virtual void | SendEntityStatus (const cEntity &a_Entity, char a_Status) override |
virtual void | SendEntityVelocity (const cEntity &a_Entity) override |
virtual void | SendExperience (void) override |
virtual void | SendExperienceOrb (const cExpOrb &a_ExpOrb) override |
virtual void | SendExplosion (double a_BlockX, double a_BlockY, double a_BlockZ, float a_Radius, const cVector3iArray &a_BlocksAffected, const Vector3d &a_PlayerMotion) override |
virtual void | SendGameMode (eGameMode a_GameMode) override |
virtual void | SendHealth (void) override |
virtual void | SendHeldItemChange (int a_ItemIndex) override |
virtual void | SendHideTitle (void) override |
virtual void | SendInventorySlot (char a_WindowID, short a_SlotNum, const cItem &a_Item) override |
virtual void | SendKeepAlive (UInt32 a_PingID) override |
virtual void | SendLeashEntity (const cEntity &a_Entity, const cEntity &a_EntityLeashedTo) override |
virtual void | SendLoginSuccess (void) override |
virtual void | SendMapData (const cMap &a_Map, int a_DataStartX, int a_DataStartY) override |
virtual void | SendPaintingSpawn (const cPainting &a_Painting) override |
virtual void | SendParticleEffect (const AString &a_ParticleName, float a_SrcX, float a_SrcY, float a_SrcZ, float a_OffsetX, float a_OffsetY, float a_OffsetZ, float a_ParticleData, int a_ParticleAmount) override |
virtual void | SendParticleEffect (const AString &a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array< int, 2 > a_Data) override |
virtual void | SendPickupSpawn (const cPickup &a_Pickup) override |
virtual void | SendPlayerAbilities (void) override |
virtual void | SendPlayerListAddPlayer (const cPlayer &a_Player) override |
virtual void | SendPlayerListRemovePlayer (const cPlayer &a_Player) override |
virtual void | SendPlayerListUpdateDisplayName (const cPlayer &a_Player, const AString &a_CustomName) override |
virtual void | SendPlayerListUpdateGameMode (const cPlayer &a_Player) override |
virtual void | SendPlayerListUpdatePing (const cPlayer &a_Player) override |
virtual void | SendPlayerMaxSpeed (void) override |
Informs the client of the maximum player speed (1.6.1+) More... | |
virtual void | SendPlayerMoveLook (void) override |
virtual void | SendPlayerPosition (void) override |
virtual void | SendPlayerSpawn (const cPlayer &a_Player) override |
virtual void | SendPluginMessage (const AString &a_Channel, const AString &a_Message) override |
virtual void | SendRemoveEntityEffect (const cEntity &a_Entity, int a_EffectID) override |
virtual void | SendResetTitle (void) override |
virtual void | SendRespawn (eDimension a_Dimension) override |
virtual void | SendScoreboardObjective (const AString &a_Name, const AString &a_DisplayName, Byte a_Mode) override |
virtual void | SendScoreUpdate (const AString &a_Objective, const AString &a_Player, cObjective::Score a_Score, Byte a_Mode) override |
virtual void | SendSetRawSubTitle (const AString &a_SubTitle) override |
virtual void | SendSetRawTitle (const AString &a_Title) override |
virtual void | SendSetSubTitle (const cCompositeChat &a_SubTitle) override |
virtual void | SendSetTitle (const cCompositeChat &a_Title) override |
virtual void | SendSoundEffect (const AString &a_SoundName, double a_X, double a_Y, double a_Z, float a_Volume, float a_Pitch) override |
virtual void | SendSoundParticleEffect (const EffectID a_EffectID, int a_SrcX, int a_SrcY, int a_SrcZ, int a_Data) override |
virtual void | SendSpawnFallingBlock (const cFallingBlock &a_FallingBlock) override |
virtual void | SendSpawnMob (const cMonster &a_Mob) override |
virtual void | SendSpawnObject (const cEntity &a_Entity, char a_ObjectType, int a_ObjectData, Byte a_Yaw, Byte a_Pitch) override |
virtual void | SendSpawnVehicle (const cEntity &a_Vehicle, char a_VehicleType, char a_VehicleSubType) override |
virtual void | SendStatistics (const cStatManager &a_Manager) override |
virtual void | SendTabCompletionResults (const AStringVector &a_Results) override |
virtual void | SendTeleportEntity (const cEntity &a_Entity) override |
virtual void | SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override |
virtual void | SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay, bool a_DoDaylightCycle) override |
virtual void | SendTitleTimes (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override |
virtual void | SendUnleashEntity (const cEntity &a_Entity) override |
virtual void | SendUnloadChunk (int a_ChunkX, int a_ChunkZ) override |
virtual void | SendUpdateBlockEntity (cBlockEntity &a_BlockEntity) override |
virtual void | SendUpdateSign (int a_BlockX, int a_BlockY, int a_BlockZ, const AString &a_Line1, const AString &a_Line2, const AString &a_Line3, const AString &a_Line4) override |
virtual void | SendUseBed (const cEntity &a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ) override |
virtual void | SendWeather (eWeather a_Weather) override |
virtual void | SendWholeInventory (const cWindow &a_Window) override |
virtual void | SendWindowClose (const cWindow &a_Window) override |
virtual void | SendWindowOpen (const cWindow &a_Window) override |
virtual void | SendWindowProperty (const cWindow &a_Window, short a_Property, short a_Value) override |
![]() | |
cProtocol (cClientHandle *a_Client) | |
virtual void | Initialize (cClientHandle &a_Client) |
Called after construction so that the protocol class can initialize itself. More... | |
virtual | ~cProtocol () |
Private Types | |
typedef cProtocol_1_9_0 | Super |
Additional Inherited Members | |
![]() | |
enum | ePacketType { pktAttachEntity = 0, pktBlockAction, pktBlockBreakAnim, pktBlockChange, pktBlockChanges, pktCameraSetTo, pktChatRaw, pktCollectEntity, pktDestroyEntity, pktDifficulty, pktDisconnectDuringLogin, pktDisconnectDuringGame, pktDisplayObjective, pktEditSign, pktEncryptionRequest, pktEntityAnimation, pktEntityEffect, pktEntityEquipment, pktEntityHeadLook, pktEntityLook, pktEntityMeta, pktEntityProperties, pktEntityRelMove, pktEntityRelMoveLook, pktEntityStatus, pktEntityVelocity, pktExperience, pktExplosion, pktGameMode, pktHeldItemChange, pktInventorySlot, pktJoinGame, pktKeepAlive, pktLeashEntity, pktLoginSuccess, pktMapData, pktParticleEffect, pktPingResponse, pktPlayerAbilities, pktPlayerList, pktPlayerMaxSpeed, pktPlayerMoveLook, pktPluginMessage, pktRemoveEntityEffect, pktRespawn, pktScoreboardObjective, pktSpawnObject, pktSoundEffect, pktSoundParticleEffect, pktSpawnExperienceOrb, pktSpawnGlobalEntity, pktSpawnMob, pktSpawnOtherPlayer, pktSpawnPainting, pktSpawnPosition, pktStartCompression, pktStatistics, pktStatusResponse, pktTabCompletionResults, pktTeleportEntity, pktTimeUpdate, pktTitle, pktUnloadChunk, pktUpdateBlockEntity, pktUpdateHealth, pktUpdateScore, pktUpdateSign, pktUseBed, pktWeather, pktWindowItems, pktWindowClose, pktWindowOpen, pktWindowProperty } |
Logical types of outgoing packets. More... | |
![]() | |
static bool | CompressPacket (const AString &a_Packet, AString &a_Compressed) |
Compress the packet. More... | |
static void | FixItemFramePositions (int a_ObjectData, double &a_PosX, double &a_PosZ, double &a_Yaw) |
Minecraft 1.8 use other locations to spawn the item frame. More... | |
static int | GetParticleID (const AString &a_ParticleName) |
The 1.8 protocol use a particle id instead of a string. More... | |
![]() | |
enum | eMetadataType { METADATA_TYPE_BYTE = 0, METADATA_TYPE_VARINT = 1, METADATA_TYPE_FLOAT = 2, METADATA_TYPE_STRING = 3, METADATA_TYPE_CHAT = 4, METADATA_TYPE_ITEM = 5, METADATA_TYPE_BOOL = 6, METADATA_TYPE_ROTATION = 7, METADATA_TYPE_POSITION = 8, METADATA_TYPE_OPTIONAL_POSITION = 9, METADATA_TYPE_DIRECTION = 10, METADATA_TYPE_OPTIONAL_UUID = 11, METADATA_TYPE_BLOCKID = 12 } |
Types used within metadata. More... | |
![]() | |
void | AddReceivedData (const char *a_Data, size_t a_Size) |
Adds the received (unencrypted) data to m_ReceivedData, parses complete packets. More... | |
eBlockFace | FaceIntToBlockFace (Int32 a_FaceInt) |
Converts the BlockFace received by the protocol into eBlockFace constants. More... | |
virtual UInt32 | GetPacketID (ePacketType a_Packet) override |
Get the packet ID for a given packet. More... | |
eHand | HandIntToEnum (Int32 a_Hand) |
Converts the hand parameter received by the protocol into eHand constants. More... | |
virtual void | HandleConfirmTeleport (cByteBuffer &a_ByteBuffer) |
virtual bool | HandlePacket (cByteBuffer &a_ByteBuffer, UInt32 a_PacketType) |
Reads and handles the packet. More... | |
virtual void | HandlePacketAnimation (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketBlockDig (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketBlockPlace (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketBoatSteer (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketChatMessage (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketClientSettings (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketClientStatus (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketCreativeInventoryAction (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketEnchantItem (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketEntityAction (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketKeepAlive (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketLoginEncryptionResponse (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketLoginStart (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketPlayer (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketPlayerAbilities (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketPlayerLook (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketPlayerPos (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketPlayerPosLook (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketPluginMessage (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketSlotSelect (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketSpectate (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketStatusPing (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketSteerVehicle (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketTabComplete (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketUpdateSign (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketUseEntity (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketUseItem (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketVehicleMove (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketWindowClick (cByteBuffer &a_ByteBuffer) |
virtual void | HandlePacketWindowClose (cByteBuffer &a_ByteBuffer) |
virtual void | HandleVanillaPluginMessage (cByteBuffer &a_ByteBuffer, const AString &a_Channel) |
Parses Vanilla plugin messages into specific ClientHandle calls. More... | |
void | ParseItemMetadata (cItem &a_Item, const AString &a_Metadata) |
Parses item metadata as read by ReadItem(), into the item enchantments. More... | |
virtual bool | ReadItem (cByteBuffer &a_ByteBuffer, cItem &a_Item, size_t a_KeepRemainingBytes=0) |
Reads an item out of the received data, sets a_Item to the values read. More... | |
void | SendCompass (const cWorld &a_World) |
virtual void | SendData (const char *a_Data, size_t a_Size) override |
Sends the data to the client, encrypting them if needed. More... | |
virtual void | SendPacket (cPacketizer &a_Packet) override |
Sends the packet to the client. More... | |
void | StartEncryption (const Byte *a_Key) |
virtual void | WriteBlockEntity (cPacketizer &a_Pkt, const cBlockEntity &a_BlockEntity) |
Writes the block entity data for the specified block entity into the packet. More... | |
virtual void | WriteEntityMetadata (cPacketizer &a_Pkt, const cEntity &a_Entity) |
Writes the metadata for the specified entity, not including the terminating 0xff. More... | |
void | WriteEntityProperties (cPacketizer &a_Pkt, const cEntity &a_Entity) |
Writes the entity properties for the specified entity, including the Count field. More... | |
virtual void | WriteItem (cPacketizer &a_Pkt, const cItem &a_Item) |
Writes the item data into a packet. More... | |
virtual void | WriteMobMetadata (cPacketizer &a_Pkt, const cMonster &a_Mob) |
Writes the mob-specific metadata for the specified mob. More... | |
![]() | |
AString | m_AuthServerID |
cFile | m_CommLogFile |
The logfile where the comm is logged, when g_ShouldLogComm is true. More... | |
cAesCfb128Decryptor | m_Decryptor |
cAesCfb128Encryptor | m_Encryptor |
bool | m_IsEncrypted |
bool | m_IsTeleportIdConfirmed |
The current teleport ID, and whether it has been confirmed by the client. More... | |
UInt32 | m_OutstandingTeleportId |
cByteBuffer | m_ReceivedData |
Buffer for the received data. More... | |
AString | m_ServerAddress |
UInt16 | m_ServerPort |
UInt32 | m_State |
State of the protocol. More... | |
![]() | |
cClientHandle * | m_Client |
cCriticalSection | m_CSPacket |
Provides synchronization for sending the entire packet at once. More... | |
cByteBuffer | m_OutPacketBuffer |
Buffer for composing the outgoing packets, through cPacketizer. More... | |
cByteBuffer | m_OutPacketLenBuffer |
Buffer for composing packet length (so that each cPacketizer instance doesn't allocate a new cPacketBuffer) More... | |
The version 108 protocol, used by 1.9.1.
Uses an int rather than a byte for dimension in join game.
Definition at line 289 of file Protocol_1_9.h.
|
private |
Definition at line 292 of file Protocol_1_9.h.
cProtocol_1_9_1::cProtocol_1_9_1 | ( | cClientHandle * | a_Client, |
const AString & | a_ServerAddress, | ||
UInt16 | a_ServerPort, | ||
UInt32 | a_State | ||
) |
Definition at line 4304 of file Protocol_1_9.cpp.
|
overridevirtual |
Reimplemented from cProtocol_1_9_0.
Reimplemented in cProtocol_1_9_4, cProtocol_1_9_2, cProtocol_1_12_2, cProtocol_1_12_1, cProtocol_1_11_1, cProtocol_1_13, cProtocol_1_12, cProtocol_1_11_0, and cProtocol_1_10_0.
Definition at line 4348 of file Protocol_1_9.cpp.
|
overridevirtual |
Reimplemented from cProtocol_1_9_0.
Definition at line 4313 of file Protocol_1_9.cpp.