20class MoveToBlockGoal :
public ::BaseGoal {
24 ::ll::TypedStorage<4, 4, int> mGiveUpTicks;
25 ::ll::TypedStorage<4, 4, int> mStayDurationTicks;
26 ::ll::TypedStorage<4, 4, float> mSpeedMod;
27 ::ll::TypedStorage<4, 4, float> mGoalRadiusSq;
28 ::ll::TypedStorage<4, 12, ::BlockPos> mTargetBlockPos;
29 ::ll::TypedStorage<4, 12, ::Vec3> mTargetPositionOffset;
30 ::ll::TypedStorage<4, 4, float> mChanceToStart;
31 ::ll::TypedStorage<4, 4, int> mInterval;
32 ::ll::TypedStorage<4, 4, int> mSearchRange;
33 ::ll::TypedStorage<4, 4, int> mSearchHeight;
34 ::ll::TypedStorage<1, 1, ::TargetSelectionMethod const> mMethod;
35 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionTrigger>
const> mOnReachTriggers;
36 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionTrigger>
const> mOnStayCompletedTriggers;
37 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>
const> mTargetBlockDescriptors;
38 ::ll::TypedStorage<8, 8, uint64> mCooldownCounter;
39 ::ll::TypedStorage<8, 8, uint64 const> mCooldownTimeoutTime;
40 ::ll::TypedStorage<1, 1, bool> mReachedTarget;
41 ::ll::TypedStorage<4, 4, int> mNextStartTick;
42 ::ll::TypedStorage<4, 4, int> mStayTicks;
43 ::ll::TypedStorage<4, 4, int> mTravelTicks;
44 ::ll::TypedStorage<4, 12, ::BlockPos> mStartPos;
45 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
46 ::ll::TypedStorage<1, 1, bool> mHasSentOnReachEvent;
47 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mTargetBlockFilter;
52 MoveToBlockGoal& operator=(MoveToBlockGoal
const&);
53 MoveToBlockGoal(MoveToBlockGoal
const&);
59 virtual bool canUse() ;
61 virtual bool canContinueToUse() ;
65 virtual void appendDebugInfo(::std::string& str)
const ;
67 virtual void start() ;
75 MCAPI MoveToBlockGoal(
81 int stayDurationTicks,
83 ::Vec3 targetPositionOffset,
85 ::TargetSelectionMethod targetSelectionMethod,
86 ::std::vector<::ActorDefinitionTrigger> onReachTriggers,
87 ::std::vector<::ActorDefinitionTrigger> onStayCompletedTriggers,
88 ::std::vector<::ItemDescriptor> targetBlocks,
92 MCAPI
bool _findTargetBlock();
96 MCAPI
void _moveToBlock();
108 int stayDurationTicks,
110 ::Vec3 targetPositionOffset,
112 ::TargetSelectionMethod targetSelectionMethod,
113 ::std::vector<::ActorDefinitionTrigger> onReachTriggers,
114 ::std::vector<::ActorDefinitionTrigger> onStayCompletedTriggers,
115 ::std::vector<::ItemDescriptor> targetBlocks,
123 MCAPI
bool $canUse();
125 MCAPI
bool $canContinueToUse();
129 MCAPI
void $appendDebugInfo(::std::string& str)
const;