Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
cProtocol_1_8_0 Class Reference

#include <Protocol_1_8.h>

Inheritance diagram for cProtocol_1_8_0:
Inheritance graph
[legend]
Collaboration diagram for cProtocol_1_8_0:
Collaboration graph
[legend]

Public Member Functions

 cProtocol_1_8_0 (cClientHandle *a_Client, const AString &a_ServerAddress, State a_State)
 
virtual void DataPrepared (ContiguousByteBuffer &a_Data) override
 Called by cClientHandle to finalise a buffer of prepared data before they are sent to the client. More...
 
virtual void DataReceived (cByteBuffer &a_Buffer, ContiguousByteBuffer &a_Data) override
 Called by cClientHandle to process data, when the client sends some. 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
 
virtual void SendBlockAction (Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override
 
virtual void SendBlockBreakAnim (UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage) override
 
virtual void SendBlockChange (Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override
 
virtual void SendBlockChanges (int a_ChunkX, int a_ChunkZ, const sSetBlockVector &a_Changes) override
 
virtual void SendBossBarAdd (UInt32 a_UniqueID, const cCompositeChat &a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override
 
virtual void SendBossBarRemove (UInt32 a_UniqueID) override
 
virtual void SendBossBarUpdateFlags (UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override
 
virtual void SendBossBarUpdateHealth (UInt32 a_UniqueID, float a_FractionFilled) override
 
virtual void SendBossBarUpdateStyle (UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) override
 
virtual void SendBossBarUpdateTitle (UInt32 a_UniqueID, const cCompositeChat &a_Title) 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 (ContiguousByteBufferView a_ChunkData) override
 
virtual void SendCollectEntity (const cEntity &a_Collected, const cEntity &a_Collector, unsigned 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 (Vector3i a_BlockPos) override
 Request the client to open up the sign editor for the sign (1.6+) More...
 
virtual void SendEntityAnimation (const cEntity &a_Entity, EntityAnimation 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 SendEntityPosition (const cEntity &a_Entity) override
 
virtual void SendEntityProperties (const cEntity &a_Entity) 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 (Vector3f a_Position, float a_Power) 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 SendInitRecipes (UInt32 a_RecipeID) 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 SendLogin (const cPlayer &a_Player, const cWorld &a_World) 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, Vector3f a_Src, Vector3f a_Offset, 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 SendPlayerAbilities (void) override
 
virtual void SendPlayerListAddPlayer (const cPlayer &a_Player) override
 
virtual void SendPlayerListHeaderFooter (const cCompositeChat &a_Header, const cCompositeChat &a_Footer) 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 () override
 
virtual void SendPlayerMoveLook (Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative) override
 
virtual void SendPlayerMoveLook (void) override
 
virtual void SendPlayerPermissionLevel (void) override
 
virtual void SendPlayerPosition (void) override
 
virtual void SendPlayerSpawn (const cPlayer &a_Player) override
 
virtual void SendPluginMessage (const AString &a_Channel, ContiguousByteBufferView a_Message) override
 
virtual void SendRemoveEntityEffect (const cEntity &a_Entity, int a_EffectID) override
 
virtual void SendResetTitle (void) override
 
virtual void SendResourcePack (const AString &a_ResourcePackUrl) 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, Vector3d a_Origin, float a_Volume, float a_Pitch) override
 
virtual void SendSoundParticleEffect (const EffectID a_EffectID, Vector3i a_Origin, int a_Data) override
 
virtual void SendSpawnEntity (const cEntity &a_Entity) override
 
virtual void SendSpawnMob (const cMonster &a_Mob) override
 
virtual void SendStatistics (const StatisticsManager &a_Manager) override
 
virtual void SendTabCompletionResults (const AStringVector &a_Results) override
 
virtual void SendThunderbolt (Vector3i a_BlockPos) override
 
virtual void SendTimeUpdate (cTickTimeLong a_WorldAge, cTickTimeLong a_WorldDate, 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 SendUnlockRecipe (UInt32 a_RecipeID) override
 
virtual void SendUpdateBlockEntity (cBlockEntity &a_BlockEntity) override
 
virtual void SendUpdateSign (Vector3i a_BlockPos, const AString &a_Line1, const AString &a_Line2, const AString &a_Line3, const AString &a_Line4) 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, size_t a_Property, short a_Value) override
 
- Public Member Functions inherited from cProtocol
 cProtocol (cClientHandle *a_Client)
 
virtual ~cProtocol ()
 

Static Public Member Functions

static void CompressPacket (CircularBufferCompressor &a_Packet, ContiguousByteBuffer &a_Compressed)
 Compress the packet. More...
 

Protected Member Functions

virtual UInt32 GetPacketID (ePacketType a_Packet) const override
 Get the packet ID for a given packet. More...
 
virtual unsigned char GetProtocolEntityAnimation (EntityAnimation a_Animation) const
 Converts an animation into an ID suitable for use with the Entity Animation packet. More...
 
virtual signed char GetProtocolEntityStatus (EntityAnimation a_Animation) const
 Converts an animation into an ID suitable for use with the Entity Status packet. More...
 
virtual UInt8 GetProtocolEntityType (const cEntity &a_Entity) const
 Converts an entity to a protocol-specific entity type. More...
 
virtual UInt32 GetProtocolMobType (eMonsterType a_MobType) const
 Converts eMonsterType to protocol-specific mob types. More...
 
virtual int GetProtocolParticleID (const AString &a_ParticleName) const
 The 1.8 protocol use a particle id instead of a string. More...
 
virtual Version GetProtocolVersion () const override
 Returns the protocol version. More...
 
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 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 HandlePacketResourcePackStatus (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketSlotSelect (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketSpectate (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketStatusPing (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketStatusRequest (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 HandlePacketWindowClick (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketWindowClose (cByteBuffer &a_ByteBuffer)
 
virtual void HandleVanillaPluginMessage (cByteBuffer &a_ByteBuffer, std::string_view a_Channel)
 Parses Vanilla plugin messages into specific ClientHandle calls. More...
 
virtual void ParseItemMetadata (cItem &a_Item, ContiguousByteBufferView a_Metadata) const
 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) const
 Reads an item out of the received data, sets a_Item to the values read. More...
 
virtual void SendEntitySpawn (const cEntity &a_Entity, const UInt8 a_ObjectType, const Int32 a_ObjectData)
 Sends the entity type and entity-dependent data required for the entity to initially spawn. More...
 
virtual void SendPacket (cPacketizer &a_Packet) override
 Sends the packet to the client. More...
 
virtual void WriteBlockEntity (cFastNBTWriter &a_Writer, const cBlockEntity &a_BlockEntity) const
 Writes the block entity data for the specified block entity into the packet. More...
 
virtual void WriteEntityMetadata (cPacketizer &a_Pkt, const cEntity &a_Entity) const
 Writes the metadata for the specified entity, not including the terminating 0x7f. More...
 
virtual void WriteEntityProperties (cPacketizer &a_Pkt, const cEntity &a_Entity) const
 Writes the entity properties for the specified entity, including the Count field. More...
 
virtual void WriteItem (cPacketizer &a_Pkt, const cItem &a_Item) const
 Writes the item data into a packet. More...
 
virtual void WriteMobMetadata (cPacketizer &a_Pkt, const cMonster &a_Mob) const
 Writes the mob-specific metadata for the specified mob. More...
 

Static Protected Member Functions

static eBlockFace FaceIntToBlockFace (Int32 a_FaceInt)
 Converts the BlockFace received by the protocol into eBlockFace constants. More...
 

Protected Attributes

State m_State
 State of the protocol. More...
 
- Protected Attributes inherited from cProtocol
cClientHandlem_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...
 

Private Types

using Super = cProtocol
 

Private Member Functions

void AddReceivedData (cByteBuffer &a_Buffer, ContiguousByteBufferView a_Data)
 Adds the received (unencrypted) data to m_ReceivedData, parses complete packets. More...
 
void HandlePacket (cByteBuffer &a_Buffer)
 Handle a complete packet stored in the given buffer. More...
 
void StartEncryption (const Byte *a_Key)
 

Static Private Member Functions

static const char * GetProtocolStatisticName (CustomStatistic a_Statistic)
 Converts a statistic to a protocol-specific string. More...
 

Private Attributes

AString m_AuthServerID
 
cFile m_CommLogFile
 The logfile where the comm is logged, when g_ShouldLogComm is true. More...
 
CircularBufferCompressor m_Compressor
 
cAesCfb128Decryptor m_Decryptor
 
cAesCfb128Encryptor m_Encryptor
 
CircularBufferExtractor m_Extractor
 
bool m_IsEncrypted
 
AString m_ServerAddress
 

Additional Inherited Members

- Public Types inherited from cProtocol
enum class  EntityMetadata {
  EntityFlags , EntityAir , EntityCustomName , EntityCustomNameVisible ,
  EntitySilent , EntityNoGravity , EntityPose , PotionThrown ,
  FallingBlockPosition , AreaEffectCloudRadius , AreaEffectCloudColor , AreaEffectCloudSinglePointEffect ,
  AreaEffectCloudParticleId , AreaEffectCloudParticleParameter1 , AreaEffectCloudParticleParameter2 , ArrowFlags ,
  TippedArrowColor , PiercingLevel , BoatLastHitTime , BoatForwardDirection ,
  BoatDamageTaken , BoatType , BoatLeftPaddleTurning , BoatRightPaddleTurning ,
  BoatSplashTimer , EnderCrystalBeamTarget , EnderCrystalShowBottom , WitherSkullInvulnerable ,
  FireworkInfo , FireworkBoostedEntityId , FireworkFromCrossbow , ItemFrameItem ,
  ItemFrameRotation , ItemItem , LivingActiveHand , LivingHealth ,
  LivingPotionEffectColor , LivingPotionEffectAmbient , LivingNumberOfArrows , PlayerAdditionalHearts ,
  PlayerScore , PlayerDisplayedSkinParts , PlayerMainHand , ArmorStandStatus ,
  ArmorStandHeadRotation , ArmorStandBodyRotation , ArmorStandLeftArmRotation , ArmorStandRightArmRotation ,
  ArmorStandLeftLegRotation , ArmorStandRightLegRotation , InsentientFlags , BatHanging ,
  AgeableIsBaby , AbstractHorseFlags , AbstractHorseOwner , HorseVariant ,
  HorseArmour , ChestedHorseChested , LlamaStrength , LlamaCarpetColor ,
  LlamaVariant , PigHasSaddle , PigTotalCarrotOnAStickBoost , RabbitType ,
  PolarBearStanding , SheepFlags , TameableAnimalFlags , TameableAnimalOwner ,
  ThrowableItem , TridentLoyaltyLevel , OcelotType , WolfDamageTaken ,
  WolfBegging , WolfCollarColour , VillagerProfession , IronGolemPlayerCreated ,
  ShulkerFacingDirection , ShulkerAttachmentFallingBlockPosition , ShulkerShieldHeight , BlazeOnFire ,
  CreeperState , CreeperPowered , CreeperIgnited , GuardianStatus ,
  GuardianTarget , IllagerFlags , SpeIlagerSpell , VexFlags ,
  AbstractSkeletonArmsSwinging , SpiderClimbing , WitchAggresive , WitchDrinking ,
  WitherFirstHeadTarget , WitherSecondHeadTarget , WitherThirdHeadTarget , WitherInvulnerableTimer ,
  ZombieIsBaby , ZombieUnusedWasType , ZombieHandsRisedUp , ZombieVillagerConverting ,
  ZombieVillagerProfession , EndermanCarriedBlock , EndermanScreaming , EnderDragonDragonPhase ,
  GhastAttacking , SlimeSize , MinecartShakingPower , MinecartShakingDirection ,
  MinecartShakingMultiplier , MinecartBlockIDMeta , MinecartBlockY , MinecartShowBlock ,
  MinecartCommandBlockCommand , MinecartCommandBlockLastOutput , MinecartFurnacePowered , MooshroomType ,
  TNTPrimedFuseTime
}
 
enum class  EntityMetadataType {
  Byte , VarInt , Float , String ,
  Chat , OptChat , Item , Boolean ,
  Rotation , Position , OptPosition , Direction ,
  OptUUID , OptBlockID , NBT , Particle ,
  VillagerData , OptVarInt , Pose
}
 
enum  ePacketType {
  pktAttachEntity = 0 , pktBlockAction , pktBlockBreakAnim , pktBlockChange ,
  pktBlockChanges , pktBossBar , 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 , pktHorseWindowOpen ,
  pktInventorySlot , pktJoinGame , pktKeepAlive , pktLeashEntity ,
  pktLoginSuccess , pktMapData , pktParticleEffect , pktPingResponse ,
  pktPlayerAbilities , pktPlayerList , pktPlayerListHeaderFooter , pktPlayerMoveLook ,
  pktPluginMessage , pktRemoveEntityEffect , pktResourcePack , pktRespawn ,
  pktScoreboardObjective , pktSpawnObject , pktSoundEffect , pktSoundParticleEffect ,
  pktSpawnExperienceOrb , pktSpawnGlobalEntity , pktSpawnMob , pktSpawnOtherPlayer ,
  pktSpawnPainting , pktSpawnPosition , pktStartCompression , pktStatistics ,
  pktStatusResponse , pktTabCompletionResults , pktTeleportEntity , pktTimeUpdate ,
  pktTitle , pktUnloadChunk , pktUnlockRecipe , pktUpdateBlockEntity ,
  pktUpdateHealth , pktUpdateScore , pktUpdateSign , pktUseBed ,
  pktWeather , pktWindowItems , pktWindowClose , pktWindowOpen ,
  pktWindowProperty
}
 Logical types of outgoing packets. More...
 
enum  State { Status = 1 , Login = 2 , Game = 3 }
 
enum class  Version {
  v1_8_0 = 47 , v1_9_0 = 107 , v1_9_1 = 108 , v1_9_2 = 109 ,
  v1_9_4 = 110 , v1_10_0 = 210 , v1_11_0 = 315 , v1_11_1 = 316 ,
  v1_12 = 335 , v1_12_1 = 338 , v1_12_2 = 340 , v1_13 = 393 ,
  v1_13_1 = 401 , v1_13_2 = 404 , v1_14 = 477 , v1_14_1 = 480 ,
  v1_14_2 = 485 , v1_14_3 = 490 , v1_14_4 = 498
}
 The protocol version number, received from the client in the Handshake packet. More...
 

Detailed Description

Definition at line 30 of file Protocol_1_8.h.

Member Typedef Documentation

◆ Super

Definition at line 33 of file Protocol_1_8.h.

Constructor & Destructor Documentation

◆ cProtocol_1_8_0()

cProtocol_1_8_0::cProtocol_1_8_0 ( cClientHandle a_Client,
const AString a_ServerAddress,
State  a_State 
)

Definition at line 68 of file Protocol_1_8.cpp.

Member Function Documentation

◆ AddReceivedData()

void cProtocol_1_8_0::AddReceivedData ( cByteBuffer a_Buffer,
ContiguousByteBufferView  a_Data 
)
private

Adds the received (unencrypted) data to m_ReceivedData, parses complete packets.

Definition at line 3798 of file Protocol_1_8.cpp.

◆ CompressPacket()

void cProtocol_1_8_0::CompressPacket ( CircularBufferCompressor a_Packet,
ContiguousByteBuffer a_Compressed 
)
static

Compress the packet.

a_Packet must be without packet length. a_Compressed will be set to the compressed packet includes packet length and data length.

Definition at line 1794 of file Protocol_1_8.cpp.

◆ DataPrepared()

void cProtocol_1_8_0::DataPrepared ( ContiguousByteBuffer a_Data)
overridevirtual

Called by cClientHandle to finalise a buffer of prepared data before they are sent to the client.

Descendants may for example, encrypt the data if needed. The protocol modifies the provided buffer in-place.

Implements cProtocol.

Definition at line 159 of file Protocol_1_8.cpp.

◆ DataReceived()

void cProtocol_1_8_0::DataReceived ( cByteBuffer a_Buffer,
ContiguousByteBuffer a_Data 
)
overridevirtual

Called by cClientHandle to process data, when the client sends some.

The protocol uses the provided buffers for storage and processing, and must have exclusive access to them.

Implements cProtocol.

Definition at line 145 of file Protocol_1_8.cpp.

◆ FaceIntToBlockFace()

eBlockFace cProtocol_1_8_0::FaceIntToBlockFace ( Int32  a_FaceInt)
staticprotected

Converts the BlockFace received by the protocol into eBlockFace constants.

If the received value doesn't match any of our eBlockFace constants, BLOCK_FACE_NONE is returned.

Definition at line 1868 of file Protocol_1_8.cpp.

◆ GetAuthServerID()

virtual AString cProtocol_1_8_0::GetAuthServerID ( void  )
inlineoverridevirtual

Returns the ServerID used for authentication through session.minecraft.net.

Implements cProtocol.

Definition at line 134 of file Protocol_1_8.h.

◆ GetPacketID()

UInt32 cProtocol_1_8_0::GetPacketID ( ePacketType  a_Packet) const
overrideprotectedvirtual

Get the packet ID for a given packet.

Implements cProtocol.

Reimplemented in cProtocol_1_14, cProtocol_1_13, cProtocol_1_9_4, cProtocol_1_9_0, cProtocol_1_12_1, and cProtocol_1_12.

Definition at line 1888 of file Protocol_1_8.cpp.

◆ GetProtocolEntityAnimation()

unsigned char cProtocol_1_8_0::GetProtocolEntityAnimation ( EntityAnimation  a_Animation) const
protectedvirtual

Converts an animation into an ID suitable for use with the Entity Animation packet.

Returns (uchar)-1 if the protocol version doesn't support this animation.

Reimplemented in cProtocol_1_9_0.

Definition at line 1979 of file Protocol_1_8.cpp.

◆ GetProtocolEntityStatus()

signed char cProtocol_1_8_0::GetProtocolEntityStatus ( EntityAnimation  a_Animation) const
protectedvirtual

Converts an animation into an ID suitable for use with the Entity Status packet.

Returns -1 if the protocol version doesn't support this animation.

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, cProtocol_1_13, cProtocol_1_12, and cProtocol_1_11_0.

Definition at line 1996 of file Protocol_1_8.cpp.

◆ GetProtocolEntityType()

UInt8 cProtocol_1_8_0::GetProtocolEntityType ( const cEntity a_Entity) const
protectedvirtual

Converts an entity to a protocol-specific entity type.

Only entities that the Send Spawn Entity packet supports are valid inputs to this method

Reimplemented in cProtocol_1_14.

Definition at line 3918 of file Protocol_1_8.cpp.

◆ GetProtocolMobType()

UInt32 cProtocol_1_8_0::GetProtocolMobType ( eMonsterType  a_MobType) const
protectedvirtual

Converts eMonsterType to protocol-specific mob types.

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, cProtocol_1_13, cProtocol_1_12, cProtocol_1_11_0, and cProtocol_1_10_0.

Definition at line 2037 of file Protocol_1_8.cpp.

◆ GetProtocolParticleID()

int cProtocol_1_8_0::GetProtocolParticleID ( const AString a_ParticleName) const
protectedvirtual

The 1.8 protocol use a particle id instead of a string.

This function converts the name to the id. If the name is incorrect, it returns 0.

Reimplemented in cProtocol_1_14.

Definition at line 3969 of file Protocol_1_8.cpp.

◆ GetProtocolStatisticName()

const char * cProtocol_1_8_0::GetProtocolStatisticName ( CustomStatistic  a_Statistic)
staticprivate

Converts a statistic to a protocol-specific string.

Protocols <= 1.12 use strings, hence this is a static as the string-mapping was append-only for the versions that used it. Returns an empty string, handled correctly by the client, for newer, unsupported statistics.

Definition at line 4041 of file Protocol_1_8.cpp.

◆ GetProtocolVersion()

cProtocol::Version cProtocol_1_8_0::GetProtocolVersion ( void  ) const
overrideprotectedvirtual

◆ HandlePacket() [1/2]

void cProtocol_1_8_0::HandlePacket ( cByteBuffer a_Buffer)
private

Handle a complete packet stored in the given buffer.

Definition at line 4142 of file Protocol_1_8.cpp.

◆ HandlePacket() [2/2]

bool cProtocol_1_8_0::HandlePacket ( cByteBuffer a_ByteBuffer,
UInt32  a_PacketType 
)
protectedvirtual

Reads and handles the packet.

The packet length and type have already been read. Returns true if the packet was understood, false if it was an unknown packet.

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, cProtocol_1_13, cProtocol_1_12_1, and cProtocol_1_12.

Definition at line 2104 of file Protocol_1_8.cpp.

◆ HandlePacketAnimation()

void cProtocol_1_8_0::HandlePacketAnimation ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2330 of file Protocol_1_8.cpp.

◆ HandlePacketBlockDig()

void cProtocol_1_8_0::HandlePacketBlockDig ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0, and cProtocol_1_14.

Definition at line 2339 of file Protocol_1_8.cpp.

◆ HandlePacketBlockPlace()

void cProtocol_1_8_0::HandlePacketBlockPlace ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, and cProtocol_1_11_0.

Definition at line 2358 of file Protocol_1_8.cpp.

◆ HandlePacketChatMessage()

void cProtocol_1_8_0::HandlePacketChatMessage ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2390 of file Protocol_1_8.cpp.

◆ HandlePacketClientSettings()

void cProtocol_1_8_0::HandlePacketClientSettings ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2401 of file Protocol_1_8.cpp.

◆ HandlePacketClientStatus()

void cProtocol_1_8_0::HandlePacketClientStatus ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2419 of file Protocol_1_8.cpp.

◆ HandlePacketCreativeInventoryAction()

void cProtocol_1_8_0::HandlePacketCreativeInventoryAction ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2450 of file Protocol_1_8.cpp.

◆ HandlePacketEnchantItem()

void cProtocol_1_8_0::HandlePacketEnchantItem ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2747 of file Protocol_1_8.cpp.

◆ HandlePacketEntityAction()

void cProtocol_1_8_0::HandlePacketEntityAction ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2466 of file Protocol_1_8.cpp.

◆ HandlePacketKeepAlive()

void cProtocol_1_8_0::HandlePacketKeepAlive ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_12_2.

Definition at line 2493 of file Protocol_1_8.cpp.

◆ HandlePacketLoginEncryptionResponse()

void cProtocol_1_8_0::HandlePacketLoginEncryptionResponse ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2230 of file Protocol_1_8.cpp.

◆ HandlePacketLoginStart()

void cProtocol_1_8_0::HandlePacketLoginStart ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2293 of file Protocol_1_8.cpp.

◆ HandlePacketPlayer()

void cProtocol_1_8_0::HandlePacketPlayer ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2504 of file Protocol_1_8.cpp.

◆ HandlePacketPlayerAbilities()

void cProtocol_1_8_0::HandlePacketPlayerAbilities ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2514 of file Protocol_1_8.cpp.

◆ HandlePacketPlayerLook()

void cProtocol_1_8_0::HandlePacketPlayerLook ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2534 of file Protocol_1_8.cpp.

◆ HandlePacketPlayerPos()

void cProtocol_1_8_0::HandlePacketPlayerPos ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2547 of file Protocol_1_8.cpp.

◆ HandlePacketPlayerPosLook()

void cProtocol_1_8_0::HandlePacketPlayerPosLook ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2561 of file Protocol_1_8.cpp.

◆ HandlePacketPluginMessage()

void cProtocol_1_8_0::HandlePacketPluginMessage ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_13.

Definition at line 2577 of file Protocol_1_8.cpp.

◆ HandlePacketResourcePackStatus()

void cProtocol_1_8_0::HandlePacketResourcePackStatus ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_10_0.

Definition at line 2603 of file Protocol_1_8.cpp.

◆ HandlePacketSlotSelect()

void cProtocol_1_8_0::HandlePacketSlotSelect ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2615 of file Protocol_1_8.cpp.

◆ HandlePacketSpectate()

void cProtocol_1_8_0::HandlePacketSpectate ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2626 of file Protocol_1_8.cpp.

◆ HandlePacketStatusPing()

void cProtocol_1_8_0::HandlePacketStatusPing ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2172 of file Protocol_1_8.cpp.

◆ HandlePacketStatusRequest()

void cProtocol_1_8_0::HandlePacketStatusRequest ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2184 of file Protocol_1_8.cpp.

◆ HandlePacketSteerVehicle()

void cProtocol_1_8_0::HandlePacketSteerVehicle ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2641 of file Protocol_1_8.cpp.

◆ HandlePacketTabComplete()

void cProtocol_1_8_0::HandlePacketTabComplete ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2665 of file Protocol_1_8.cpp.

◆ HandlePacketUpdateSign()

void cProtocol_1_8_0::HandlePacketUpdateSign ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0, and cProtocol_1_14.

Definition at line 2682 of file Protocol_1_8.cpp.

◆ HandlePacketUseEntity()

void cProtocol_1_8_0::HandlePacketUseEntity ( cByteBuffer a_ByteBuffer)
protectedvirtual

Reimplemented in cProtocol_1_9_0.

Definition at line 2709 of file Protocol_1_8.cpp.

◆ HandlePacketWindowClick()

void cProtocol_1_8_0::HandlePacketWindowClick ( cByteBuffer a_ByteBuffer)
protectedvirtual

The slot number that the client uses to indicate "outside the window".

Reimplemented in cProtocol_1_9_0.

Definition at line 2759 of file Protocol_1_8.cpp.

◆ HandlePacketWindowClose()

void cProtocol_1_8_0::HandlePacketWindowClose ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 2818 of file Protocol_1_8.cpp.

◆ HandleVanillaPluginMessage()

void cProtocol_1_8_0::HandleVanillaPluginMessage ( cByteBuffer a_ByteBuffer,
std::string_view  a_Channel 
)
protectedvirtual

Parses Vanilla plugin messages into specific ClientHandle calls.

The message payload is still in the bytebuffer, the handler reads it specifically for each handled channel.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_13.

Definition at line 2829 of file Protocol_1_8.cpp.

◆ ParseItemMetadata()

void cProtocol_1_8_0::ParseItemMetadata ( cItem a_Item,
ContiguousByteBufferView  a_Metadata 
) const
protectedvirtual

Parses item metadata as read by ReadItem(), into the item enchantments.

Reimplemented in cProtocol_1_9_0.

Definition at line 2912 of file Protocol_1_8.cpp.

◆ ReadItem()

bool cProtocol_1_8_0::ReadItem ( cByteBuffer a_ByteBuffer,
cItem a_Item,
size_t  a_KeepRemainingBytes = 0 
) const
protectedvirtual

Reads an item out of the received data, sets a_Item to the values read.

Returns false if not enough received data. a_KeepRemainingBytes tells the function to keep that many bytes at the end of the buffer.

Reimplemented in cProtocol_1_13_2, and cProtocol_1_13.

Definition at line 2986 of file Protocol_1_8.cpp.

◆ SendAttachEntity()

void cProtocol_1_8_0::SendAttachEntity ( const cEntity a_Entity,
const cEntity a_Vehicle 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 171 of file Protocol_1_8.cpp.

◆ SendBlockAction()

void cProtocol_1_8_0::SendBlockAction ( Vector3i  a_BlockPos,
char  a_Byte1,
char  a_Byte2,
BLOCKTYPE  a_BlockType 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14.

Definition at line 185 of file Protocol_1_8.cpp.

◆ SendBlockBreakAnim()

void cProtocol_1_8_0::SendBlockBreakAnim ( UInt32  a_EntityID,
Vector3i  a_BlockPos,
char  a_Stage 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14.

Definition at line 200 of file Protocol_1_8.cpp.

◆ SendBlockChange()

void cProtocol_1_8_0::SendBlockChange ( Vector3i  a_BlockPos,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14, and cProtocol_1_13.

Definition at line 214 of file Protocol_1_8.cpp.

◆ SendBlockChanges()

void cProtocol_1_8_0::SendBlockChanges ( int  a_ChunkX,
int  a_ChunkZ,
const sSetBlockVector a_Changes 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_13.

Definition at line 227 of file Protocol_1_8.cpp.

◆ SendBossBarAdd()

void cProtocol_1_8_0::SendBossBarAdd ( UInt32  a_UniqueID,
const cCompositeChat a_Title,
float  a_FractionFilled,
BossBarColor  a_Color,
BossBarDivisionType  a_DivisionType,
bool  a_DarkenSky,
bool  a_PlayEndMusic,
bool  a_CreateFog 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_13_1.

Definition at line 248 of file Protocol_1_8.cpp.

◆ SendBossBarRemove()

void cProtocol_1_8_0::SendBossBarRemove ( UInt32  a_UniqueID)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 257 of file Protocol_1_8.cpp.

◆ SendBossBarUpdateFlags()

void cProtocol_1_8_0::SendBossBarUpdateFlags ( UInt32  a_UniqueID,
bool  a_DarkenSky,
bool  a_PlayEndMusic,
bool  a_CreateFog 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_13_1.

Definition at line 266 of file Protocol_1_8.cpp.

◆ SendBossBarUpdateHealth()

void cProtocol_1_8_0::SendBossBarUpdateHealth ( UInt32  a_UniqueID,
float  a_FractionFilled 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 275 of file Protocol_1_8.cpp.

◆ SendBossBarUpdateStyle()

void cProtocol_1_8_0::SendBossBarUpdateStyle ( UInt32  a_UniqueID,
BossBarColor  a_Color,
BossBarDivisionType  a_DivisionType 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 284 of file Protocol_1_8.cpp.

◆ SendBossBarUpdateTitle()

void cProtocol_1_8_0::SendBossBarUpdateTitle ( UInt32  a_UniqueID,
const cCompositeChat a_Title 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 293 of file Protocol_1_8.cpp.

◆ SendCameraSetTo()

void cProtocol_1_8_0::SendCameraSetTo ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 302 of file Protocol_1_8.cpp.

◆ SendChat() [1/2]

void cProtocol_1_8_0::SendChat ( const AString a_Message,
eChatType  a_Type 
)
overridevirtual

Implements cProtocol.

Definition at line 312 of file Protocol_1_8.cpp.

◆ SendChat() [2/2]

void cProtocol_1_8_0::SendChat ( const cCompositeChat a_Message,
eChatType  a_Type,
bool  a_ShouldUseChatPrefixes 
)
overridevirtual

Implements cProtocol.

Definition at line 323 of file Protocol_1_8.cpp.

◆ SendChatRaw()

void cProtocol_1_8_0::SendChatRaw ( const AString a_MessageRaw,
eChatType  a_Type 
)
overridevirtual

Implements cProtocol.

Definition at line 334 of file Protocol_1_8.cpp.

◆ SendChunkData()

void cProtocol_1_8_0::SendChunkData ( ContiguousByteBufferView  a_ChunkData)
overridevirtual

Implements cProtocol.

Definition at line 363 of file Protocol_1_8.cpp.

◆ SendCollectEntity()

void cProtocol_1_8_0::SendCollectEntity ( const cEntity a_Collected,
const cEntity a_Collector,
unsigned  a_Count 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_11_0.

Definition at line 375 of file Protocol_1_8.cpp.

◆ SendDestroyEntity()

void cProtocol_1_8_0::SendDestroyEntity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 389 of file Protocol_1_8.cpp.

◆ SendDetachEntity()

void cProtocol_1_8_0::SendDetachEntity ( const cEntity a_Entity,
const cEntity a_PreviousVehicle 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 415 of file Protocol_1_8.cpp.

◆ SendDisconnect()

void cProtocol_1_8_0::SendDisconnect ( const AString a_Reason)
overridevirtual

Implements cProtocol.

Definition at line 429 of file Protocol_1_8.cpp.

◆ SendDisplayObjective()

void cProtocol_1_8_0::SendDisplayObjective ( const AString a_Objective,
cScoreboard::eDisplaySlot  a_Display 
)
overridevirtual

Implements cProtocol.

Definition at line 1335 of file Protocol_1_8.cpp.

◆ SendEditSign()

void cProtocol_1_8_0::SendEditSign ( Vector3i  a_BlockPos)
overridevirtual

Request the client to open up the sign editor for the sign (1.6+)

Implements cProtocol.

Reimplemented in cProtocol_1_14.

Definition at line 459 of file Protocol_1_8.cpp.

◆ SendEntityAnimation()

void cProtocol_1_8_0::SendEntityAnimation ( const cEntity a_Entity,
EntityAnimation  a_Animation 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14, and cProtocol_1_11_0.

Definition at line 471 of file Protocol_1_8.cpp.

◆ SendEntityEffect()

void cProtocol_1_8_0::SendEntityEffect ( const cEntity a_Entity,
int  a_EffectID,
int  a_Amplifier,
int  a_Duration 
)
overridevirtual

Implements cProtocol.

Definition at line 506 of file Protocol_1_8.cpp.

◆ SendEntityEquipment()

void cProtocol_1_8_0::SendEntityEquipment ( const cEntity a_Entity,
short  a_SlotNum,
const cItem a_Item 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 522 of file Protocol_1_8.cpp.

◆ SendEntityHeadLook()

void cProtocol_1_8_0::SendEntityHeadLook ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 536 of file Protocol_1_8.cpp.

◆ SendEntityLook()

void cProtocol_1_8_0::SendEntityLook ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 549 of file Protocol_1_8.cpp.

◆ SendEntityMetadata()

void cProtocol_1_8_0::SendEntityMetadata ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 564 of file Protocol_1_8.cpp.

◆ SendEntityPosition()

void cProtocol_1_8_0::SendEntityPosition ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 578 of file Protocol_1_8.cpp.

◆ SendEntityProperties()

void cProtocol_1_8_0::SendEntityProperties ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 635 of file Protocol_1_8.cpp.

◆ SendEntitySpawn()

void cProtocol_1_8_0::SendEntitySpawn ( const cEntity a_Entity,
const UInt8  a_ObjectType,
const Int32  a_ObjectData 
)
protectedvirtual

Sends the entity type and entity-dependent data required for the entity to initially spawn.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_14.

Definition at line 3023 of file Protocol_1_8.cpp.

◆ SendEntityVelocity()

void cProtocol_1_8_0::SendEntityVelocity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 648 of file Protocol_1_8.cpp.

◆ SendExperience()

void cProtocol_1_8_0::SendExperience ( void  )
overridevirtual

Implements cProtocol.

Definition at line 664 of file Protocol_1_8.cpp.

◆ SendExperienceOrb()

void cProtocol_1_8_0::SendExperienceOrb ( const cExpOrb a_ExpOrb)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 679 of file Protocol_1_8.cpp.

◆ SendExplosion()

void cProtocol_1_8_0::SendExplosion ( Vector3f  a_Position,
float  a_Power 
)
overridevirtual

Implements cProtocol.

Definition at line 695 of file Protocol_1_8.cpp.

◆ SendGameMode()

void cProtocol_1_8_0::SendGameMode ( eGameMode  a_GameMode)
overridevirtual

Implements cProtocol.

Definition at line 714 of file Protocol_1_8.cpp.

◆ SendHealth()

void cProtocol_1_8_0::SendHealth ( void  )
overridevirtual

Implements cProtocol.

Definition at line 727 of file Protocol_1_8.cpp.

◆ SendHeldItemChange()

void cProtocol_1_8_0::SendHeldItemChange ( int  a_ItemIndex)
overridevirtual

Implements cProtocol.

Definition at line 742 of file Protocol_1_8.cpp.

◆ SendHideTitle()

void cProtocol_1_8_0::SendHideTitle ( void  )
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_11_0.

Definition at line 754 of file Protocol_1_8.cpp.

◆ SendInitRecipes()

void cProtocol_1_8_0::SendInitRecipes ( UInt32  a_RecipeID)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_12_2.

Definition at line 1680 of file Protocol_1_8.cpp.

◆ SendInventorySlot()

void cProtocol_1_8_0::SendInventorySlot ( char  a_WindowID,
short  a_SlotNum,
const cItem a_Item 
)
overridevirtual

Implements cProtocol.

Definition at line 766 of file Protocol_1_8.cpp.

◆ SendKeepAlive()

void cProtocol_1_8_0::SendKeepAlive ( UInt32  a_PingID)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_12_2.

Definition at line 780 of file Protocol_1_8.cpp.

◆ SendLeashEntity()

void cProtocol_1_8_0::SendLeashEntity ( const cEntity a_Entity,
const cEntity a_EntityLeashedTo 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 797 of file Protocol_1_8.cpp.

◆ SendLogin()

void cProtocol_1_8_0::SendLogin ( const cPlayer a_Player,
const cWorld a_World 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_1, and cProtocol_1_14.

Definition at line 825 of file Protocol_1_8.cpp.

◆ SendLoginSuccess()

void cProtocol_1_8_0::SendLoginSuccess ( void  )
overridevirtual

Implements cProtocol.

Definition at line 857 of file Protocol_1_8.cpp.

◆ SendMapData()

void cProtocol_1_8_0::SendMapData ( const cMap a_Map,
int  a_DataStartX,
int  a_DataStartY 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, and cProtocol_1_13.

Definition at line 898 of file Protocol_1_8.cpp.

◆ SendPacket()

void cProtocol_1_8_0::SendPacket ( cPacketizer a_Packet)
overrideprotectedvirtual

Sends the packet to the client.

Called by the cPacketizer's destructor.

Implements cProtocol.

Definition at line 3049 of file Protocol_1_8.cpp.

◆ SendPaintingSpawn()

void cProtocol_1_8_0::SendPaintingSpawn ( const cPainting a_Painting)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, and cProtocol_1_13.

Definition at line 880 of file Protocol_1_8.cpp.

◆ SendParticleEffect() [1/2]

void cProtocol_1_8_0::SendParticleEffect ( const AString a_ParticleName,
Vector3f  a_Src,
Vector3f  a_Offset,
float  a_ParticleData,
int  a_ParticleAmount 
)
overridevirtual

Implements cProtocol.

Definition at line 963 of file Protocol_1_8.cpp.

◆ SendParticleEffect() [2/2]

void cProtocol_1_8_0::SendParticleEffect ( const AString a_ParticleName,
Vector3f  a_Src,
Vector3f  a_Offset,
float  a_ParticleData,
int  a_ParticleAmount,
std::array< int, 2 >  a_Data 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14, and cProtocol_1_13.

Definition at line 984 of file Protocol_1_8.cpp.

◆ SendPlayerAbilities()

void cProtocol_1_8_0::SendPlayerAbilities ( void  )
overridevirtual

Implements cProtocol.

Definition at line 929 of file Protocol_1_8.cpp.

◆ SendPlayerListAddPlayer()

void cProtocol_1_8_0::SendPlayerListAddPlayer ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 1026 of file Protocol_1_8.cpp.

◆ SendPlayerListHeaderFooter()

void cProtocol_1_8_0::SendPlayerListHeaderFooter ( const cCompositeChat a_Header,
const cCompositeChat a_Footer 
)
overridevirtual

Implements cProtocol.

Definition at line 1063 of file Protocol_1_8.cpp.

◆ SendPlayerListRemovePlayer()

void cProtocol_1_8_0::SendPlayerListRemovePlayer ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 1076 of file Protocol_1_8.cpp.

◆ SendPlayerListUpdateDisplayName()

void cProtocol_1_8_0::SendPlayerListUpdateDisplayName ( const cPlayer a_Player,
const AString a_CustomName 
)
overridevirtual

Implements cProtocol.

Definition at line 1090 of file Protocol_1_8.cpp.

◆ SendPlayerListUpdateGameMode()

void cProtocol_1_8_0::SendPlayerListUpdateGameMode ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 1114 of file Protocol_1_8.cpp.

◆ SendPlayerListUpdatePing()

void cProtocol_1_8_0::SendPlayerListUpdatePing ( )
overridevirtual

Implements cProtocol.

Definition at line 1129 of file Protocol_1_8.cpp.

◆ SendPlayerMoveLook() [1/2]

void cProtocol_1_8_0::SendPlayerMoveLook ( Vector3d  a_Pos,
float  a_Yaw,
float  a_Pitch,
bool  a_IsRelative 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 1150 of file Protocol_1_8.cpp.

◆ SendPlayerMoveLook() [2/2]

void cProtocol_1_8_0::SendPlayerMoveLook ( void  )
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 1177 of file Protocol_1_8.cpp.

◆ SendPlayerPermissionLevel()

void cProtocol_1_8_0::SendPlayerPermissionLevel ( void  )
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 1187 of file Protocol_1_8.cpp.

◆ SendPlayerPosition()

void cProtocol_1_8_0::SendPlayerPosition ( void  )
overridevirtual

Implements cProtocol.

Definition at line 1196 of file Protocol_1_8.cpp.

◆ SendPlayerSpawn()

void cProtocol_1_8_0::SendPlayerSpawn ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 1206 of file Protocol_1_8.cpp.

◆ SendPluginMessage()

void cProtocol_1_8_0::SendPluginMessage ( const AString a_Channel,
ContiguousByteBufferView  a_Message 
)
overridevirtual

Implements cProtocol.

Definition at line 1227 of file Protocol_1_8.cpp.

◆ SendRemoveEntityEffect()

void cProtocol_1_8_0::SendRemoveEntityEffect ( const cEntity a_Entity,
int  a_EffectID 
)
overridevirtual

Implements cProtocol.

Definition at line 1240 of file Protocol_1_8.cpp.

◆ SendResetTitle()

void cProtocol_1_8_0::SendResetTitle ( void  )
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_11_0.

Definition at line 1253 of file Protocol_1_8.cpp.

◆ SendResourcePack()

void cProtocol_1_8_0::SendResourcePack ( const AString a_ResourcePackUrl)
overridevirtual

Implements cProtocol.

Definition at line 1265 of file Protocol_1_8.cpp.

◆ SendRespawn()

void cProtocol_1_8_0::SendRespawn ( eDimension  a_Dimension)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14.

Definition at line 1284 of file Protocol_1_8.cpp.

◆ SendScoreboardObjective()

void cProtocol_1_8_0::SendScoreboardObjective ( const AString a_Name,
const AString a_DisplayName,
Byte  a_Mode 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_13.

Definition at line 1298 of file Protocol_1_8.cpp.

◆ SendScoreUpdate()

void cProtocol_1_8_0::SendScoreUpdate ( const AString a_Objective,
const AString a_Player,
cObjective::Score  a_Score,
Byte  a_Mode 
)
overridevirtual

Implements cProtocol.

Definition at line 1316 of file Protocol_1_8.cpp.

◆ SendSetRawSubTitle()

void cProtocol_1_8_0::SendSetRawSubTitle ( const AString a_SubTitle)
overridevirtual

Implements cProtocol.

Definition at line 1357 of file Protocol_1_8.cpp.

◆ SendSetRawTitle()

void cProtocol_1_8_0::SendSetRawTitle ( const AString a_Title)
overridevirtual

Implements cProtocol.

Definition at line 1379 of file Protocol_1_8.cpp.

◆ SendSetSubTitle()

void cProtocol_1_8_0::SendSetSubTitle ( const cCompositeChat a_SubTitle)
overridevirtual

Implements cProtocol.

Definition at line 1348 of file Protocol_1_8.cpp.

◆ SendSetTitle()

void cProtocol_1_8_0::SendSetTitle ( const cCompositeChat a_Title)
overridevirtual

Implements cProtocol.

Definition at line 1370 of file Protocol_1_8.cpp.

◆ SendSoundEffect()

void cProtocol_1_8_0::SendSoundEffect ( const AString a_SoundName,
Vector3d  a_Origin,
float  a_Volume,
float  a_Pitch 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_10_0.

Definition at line 1392 of file Protocol_1_8.cpp.

◆ SendSoundParticleEffect()

void cProtocol_1_8_0::SendSoundParticleEffect ( const EffectID  a_EffectID,
Vector3i  a_Origin,
int  a_Data 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14.

Definition at line 1409 of file Protocol_1_8.cpp.

◆ SendSpawnEntity()

void cProtocol_1_8_0::SendSpawnEntity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 1424 of file Protocol_1_8.cpp.

◆ SendSpawnMob()

void cProtocol_1_8_0::SendSpawnMob ( const cMonster a_Mob)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_11_0.

Definition at line 1468 of file Protocol_1_8.cpp.

◆ SendStatistics()

void cProtocol_1_8_0::SendStatistics ( const StatisticsManager a_Manager)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_13.

Definition at line 1501 of file Protocol_1_8.cpp.

◆ SendTabCompletionResults()

void cProtocol_1_8_0::SendTabCompletionResults ( const AStringVector a_Results)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_13.

Definition at line 1522 of file Protocol_1_8.cpp.

◆ SendThunderbolt()

void cProtocol_1_8_0::SendThunderbolt ( Vector3i  a_BlockPos)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 1539 of file Protocol_1_8.cpp.

◆ SendTimeUpdate()

void cProtocol_1_8_0::SendTimeUpdate ( cTickTimeLong  a_WorldAge,
cTickTimeLong  a_WorldDate,
bool  a_DoDaylightCycle 
)
overridevirtual

Implements cProtocol.

Definition at line 1570 of file Protocol_1_8.cpp.

◆ SendTitleTimes()

void cProtocol_1_8_0::SendTitleTimes ( int  a_FadeInTicks,
int  a_DisplayTicks,
int  a_FadeOutTicks 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_11_0.

Definition at line 1555 of file Protocol_1_8.cpp.

◆ SendUnleashEntity()

void cProtocol_1_8_0::SendUnleashEntity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 811 of file Protocol_1_8.cpp.

◆ SendUnloadChunk()

void cProtocol_1_8_0::SendUnloadChunk ( int  a_ChunkX,
int  a_ChunkZ 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_0.

Definition at line 1593 of file Protocol_1_8.cpp.

◆ SendUnlockRecipe()

void cProtocol_1_8_0::SendUnlockRecipe ( UInt32  a_RecipeID)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_12_2.

Definition at line 1670 of file Protocol_1_8.cpp.

◆ SendUpdateBlockEntity()

void cProtocol_1_8_0::SendUpdateBlockEntity ( cBlockEntity a_BlockEntity)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14, cProtocol_1_13, and cProtocol_1_11_0.

Definition at line 1609 of file Protocol_1_8.cpp.

◆ SendUpdateSign()

void cProtocol_1_8_0::SendUpdateSign ( Vector3i  a_BlockPos,
const AString a_Line1,
const AString a_Line2,
const AString a_Line3,
const AString a_Line4 
)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_9_4, and cProtocol_1_14.

Definition at line 1652 of file Protocol_1_8.cpp.

◆ SendWeather()

void cProtocol_1_8_0::SendWeather ( eWeather  a_Weather)
overridevirtual

Implements cProtocol.

Definition at line 1690 of file Protocol_1_8.cpp.

◆ SendWholeInventory()

void cProtocol_1_8_0::SendWholeInventory ( const cWindow a_Window)
overridevirtual

Implements cProtocol.

Definition at line 1707 of file Protocol_1_8.cpp.

◆ SendWindowClose()

void cProtocol_1_8_0::SendWindowClose ( const cWindow a_Window)
overridevirtual

Implements cProtocol.

Definition at line 1726 of file Protocol_1_8.cpp.

◆ SendWindowOpen()

void cProtocol_1_8_0::SendWindowOpen ( const cWindow a_Window)
overridevirtual

Implements cProtocol.

Reimplemented in cProtocol_1_14.

Definition at line 1738 of file Protocol_1_8.cpp.

◆ SendWindowProperty()

void cProtocol_1_8_0::SendWindowProperty ( const cWindow a_Window,
size_t  a_Property,
short  a_Value 
)
overridevirtual

Implements cProtocol.

Definition at line 1780 of file Protocol_1_8.cpp.

◆ StartEncryption()

void cProtocol_1_8_0::StartEncryption ( const Byte a_Key)
private

Definition at line 4220 of file Protocol_1_8.cpp.

◆ WriteBlockEntity()

void cProtocol_1_8_0::WriteBlockEntity ( cFastNBTWriter a_Writer,
const cBlockEntity a_BlockEntity 
) const
protectedvirtual

Writes the block entity data for the specified block entity into the packet.

Reimplemented in cProtocol_1_9_0, and cProtocol_1_11_0.

Definition at line 3110 of file Protocol_1_8.cpp.

◆ WriteEntityMetadata()

void cProtocol_1_8_0::WriteEntityMetadata ( cPacketizer a_Pkt,
const cEntity a_Entity 
) const
protectedvirtual

Writes the metadata for the specified entity, not including the terminating 0x7f.

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, cProtocol_1_13, cProtocol_1_12, cProtocol_1_11_0, and cProtocol_1_10_0.

Definition at line 3199 of file Protocol_1_8.cpp.

◆ WriteEntityProperties()

void cProtocol_1_8_0::WriteEntityProperties ( cPacketizer a_Pkt,
const cEntity a_Entity 
) const
protectedvirtual

Writes the entity properties for the specified entity, including the Count field.

Definition at line 3350 of file Protocol_1_8.cpp.

◆ WriteItem()

void cProtocol_1_8_0::WriteItem ( cPacketizer a_Pkt,
const cItem a_Item 
) const
protectedvirtual

Writes the item data into a packet.

Reimplemented in cProtocol_1_9_0, cProtocol_1_13_2, and cProtocol_1_13.

Definition at line 3390 of file Protocol_1_8.cpp.

◆ WriteMobMetadata()

void cProtocol_1_8_0::WriteMobMetadata ( cPacketizer a_Pkt,
const cMonster a_Mob 
) const
protectedvirtual

Writes the mob-specific metadata for the specified mob.

Reimplemented in cProtocol_1_9_0, cProtocol_1_14, cProtocol_1_13, cProtocol_1_12, cProtocol_1_11_0, and cProtocol_1_10_0.

Definition at line 3472 of file Protocol_1_8.cpp.

Member Data Documentation

◆ m_AuthServerID

AString cProtocol_1_8_0::m_AuthServerID
private

Definition at line 249 of file Protocol_1_8.h.

◆ m_CommLogFile

cFile cProtocol_1_8_0::m_CommLogFile
private

The logfile where the comm is logged, when g_ShouldLogComm is true.

Definition at line 260 of file Protocol_1_8.h.

◆ m_Compressor

CircularBufferCompressor cProtocol_1_8_0::m_Compressor
private

Definition at line 256 of file Protocol_1_8.h.

◆ m_Decryptor

cAesCfb128Decryptor cProtocol_1_8_0::m_Decryptor
private

Definition at line 253 of file Protocol_1_8.h.

◆ m_Encryptor

cAesCfb128Encryptor cProtocol_1_8_0::m_Encryptor
private

Definition at line 254 of file Protocol_1_8.h.

◆ m_Extractor

CircularBufferExtractor cProtocol_1_8_0::m_Extractor
private

Definition at line 257 of file Protocol_1_8.h.

◆ m_IsEncrypted

bool cProtocol_1_8_0::m_IsEncrypted
private

Definition at line 251 of file Protocol_1_8.h.

◆ m_ServerAddress

AString cProtocol_1_8_0::m_ServerAddress
private

Definition at line 247 of file Protocol_1_8.h.

◆ m_State

State cProtocol_1_8_0::m_State
protected

State of the protocol.

Definition at line 143 of file Protocol_1_8.h.


The documentation for this class was generated from the following files: