the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3using namespace std;
4
5#include "Animal.h"
6
7class Player;
8class LightningBolt;
9class ControlledByPlayerGoal;
10
11class Pig : public Animal
12{
13public:
14 eINSTANCEOF GetType() { return eTYPE_PIG; }
15 static Entity *create(Level *level) { return new Pig(level); }
16private:
17 static const int DATA_SADDLE_ID = 16;
18 ControlledByPlayerGoal *controlGoal;
19
20public:
21 Pig(Level *level);
22
23 virtual bool useNewAi();
24
25protected:
26 virtual void registerAttributes();
27 virtual void newServerAiStep();
28
29public:
30 virtual bool canBeControlledByRider();
31
32protected:
33 virtual void defineSynchedData();
34
35public:
36 virtual void addAdditonalSaveData(CompoundTag *tag);
37 virtual void readAdditionalSaveData(CompoundTag *tag);
38
39protected:
40 virtual int getAmbientSound();
41 virtual int getHurtSound();
42 virtual int getDeathSound();
43 virtual void playStepSound(int xt, int yt, int zt, int t);
44
45public:
46 virtual bool mobInteract(shared_ptr<Player> player);
47
48protected:
49 virtual int getDeathLoot();
50 virtual void dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel);
51
52public:
53 bool hasSaddle();
54 void setSaddle(bool value);
55 virtual void thunderHit(const LightningBolt *lightningBolt);
56
57protected:
58 virtual void causeFallDamage(float distance);
59
60public:
61 virtual shared_ptr<AgableMob> getBreedOffspring(shared_ptr<AgableMob> target);
62 bool isFood(shared_ptr<ItemInstance> itemInstance);
63 ControlledByPlayerGoal *getControlGoal();
64};