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/BaseGoal.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 ::BaseGoal {
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 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI MoveToBlockGoal(
76 ::Mob& mob,
77 float speedModifier,
78 int searchRange,
79 int searchHeight,
80 int tickInterval,
81 int stayDurationTicks,
82 float goalRadius,
83 ::Vec3 targetPositionOffset,
84 float chanceToStart,
85 ::TargetSelectionMethod targetSelectionMethod,
86 ::std::vector<::ActorDefinitionTrigger> onReachTriggers,
87 ::std::vector<::ActorDefinitionTrigger> onStayCompletedTriggers,
88 ::std::vector<::ItemDescriptor> targetBlocks,
89 ::ActorFilterGroup const& targetBlockFilter
90 );
91
92 MCAPI bool _findTargetBlock();
93
94 MCAPI bool _isValidTarget(::BlockSource& region, ::BlockPos& pos) const;
95
96 MCAPI void _moveToBlock();
97 // NOLINTEND
98
99public:
100 // constructor thunks
101 // NOLINTBEGIN
102 MCAPI void* $ctor(
103 ::Mob& mob,
104 float speedModifier,
105 int searchRange,
106 int searchHeight,
107 int tickInterval,
108 int stayDurationTicks,
109 float goalRadius,
110 ::Vec3 targetPositionOffset,
111 float chanceToStart,
112 ::TargetSelectionMethod targetSelectionMethod,
113 ::std::vector<::ActorDefinitionTrigger> onReachTriggers,
114 ::std::vector<::ActorDefinitionTrigger> onStayCompletedTriggers,
115 ::std::vector<::ItemDescriptor> targetBlocks,
116 ::ActorFilterGroup const& targetBlockFilter
117 );
118 // NOLINTEND
119
120public:
121 // virtual function thunks
122 // NOLINTBEGIN
123 MCAPI bool $canUse();
124
125 MCAPI bool $canContinueToUse();
126
127 MCAPI void $tick();
128
129 MCAPI void $appendDebugInfo(::std::string& str) const;
130
131 MCAPI void $start();
132
133 MCAPI void $stop();
134
135
136 // NOLINTEND
137
138public:
139 // vftables
140 // NOLINTBEGIN
141 MCAPI static void** $vftable();
142 // NOLINTEND
143};
Definition ActorDefinitionTrigger.h:16
Definition ActorFilterGroup.h:19
static MCAPI void ** $vftable()
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition ItemDescriptor.h:25
Definition Mob.h:57
Definition Vec3.h:10