LeviLamina
Loading...
Searching...
No Matches
MoveToBlockGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/util/TargetSelectionMethod.h"
8#include "mc/world/actor/ActorFilterGroup.h"
9#include "mc/world/actor/ai/goal/Goal.h"
10#include "mc/world/level/BlockPos.h"
11
12// auto generated forward declare list
13// clang-format off
15class BlockSource;
16class ItemDescriptor;
17class Mob;
18// clang-format on
19
20class MoveToBlockGoal : public ::Goal {
21public:
22 // member variables
23 // NOLINTBEGIN
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;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 MoveToBlockGoal& operator=(MoveToBlockGoal const&);
53 MoveToBlockGoal(MoveToBlockGoal const&);
54 MoveToBlockGoal();
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual bool canUse() /*override*/;
60
61 virtual bool canContinueToUse() /*override*/;
62
63 virtual void tick() /*override*/;
64
65 virtual void appendDebugInfo(::std::string& str) const /*override*/;
66
67 virtual void start() /*override*/;
68
69 virtual void stop() /*override*/;
70
71 virtual ~MoveToBlockGoal() /*override*/;
72 // NOLINTEND
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI MoveToBlockGoal(
78 ::Mob& mob,
79 float speedModifier,
80 int searchRange,
81 int searchHeight,
82 int tickInterval,
83 int stayDurationTicks,
84 float goalRadius,
85 ::Vec3 targetPositionOffset,
86 float chanceToStart,
87 ::TargetSelectionMethod targetSelectionMethod,
88 ::std::vector<::ActorDefinitionTrigger> onReachTriggers,
89 ::std::vector<::ActorDefinitionTrigger> onStayCompletedTriggers,
90 ::std::vector<::ItemDescriptor> targetBlocks,
91 ::ActorFilterGroup const& targetBlockFilter
92 );
93
94 MCAPI void _checkIfStuck();
95
96 MCAPI bool _findTargetBlock();
97
98 MCAPI bool _isValidTarget(::BlockSource& region, ::BlockPos& pos) const;
99
100 MCAPI void _moveToBlock();
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCAPI void* $ctor(
107 ::Mob& mob,
108 float speedModifier,
109 int searchRange,
110 int searchHeight,
111 int tickInterval,
112 int stayDurationTicks,
113 float goalRadius,
114 ::Vec3 targetPositionOffset,
115 float chanceToStart,
116 ::TargetSelectionMethod targetSelectionMethod,
117 ::std::vector<::ActorDefinitionTrigger> onReachTriggers,
118 ::std::vector<::ActorDefinitionTrigger> onStayCompletedTriggers,
119 ::std::vector<::ItemDescriptor> targetBlocks,
120 ::ActorFilterGroup const& targetBlockFilter
121 );
122 // NOLINTEND
123
124public:
125 // destructor thunk
126 // NOLINTBEGIN
127 MCAPI void $dtor();
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133 MCAPI bool $canUse();
134
135 MCAPI bool $canContinueToUse();
136
137 MCAPI void $tick();
138
139 MCAPI void $appendDebugInfo(::std::string& str) const;
140
141 MCAPI void $start();
142
143 MCAPI void $stop();
144
145
146 // NOLINTEND
147
148public:
149 // vftables
150 // NOLINTBEGIN
151 MCAPI static void** $vftable();
152 // NOLINTEND
153};
Definition ActorDefinitionTrigger.h:9
Definition ActorFilterGroup.h:19
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Goal.h:14
Definition ItemDescriptor.h:23
Definition Mob.h:50
Definition Vec3.h:10