17class StalkAndPounceOnTargetGoal :
public ::Goal {
20 enum class StalkAndPounceState : uchar {
31 ::ll::TypedStorage<4, 4, float> mStalkSpeed;
32 ::ll::TypedStorage<4, 4, float> mStalkingMaxDistanceSqr;
33 ::ll::TypedStorage<4, 4, float> mLeapHeight;
34 ::ll::TypedStorage<4, 4, float> mLeapDistance;
35 ::ll::TypedStorage<4, 4, float> mMaxPounceDistanceSqr;
36 ::ll::TypedStorage<4, 4, float> mStrikeDistanceSqr;
37 ::ll::TypedStorage<4, 4, int> mInterestedTicks;
38 ::ll::TypedStorage<4, 4, int> mStuckTicks;
39 ::ll::TypedStorage<8, 8, ::Tick> mEndTimestamp;
40 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mStuckBlockList;
41 ::ll::TypedStorage<1, 1, ::StalkAndPounceOnTargetGoal::StalkAndPounceState> mState;
42 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
43 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
48 StalkAndPounceOnTargetGoal& operator=(StalkAndPounceOnTargetGoal
const&);
49 StalkAndPounceOnTargetGoal(StalkAndPounceOnTargetGoal
const&);
50 StalkAndPounceOnTargetGoal();
55 virtual bool canUse() ;
57 virtual bool canContinueToUse() ;
59 virtual void start() ;
65 virtual bool canBeInterrupted() ;
67 virtual void appendDebugInfo(::std::string& str)
const ;
69 virtual ~StalkAndPounceOnTargetGoal() =
default;
75 MCAPI
void _attemptToStrike(
::Vec3 const& mobPos,
::Vec3 const& targetPos);
77 MCAPI
bool _isPouncePathClear(
::Vec3 const& mobPos,
::Vec3 const& targetPos)
const;
79 MCAPI
bool _isStuckBlock(
::BlockPos blockPos)
const;
81 MCAPI
void _pounce(
::Vec3 const& mobPos,
::Vec3 const& targetPos)
const;
83 MCAPI
void _preparePounce(
::Vec3 const& mobPos,
::Vec3 const& targetPos);
85 MCAPI
void _stalkPrey(
::Vec3 const& mobPos,
::Vec3 const& targetPos);
95 MCAPI
bool $canContinueToUse();
103 MCAPI
bool $canBeInterrupted();
105 MCAPI
void $appendDebugInfo(::std::string& str)
const;