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