the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 69 lines 1.8 kB view raw
1#pragma once 2using namespace std; 3 4#include "Monster.h" 5#include "RangedAttackMob.h" 6 7class RangedAttackGoal; 8class MeleeAttackGoal; 9 10class Skeleton : public Monster, public RangedAttackMob 11{ 12public: 13 eINSTANCEOF GetType() { return eTYPE_SKELETON; } 14 static Entity *create(Level *level) { return new Skeleton(level); } 15 16private: 17 static const int DATA_TYPE_ID = 13; 18 19public: 20 static const int TYPE_DEFAULT = 0; 21 static const int TYPE_WITHER = 1; 22 23private: 24 RangedAttackGoal *bowGoal; 25 MeleeAttackGoal *meleeGoal; 26 27public: 28 Skeleton(Level *level); 29 virtual ~Skeleton(); 30 31protected: 32 virtual void registerAttributes(); 33 virtual void defineSynchedData(); 34 35public: 36 virtual bool useNewAi(); 37 38protected: 39 virtual int getAmbientSound(); 40 virtual int getHurtSound(); 41 virtual int getDeathSound(); 42 virtual void playStepSound(int xt, int yt, int zt, int t); 43 44public: 45 virtual bool doHurtTarget(shared_ptr<Entity> target); 46 47public: 48 virtual MobType getMobType(); 49 virtual void aiStep(); 50 virtual void rideTick(); 51 virtual void die(DamageSource *source); 52 53protected: 54 virtual int getDeathLoot(); 55 virtual void dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel); 56 virtual void dropRareDeathLoot(int rareLootLevel); 57 virtual void populateDefaultEquipmentSlots(); 58 59public: 60 virtual MobGroupData *finalizeMobSpawn(MobGroupData *groupData, int extraData = 0); // 4J Added extraData param 61 virtual void reassessWeaponGoal(); 62 virtual void performRangedAttack(shared_ptr<LivingEntity> target, float power); 63 virtual int getSkeletonType(); 64 virtual void setSkeletonType(int type); 65 virtual void readAdditionalSaveData(CompoundTag *tag); 66 virtual void addAdditonalSaveData(CompoundTag *entityTag); 67 virtual void setEquippedSlot(int slot, shared_ptr<ItemInstance> item); 68 virtual double getRidingHeight(); 69};