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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class StalkAndPounceOnTargetGoal {

#define AFTER_EXTRA

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

public:
    /*0*/ virtual ~StalkAndPounceOnTargetGoal();
    /*1*/ virtual bool canUse();
    /*2*/ virtual bool canContinueToUse();
    /*3*/ virtual bool canBeInterrupted();
    /*4*/ virtual void start();
    /*5*/ virtual void stop();
    /*6*/ virtual void tick();
    /*7*/ virtual void appendDebugInfo(std::string &) const;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_STALKANDPOUNCEONTARGETGOAL
#endif

//private:
    MCAPI void _attemptToStrike(class Vec3 const &, class Vec3 const &);
    MCAPI bool _isPouncePathClear(class Vec3 const &, class Vec3 const &) const;
    MCAPI bool _isStuckBlock(class BlockPos) const;
    MCAPI void _preparePounce(class Vec3 const &, class Vec3 const &);
    MCAPI void _stalkPrey(class Vec3 const &, class Vec3 const &);
    MCAPI void _stuck();

private:

};