LeviLamina
Loading...
Searching...
No Matches
EatMobGoal.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/legacy/ActorUniqueID.h"
8#include "mc/util/json_util/JsonSchemaObjectNode.h"
9#include "mc/world/actor/ai/goal/BaseGoalDefinition.h"
10#include "mc/world/actor/ai/goal/Goal.h"
11#include "mc/world/level/Tick.h"
12
13// auto generated forward declare list
14// clang-format off
15class Mob;
16class Path;
17namespace JsonUtil { class EmptyClass; }
18// clang-format on
19
20class EatMobGoal : public ::Goal {
21public:
22 // EatMobGoal inner types declare
23 // clang-format off
24 class Definition;
25 // clang-format on
26
27 // EatMobGoal inner types define
29 public:
30 // member variables
31 // NOLINTBEGIN
38 // NOLINTEND
39
40 public:
41 // prevent constructor by default
42 Definition& operator=(Definition const&);
43 Definition(Definition const&);
44 Definition();
45
46 public:
47 // virtual functions
48 // NOLINTBEGIN
49 // vIndex: 0
50 virtual ~Definition() /*override*/ = default;
51 // NOLINTEND
52
53 public:
54 // static functions
55 // NOLINTBEGIN
56 MCNAPI static void buildSchema(
57 ::std::string const& name,
59 );
60 // NOLINTEND
61
62 public:
63 // vftables
64 // NOLINTBEGIN
65 MCNAPI static void** $vftable();
66 // NOLINTEND
67 };
68
69 enum class State : int {
70 MoveToTarget = 0,
71 EatAnimation = 1,
72 Done = 2,
73 };
74
75public:
76 // member variables
77 // NOLINTBEGIN
78 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
79 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetId;
80 ::ll::TypedStorage<8, 96, ::EatMobGoal::Definition> mDefinition;
81 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
82 ::ll::TypedStorage<4, 4, ::EatMobGoal::State> mState;
83 ::ll::TypedStorage<8, 8, ::Tick> mEatAnimationTimer;
84 ::ll::TypedStorage<8, 8, ::Tick> mLastPathCalculationTick;
85 ::ll::TypedStorage<1, 1, bool> mShouldKillTarget;
86 ::ll::TypedStorage<4, 12, ::Vec3> mDropPos;
87 // NOLINTEND
88
89public:
90 // prevent constructor by default
91 EatMobGoal& operator=(EatMobGoal const&);
92 EatMobGoal(EatMobGoal const&);
93 EatMobGoal();
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 // vIndex: 1
99 virtual bool canUse() /*override*/;
100
101 // vIndex: 2
102 virtual bool canContinueToUse() /*override*/;
103
104 // vIndex: 4
105 virtual void start() /*override*/;
106
107 // vIndex: 5
108 virtual void stop() /*override*/;
109
110 // vIndex: 6
111 virtual void tick() /*override*/;
112
113 // vIndex: 7
114 virtual void appendDebugInfo(::std::string& str) const /*override*/;
115
116 // vIndex: 0
117 virtual ~EatMobGoal() /*override*/;
118 // NOLINTEND
119
120public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCNAPI void $dtor();
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCNAPI bool $canUse();
130
131 MCNAPI bool $canContinueToUse();
132
133 MCNAPI void $start();
134
135 MCNAPI void $stop();
136
137 MCNAPI void $tick();
138
139 MCNAPI void $appendDebugInfo(::std::string& str) const;
140 // NOLINTEND
141
142public:
143 // vftables
144 // NOLINTBEGIN
145 MCNAPI static void** $vftable();
146 // NOLINTEND
147};
Definition BaseGoalDefinition.h:10
Definition EatMobGoal.h:28
static MCAPI void buildSchema(::std::string const &name, ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::EatMobGoal::Definition > > &root)
static MCAPI void ** $vftable()
Definition EatMobGoal.h:20
MCAPI void $stop()
MCAPI void $dtor()
MCAPI void $appendDebugInfo(::std::string &str) const
MCAPI bool $canContinueToUse()
MCAPI bool $canUse()
static MCAPI void ** $vftable()
MCAPI void $tick()
MCAPI void $start()
Definition Goal.h:14
Definition JsonSchemaObjectNode.h:8
Definition Mob.h:47
Definition Path.h:16
Definition Alias.h:14