1
0
cuberite-2a/src/Mobs/Enderman.h
2017-06-30 23:53:23 +02:00

46 lines
1003 B
C++

#pragma once
#include "PassiveAggressiveMonster.h"
class cEnderman :
public cPassiveAggressiveMonster
{
typedef cPassiveAggressiveMonster super;
public:
cEnderman(void);
CLASS_PROTODEF(cEnderman)
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
virtual void CheckEventSeePlayer(cChunk & a_Chunk) override;
virtual void CheckEventLostPlayer(void) override;
virtual void EventLosePlayer(void) override;
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
bool IsScreaming(void) const {return m_bIsScreaming; }
BLOCKTYPE GetCarriedBlock(void) const {return CarriedBlock; }
NIBBLETYPE GetCarriedMeta(void) const {return CarriedMeta; }
/** Returns if the current sky light level is sufficient for the enderman to become aggravated */
bool CheckLight(void);
/** Returns if the enderman gets hit by the rain */
bool CheckRain(void);
private:
bool m_bIsScreaming;
BLOCKTYPE CarriedBlock;
NIBBLETYPE CarriedMeta;
} ;