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 "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};