the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 58 lines 1.3 kB view raw
1#pragma once 2 3#include "AmbientCreature.h" 4 5class Bat : public AmbientCreature 6{ 7public: 8 eINSTANCEOF GetType() { return eTYPE_BAT; } 9 static Entity *create(Level *level) { return new Bat(level); } 10 11private: 12 static const int DATA_ID_FLAGS = 16; 13 static const int FLAG_RESTING = 1; 14 15 Pos *targetPosition; 16 17public: 18 Bat(Level *level); 19 20protected: 21 virtual void defineSynchedData(); 22 virtual float getSoundVolume(); 23 virtual float getVoicePitch(); 24 virtual int getAmbientSound(); 25 virtual int getHurtSound(); 26 virtual int getDeathSound(); 27 28public: 29 virtual bool isPushable(); 30 31protected: 32 virtual void doPush(shared_ptr<Entity> e); 33 virtual void pushEntities(); 34 virtual void registerAttributes(); 35 36public: 37 virtual bool isResting(); 38 virtual void setResting(bool value); 39 40protected: 41 virtual bool useNewAi(); 42 43public: 44 virtual void tick(); 45 46protected: 47 virtual void newServerAiStep(); 48 virtual bool makeStepSound(); 49 virtual void causeFallDamage(float distance); 50 virtual void checkFallDamage(double ya, bool onGround); 51 virtual bool isIgnoringTileTriggers(); 52 53public: 54 virtual bool hurt(DamageSource *source, float dmg); 55 virtual void readAdditionalSaveData(CompoundTag *tag); 56 virtual void addAdditonalSaveData(CompoundTag *entityTag); 57 virtual bool canSpawn(); 58};