summaryrefslogblamecommitdiffstats
path: root/src/Protocol/Protocol_1_11.h
blob: f5ed73187dd37f6c872983719e2aa7fd66fa06b8 (plain) (tree)
1
2
3
4
5
6
7
8
9






                                              

                                                













                          
                       

                               
                                       

       
 
                           
 

          
                                                                                                                                
                                                                                                           




                                                                                                               
 

                                                      
 

                                                                           
                                                                                                
 
                                                                                    
 
                                                                                                              

                                                                                                 
  




 
                       

                               
                                       

       
 
                           
 

          
                                                      
  

// Protocol_1_11.h

/*
Declares the 1.11 protocol classes:
	- cProtocol_1_11_0
		- release 1.11 protocol (#315)
	- cProtocol_1_11_1
		- release 1.11.1 protocol (#316)
*/





#pragma once

#include "Protocol_1_10.h"





class cProtocol_1_11_0:
	public cProtocol_1_10_0
{
	using Super = cProtocol_1_10_0;

public:

	using Super::Super;

protected:

	virtual void SendCollectEntity    (const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count) override;
	virtual void SendEntityAnimation  (const cEntity & a_Entity, EntityAnimation a_Animation) override;
	virtual void SendHideTitle        (void) override;
	virtual void SendResetTitle       (void) override;
	virtual void SendSpawnMob         (const cMonster & a_Mob) override;
	virtual void SendTitleTimes       (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override;
	virtual void SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) override;

	/** Returns 1.11. */
	virtual Version GetProtocolVersion() override;

	/** Converts eMonsterType to protocol-specific mob IDs */
	virtual UInt32 GetProtocolMobType(eMonsterType a_MobType) override;
	virtual signed char GetProtocolEntityStatus(EntityAnimation a_Animation) const override;

	virtual void HandlePacketBlockPlace   (cByteBuffer & a_ByteBuffer) override;

	virtual void WriteBlockEntity(cFastNBTWriter & a_Writer, const cBlockEntity & a_BlockEntity) override;
	virtual void WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_Entity) override;
	virtual void WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob) override;
};





class cProtocol_1_11_1:
	public cProtocol_1_11_0
{
	using Super = cProtocol_1_11_0;

public:

	using Super::Super;

protected:

	virtual Version GetProtocolVersion() override;
};