the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2using namespace std;
3
4#include "Mob.h"
5#include "Enemy.h"
6#include "ParticleTypes.h"
7
8class Slime : public Mob, public Enemy
9{
10public:
11 eINSTANCEOF GetType() { return eTYPE_SLIME; }
12 static Entity *create(Level *level) { return new Slime(level); }
13
14private:
15 static const int ID_SIZE = 16;
16
17public:
18 float targetSquish;
19 float squish;
20 float oSquish;
21
22private:
23 int jumpDelay;
24
25 void _init();
26
27public:
28 Slime(Level *level);
29
30protected:
31 virtual void defineSynchedData();
32
33public:
34 using Mob::setSize;
35
36 virtual void setSize(int size);
37 virtual int getSize();
38 virtual void addAdditonalSaveData(CompoundTag *tag);
39 virtual void readAdditionalSaveData(CompoundTag *tag);
40
41protected:
42 virtual ePARTICLE_TYPE getParticleName();
43 virtual int getSquishSound();
44
45public:
46 virtual void tick();
47
48protected:
49 virtual void serverAiStep();
50 virtual void decreaseSquish();
51 virtual int getJumpDelay();
52 virtual shared_ptr<Slime> createChild();
53
54public:
55 virtual void remove();
56 virtual void playerTouch(shared_ptr<Player> player);
57
58protected:
59 virtual bool isDealsDamage();
60 virtual int getAttackDamage();
61 virtual int getHurtSound();
62 virtual int getDeathSound();
63 virtual int getDeathLoot();
64
65public:
66 virtual bool canSpawn();
67
68protected:
69 virtual float getSoundVolume();
70
71public:
72 virtual int getMaxHeadXRot();
73
74protected:
75 virtual bool doPlayJumpSound();
76 virtual bool doPlayLandSound();
77};