// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Actor.hpp"
#include "Animal.hpp"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class Horse : public Animal {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_HORSE
public:
    class Horse& operator=(class Horse const &) = delete;
    Horse(class Horse const &) = delete;
    Horse() = delete;
#endif

public:
    /*1*/ virtual void reloadHardcoded(enum Actor::InitializationMethod, class VariantParameterList const &);
    /*7*/ virtual ~Horse();
    /*26*/ virtual class Vec3 getInterpolatedRidingOffset(float) const;
    /*30*/ virtual void __unk_vfn_30();
    /*39*/ virtual void normalTick();
    /*42*/ virtual void positionRider(class Actor &, float);
    /*54*/ virtual void __unk_vfn_54();
    /*61*/ virtual void __unk_vfn_61();
    /*74*/ virtual float getShadowRadius() const;
    /*76*/ virtual void __unk_vfn_76();
    /*81*/ virtual void __unk_vfn_81();
    /*85*/ virtual bool isImmobile() const;
    /*88*/ virtual void __unk_vfn_88();
    /*90*/ virtual void __unk_vfn_90();
    /*98*/ virtual void __unk_vfn_98();
    /*100*/ virtual void __unk_vfn_100();
    /*112*/ virtual void onFailedTame();
    /*116*/ virtual void setStanding(bool);
    /*121*/ virtual void __unk_vfn_121();
    /*131*/ virtual void feed(int);
    /*132*/ virtual void handleEntityEvent(enum ActorEvent, int);
    /*169*/ virtual void __unk_vfn_169();
    /*171*/ virtual struct ActorUniqueID getControllingPlayer() const;
    /*173*/ virtual void causeFallDamage(float);
    /*174*/ virtual void handleFallDistanceOnServer(float, bool);
    /*182*/ virtual void __unk_vfn_182();
    /*203*/ virtual void openContainerComponent(class Player &);
    /*206*/ virtual void __unk_vfn_206();
    /*207*/ virtual void __unk_vfn_207();
    /*228*/ virtual void __unk_vfn_228();
    /*231*/ virtual void __unk_vfn_231();
    /*233*/ virtual void die(class ActorDamageSource const &);
    /*238*/ virtual void __unk_vfn_238();
    /*240*/ virtual bool _hurt(class ActorDamageSource const &, int, bool, bool);
    /*244*/ virtual void _playStepSound(class BlockPos const &, class Block const &);
    /*246*/ virtual void __unk_vfn_246();
    /*257*/ virtual void __unk_vfn_257();
    /*266*/ virtual int getAmbientSoundPostponeTicks();
    /*275*/ virtual void travel(float, float, float);
    /*278*/ virtual void aiStep();
    /*290*/ virtual void __unk_vfn_290();
    /*300*/ virtual void __unk_vfn_300();
    /*305*/ virtual int getArmorValue();
    /*332*/ virtual void __unk_vfn_332();
    /*348*/ virtual void __unk_vfn_348();
    /*349*/ virtual void setType(int);
    /*350*/ virtual int getType() const;
    /*351*/ virtual void setHorseEating(bool);
    /*352*/ virtual float getEatAnim(float);
    /*353*/ virtual float getStandAnim(float) const;
    /*354*/ virtual float getMouthAnim(float);
    /*355*/ virtual bool canWearArmor() const;
    /*356*/ virtual bool getHasReproduced() const;
    /*357*/ virtual void setBred(bool);
    /*358*/ virtual void setReproduced(bool);
    /*359*/ virtual bool isAmuletHorse();
    /*360*/ virtual bool isUndead() const;
    /*361*/ virtual bool isSterile() const;
    /*362*/ virtual bool isAdult() const;
    /*363*/ virtual bool isHorseEating() const;
    /*364*/ virtual bool isBred() const;
    /*365*/ virtual void makeMad();
    /*366*/ virtual int nameYOffset();
    /*367*/ virtual bool tameToPlayer(class Player &, bool);
    /*368*/ virtual std::string getMadSound();
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_HORSE
    MCVAPI bool useNewAi() const;
#endif
    MCAPI static int const DONKEY_CHEST_COUNT;

//private:
    MCAPI void openMouth();
    MCAPI void setHorseFlag(enum HorseFlags, bool);

private:

};