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