the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
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};