// 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 Parrot : public Animal {

#define AFTER_EXTRA

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

public:
    /*2*/ virtual void reloadHardcodedClient(enum Actor::InitializationMethod, class VariantParameterList const &);
    /*7*/ virtual ~Parrot();
    /*20*/ virtual class Vec3 getInterpolatedRidingPosition(float) const;
    /*30*/ virtual void __unk_vfn_30();
    /*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();
    /*88*/ virtual void __unk_vfn_88();
    /*90*/ virtual void __unk_vfn_90();
    /*98*/ virtual void __unk_vfn_98();
    /*100*/ virtual void __unk_vfn_100();
    /*110*/ virtual void setSitting(bool);
    /*121*/ virtual void __unk_vfn_121();
    /*122*/ virtual void rideLanded(class Vec3 const &, class Vec3 const &);
    /*124*/ virtual bool isInvulnerableTo(class ActorDamageSource const &) const;
    /*169*/ virtual void __unk_vfn_169();
    /*180*/ virtual bool canBePulledIntoVehicle() const;
    /*182*/ virtual void __unk_vfn_182();
    /*206*/ virtual void __unk_vfn_206();
    /*207*/ virtual void __unk_vfn_207();
    /*228*/ virtual void __unk_vfn_228();
    /*231*/ virtual void __unk_vfn_231();
    /*238*/ virtual void __unk_vfn_238();
    /*244*/ virtual void _playStepSound(class BlockPos const &, class Block const &);
    /*246*/ virtual void __unk_vfn_246();
    /*257*/ virtual void __unk_vfn_257();
    /*264*/ virtual void playAmbientSound();
    /*265*/ virtual enum LevelSoundEvent getAmbientSound();
    /*278*/ virtual void aiStep();
    /*290*/ virtual void __unk_vfn_290();
    /*300*/ virtual void __unk_vfn_300();
    /*330*/ virtual float _getWalkTargetValue(class BlockPos const &);
    /*332*/ virtual void __unk_vfn_332();
    /*348*/ virtual void __unk_vfn_348();
    /*349*/ virtual bool isDarkEnoughToSpawn() const;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_PARROT
    MCVAPI bool _makeFlySound() const;
    MCVAPI bool useNewAi() const;
#endif

//private:
    MCAPI void _calculateFlapping();
    MCAPI bool _imitateNearbyMobs();

private:

};