LeviLamina
Loading...
Searching...
No Matches
JumpToBlockGoal.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/json_util/JsonSchemaObjectNode.h"
8#include "mc/world/actor/ai/goal/BaseGoalDefinition.h"
9#include "mc/world/actor/ai/goal/Goal.h"
10#include "mc/world/level/BlockPos.h"
11#include "mc/world/level/Tick.h"
12#include "mc/world/phys/AABB.h"
13
14// auto generated forward declare list
15// clang-format off
16class EntityContext;
17class Mob;
19namespace JsonUtil { class EmptyClass; }
20// clang-format on
21
22class JumpToBlockGoal : public ::Goal {
23public:
24 // JumpToBlockGoal inner types declare
25 // clang-format off
26 class Definition;
28 // clang-format on
29
30 // JumpToBlockGoal inner types define
32 public:
33 // member variables
34 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // prevent constructor by default
49 Definition& operator=(Definition const&);
50 Definition(Definition const&);
51 Definition();
52
53 public:
54 // virtual functions
55 // NOLINTBEGIN
56 // vIndex: 0
57 virtual ~Definition() /*override*/;
58 // NOLINTEND
59
60 public:
61 // member functions
62 // NOLINTBEGIN
63 MCNAPI void initialize(::EntityContext& entity, ::JumpToBlockGoal& goal) const;
64 // NOLINTEND
65
66 public:
67 // static functions
68 // NOLINTBEGIN
69 MCNAPI static void buildSchema(
70 ::std::string const& name,
72 root
73 );
74 // NOLINTEND
75
76 public:
77 // destructor thunk
78 // NOLINTBEGIN
79 MCNAPI void $dtor();
80 // NOLINTEND
81
82 public:
83 // vftables
84 // NOLINTBEGIN
85 MCNAPI static void** $vftable();
86 // NOLINTEND
87 };
88
89 enum class JumpState : uchar {
90 LookingForBlock = 0,
91 FaceJump = 1,
92 Jump = 2,
93 Airborne = 3,
94 Done = 4,
95 };
96
98 public:
99 // member variables
100 // NOLINTBEGIN
104 // NOLINTEND
105
106 public:
107 // prevent constructor by default
111 };
112
113public:
114 // member variables
115 // NOLINTBEGIN
116 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
117 ::ll::TypedStorage<1, 1, bool> mDiscardFrictionDefault;
118 ::ll::TypedStorage<8, 8, ::Tick> mCooldownTimeout;
119 ::ll::TypedStorage<8, 8, ::Tick> mNextCandidateCheck;
120 ::ll::TypedStorage<4, 4, int> mCandidateAttemptCounter;
121 ::ll::TypedStorage<1, 1, ::JumpToBlockGoal::JumpState> mState;
122 ::ll::TypedStorage<8, 24, ::std::vector<::Vec3>> mJumpCurve;
123 ::ll::TypedStorage<4, 12, ::BlockPos> mTargetBlockPos;
124 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mCandidateBlocksPositions;
125 ::ll::TypedStorage<4, 12, ::BlockPos> mStartingPos;
126 ::ll::TypedStorage<8, 24, ::std::vector<::JumpToBlockGoal::WeightedJumpToBlockPos>> mJumpableBlocksPositions;
127 ::ll::TypedStorage<4, 12, ::Vec3> mVelocityVector;
128 ::ll::TypedStorage<8, 8, ::Tick> mFaceJumpTimer;
129 ::ll::TypedStorage<8, 104, ::JumpToBlockGoal::Definition> mDefinition;
130 ::ll::TypedStorage<4, 24, ::AABB const> mOriginalAabb;
131 // NOLINTEND
132
133public:
134 // prevent constructor by default
135 JumpToBlockGoal& operator=(JumpToBlockGoal const&);
138
139public:
140 // virtual functions
141 // NOLINTBEGIN
142 // vIndex: 1
143 virtual bool canUse() /*override*/;
144
145 // vIndex: 2
146 virtual bool canContinueToUse() /*override*/;
147
148 // vIndex: 4
149 virtual void start() /*override*/;
150
151 // vIndex: 5
152 virtual void stop() /*override*/;
153
154 // vIndex: 6
155 virtual void tick() /*override*/;
156
157 // vIndex: 3
158 virtual bool canBeInterrupted() /*override*/;
159
160 // vIndex: 7
161 virtual void appendDebugInfo(::std::string& str) const /*override*/;
162
163 // vIndex: 0
164 virtual ~JumpToBlockGoal() /*override*/;
165 // NOLINTEND
166
167public:
168 // member functions
169 // NOLINTBEGIN
170 MCNAPI explicit JumpToBlockGoal(::Mob& mob);
171
172 MCNAPI void _clearGoalState();
173
175
176 MCNAPI bool _findJumpableBlocks(bool useOnlyPreferredBlocksIfAny);
177
178 MCNAPI bool _findTargetBlock();
179
180 MCNAPI void resetCooldown();
181 // NOLINTEND
182
183public:
184 // constructor thunks
185 // NOLINTBEGIN
186 MCNAPI void* $ctor(::Mob& mob);
187 // NOLINTEND
188
189public:
190 // destructor thunk
191 // NOLINTBEGIN
192 MCNAPI void $dtor();
193 // NOLINTEND
194
195public:
196 // virtual function thunks
197 // NOLINTBEGIN
198 MCNAPI bool $canUse();
199
200 MCNAPI bool $canContinueToUse();
201
202 MCNAPI void $start();
203
204 MCNAPI void $stop();
205
206 MCNAPI void $tick();
207
208 MCNAPI bool $canBeInterrupted();
209
210 MCNAPI void $appendDebugInfo(::std::string& str) const;
211 // NOLINTEND
212
213public:
214 // vftables
215 // NOLINTBEGIN
216 MCNAPI static void** $vftable();
217 // NOLINTEND
218};
Definition BaseGoalDefinition.h:10
Definition EntityContext.h:16
Definition Goal.h:14
Definition JsonSchemaObjectNode.h:8
Definition JumpToBlockGoal.h:31
MCAPI void initialize(::EntityContext &entity, ::JumpToBlockGoal &goal) const
static MCAPI void buildSchema(::std::string const &name, ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::JumpToBlockGoal::Definition > > &root)
static MCAPI void ** $vftable()
Definition JumpToBlockGoal.h:22
MCAPI void $start()
MCAPI void $stop()
static MCAPI void ** $vftable()
MCAPI bool _findCandidateBlocks(::NavigationComponent &navigation)
MCAPI void $appendDebugInfo(::std::string &str) const
MCAPI bool _findTargetBlock()
MCAPI void resetCooldown()
MCAPI bool $canBeInterrupted()
MCAPI bool $canUse()
MCAPI JumpToBlockGoal(::Mob &mob)
MCAPI void $dtor()
MCAPI bool $canContinueToUse()
MCAPI bool _findJumpableBlocks(bool useOnlyPreferredBlocksIfAny)
MCAPI void $tick()
MCAPI void _clearGoalState()
MCAPI void * $ctor(::Mob &mob)
Definition Mob.h:47
Definition NavigationComponent.h:22
Definition JumpToBlockGoal.h:97
Definition Alias.h:14