the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 90 lines 2.0 kB view raw
1#pragma once 2 3#include "TamableAnimal.h" 4 5class TemptGoal; 6 7class Ocelot : public TamableAnimal 8{ 9 friend class OcelotSitOnTileGoal; 10 11public: 12 eINSTANCEOF GetType() { return eTYPE_OCELOT; } 13 static Entity *create(Level *level) { return new Ocelot(level); } 14 15public: 16 static const double SNEAK_SPEED_MOD; 17 static const double WALK_SPEED_MOD; 18 static const double FOLLOW_SPEED_MOD; 19 static const double SPRINT_SPEED_MOD; 20 21private: 22 static const int DATA_TYPE_ID; 23 24public: 25 enum 26 { 27 TYPE_OCELOT, 28 TYPE_BLACK, 29 TYPE_RED, 30 TYPE_SIAMESE, 31 }; 32 33private: 34 TemptGoal *temptGoal; 35 36public: 37 Ocelot(Level *level); 38 39protected: 40 virtual void defineSynchedData(); 41 42public: 43 virtual void serverAiMobStep(); 44 45protected: 46 virtual bool removeWhenFarAway(); 47 48public: 49 virtual bool useNewAi(); 50 51protected: 52 virtual void registerAttributes(); 53 virtual void causeFallDamage(float distance); 54 55public: 56 virtual void addAdditonalSaveData(CompoundTag *tag); 57 virtual void readAdditionalSaveData(CompoundTag *tag); 58 59protected: 60 virtual int getAmbientSound(); 61 virtual int getHurtSound(); 62 virtual int getDeathSound(); 63 virtual float getSoundVolume(); 64 virtual int getDeathLoot(); 65 66public: 67 virtual bool doHurtTarget(shared_ptr<Entity> target); 68 virtual bool hurt(DamageSource *source, float dmg); 69 70protected: 71 virtual void dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel); 72 73public: 74 virtual bool mobInteract(shared_ptr<Player> player); 75 virtual shared_ptr<AgableMob> getBreedOffspring(shared_ptr<AgableMob> target); 76 virtual bool isFood(shared_ptr<ItemInstance> itemInstance); 77 virtual bool canMate(shared_ptr<Animal> animal); 78 virtual int getCatType(); 79 virtual void setCatType(int type); 80 virtual bool canSpawn(); 81 virtual wstring getAName(); 82 virtual MobGroupData *finalizeMobSpawn(MobGroupData *groupData, int extraData = 0); // 4J Added extraData param 83 84 85 // 4J-JEV: Added for tooltips, is cat annoying player by sitting on chest or furnace. 86private: 87 void setSittingOnTile(bool val); 88public: 89 bool isSittingOnTile(); 90};