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