LeviLamina
Loading...
Searching...
No Matches
FireAtTargetGoal.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/FloatRange.h"
8#include "mc/util/json_util/JsonSchemaObjectNode.h"
9#include "mc/world/actor/ActorDefinitionIdentifier.h"
10#include "mc/world/actor/ActorFilterGroup.h"
11#include "mc/world/actor/ai/goal/BaseGoalDefinition.h"
12#include "mc/world/actor/ai/goal/Goal.h"
13#include "mc/world/actor/projectile/ProjectileAnchor.h"
14
15// auto generated forward declare list
16// clang-format off
17class Actor;
18class Mob;
19namespace JsonUtil { class EmptyClass; }
20// clang-format on
21
22class FireAtTargetGoal : public ::Goal {
23public:
24 // FireAtTargetGoal inner types declare
25 // clang-format off
26 class Definition;
27 // clang-format on
28
29 // FireAtTargetGoal inner types define
31 public:
32 // member variables
33 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
51 Definition& operator=(Definition const&);
52 Definition(Definition const&);
53 Definition();
54
55 public:
56 // virtual functions
57 // NOLINTBEGIN
58 // vIndex: 0
59 virtual ~Definition() /*override*/ = default;
60 // NOLINTEND
61
62 public:
63 // member functions
64 // NOLINTBEGIN
65 MCNAPI void setOwnerAnchor(int const& value);
66
67 MCNAPI void setProjectileDefinitionByName(::std::string const& name);
68
69 MCNAPI void setTargetAnchor(int const& value);
70 // NOLINTEND
71
72 public:
73 // static functions
74 // NOLINTBEGIN
75 MCNAPI static void buildSchema(
76 ::std::string const& name,
78 root
79 );
80 // NOLINTEND
81
82 public:
83 // vftables
84 // NOLINTBEGIN
85 MCNAPI static void** $vftable();
86 // NOLINTEND
87 };
88
89public:
90 // member variables
91 // NOLINTBEGIN
92 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
93 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mFilters;
94 ::ll::TypedStorage<4, 8, ::FloatRange> mAttackRangeSquared;
95 ::ll::TypedStorage<4, 4, uint> mAttackCooldownTicks;
96 ::ll::TypedStorage<4, 4, uint> mPreShootDelayTicks;
97 ::ll::TypedStorage<8, 8, uint64> mDurationTicks;
98 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationX;
99 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationY;
100 ::ll::TypedStorage<4, 4, float> mRangedFOV;
101 ::ll::TypedStorage<1, 1, bool> mTriedToShoot;
102 ::ll::TypedStorage<8, 8, uint64> mAttackCooldownTimeStamp;
103 ::ll::TypedStorage<8, 8, uint64> mPreShootDelayTimeStamp;
104 ::ll::TypedStorage<8, 8, uint64> mEndTimeStamp;
105 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mProjectileDefinition;
106 ::ll::TypedStorage<4, 4, ::ProjectileAnchor> mOwnerAnchor;
107 ::ll::TypedStorage<4, 12, ::Vec3> mOwnerOffset;
108 ::ll::TypedStorage<4, 4, ::ProjectileAnchor> mTargetAnchor;
109 ::ll::TypedStorage<4, 12, ::Vec3> mTargetOffset;
110 // NOLINTEND
111
112public:
113 // prevent constructor by default
114 FireAtTargetGoal& operator=(FireAtTargetGoal const&);
117
118public:
119 // virtual functions
120 // NOLINTBEGIN
121 // vIndex: 1
122 virtual bool canUse() /*override*/;
123
124 // vIndex: 2
125 virtual bool canContinueToUse() /*override*/;
126
127 // vIndex: 4
128 virtual void start() /*override*/;
129
130 // vIndex: 5
131 virtual void stop() /*override*/;
132
133 // vIndex: 6
134 virtual void tick() /*override*/;
135
136 // vIndex: 7
137 virtual void appendDebugInfo(::std::string& str) const /*override*/;
138
139 // vIndex: 0
140 virtual ~FireAtTargetGoal() /*override*/ = default;
141 // NOLINTEND
142
143public:
144 // member functions
145 // NOLINTBEGIN
146 MCNAPI explicit FireAtTargetGoal(::Mob& mob);
147 // NOLINTEND
148
149public:
150 // static functions
151 // NOLINTBEGIN
152 MCNAPI static ::Vec3
153 _getAnchorAndOffsetPosition(::Actor const& actor, ::ProjectileAnchor anchor, ::Vec3 const& offset);
154 // NOLINTEND
155
156public:
157 // constructor thunks
158 // NOLINTBEGIN
159 MCNAPI void* $ctor(::Mob& mob);
160 // NOLINTEND
161
162public:
163 // virtual function thunks
164 // NOLINTBEGIN
165 MCNAPI bool $canUse();
166
167 MCNAPI bool $canContinueToUse();
168
169 MCNAPI void $start();
170
171 MCNAPI void $stop();
172
173 MCNAPI void $tick();
174
175 MCNAPI void $appendDebugInfo(::std::string& str) const;
176 // NOLINTEND
177
178public:
179 // vftables
180 // NOLINTBEGIN
181 MCNAPI static void** $vftable();
182 // NOLINTEND
183};
Definition Actor.h:103
Definition BaseGoalDefinition.h:10
Definition FireAtTargetGoal.h:30
MCAPI void setOwnerAnchor(int const &value)
static MCAPI void ** $vftable()
MCAPI void setTargetAnchor(int const &value)
static MCAPI void buildSchema(::std::string const &name, ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FireAtTargetGoal::Definition > > &root)
MCAPI void setProjectileDefinitionByName(::std::string const &name)
Definition FireAtTargetGoal.h:22
MCAPI bool $canUse()
MCAPI void $appendDebugInfo(::std::string &str) const
MCAPI void $tick()
MCAPI FireAtTargetGoal(::Mob &mob)
MCAPI void * $ctor(::Mob &mob)
static MCAPI ::Vec3 _getAnchorAndOffsetPosition(::Actor const &actor, ::ProjectileAnchor anchor, ::Vec3 const &offset)
MCAPI bool $canContinueToUse()
MCAPI void $start()
MCAPI void $stop()
static MCAPI void ** $vftable()
Definition Goal.h:14
Definition JsonSchemaObjectNode.h:8
Definition Mob.h:47
Definition Vec3.h:10
Definition Alias.h:14