4jcraft/Minecraft.World/Entities/Mobs/Chicken.h
2026-03-06 12:16:41 -06:00

43 lines
918 B
C++

#pragma once
#include "Animal.h"
class Level;
class CompoundTag;
class Chicken : public Animal
{
public:
eINSTANCEOF GetType() { return eTYPE_CHICKEN; }
static Entity *create(Level *level) { return new Chicken(level); }
bool sheared;
float flap;
float flapSpeed;
float oFlapSpeed, oFlap;
float flapping;
int eggTime;
private:
void _init();
public:
Chicken(Level *level);
virtual bool useNewAi();
virtual int getMaxHealth();
virtual void aiStep();
protected:
virtual void causeFallDamage(float distance);
virtual int getAmbientSound();
virtual int getHurtSound();
virtual int getDeathSound();
virtual int getDeathLoot();
virtual void dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel);
public:
virtual std::shared_ptr<AgableMob> getBreedOffspring(std::shared_ptr<AgableMob> target);
virtual bool isFood(std::shared_ptr<ItemInstance> itemInstance);
};