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
34 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mFilters;
35 ::ll::TypedStorage<4, 8, ::FloatRange> mAttackRange;
36 ::ll::TypedStorage<4, 4, float> mAttackCooldownInSeconds;
37 ::ll::TypedStorage<4, 4, float> mPreShootDelayInSeconds;
38 ::ll::TypedStorage<4, 4, float> mPostShootDelayInSeconds;
39 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationX;
40 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationY;
41 ::ll::TypedStorage<4, 4, float> mRangedFOV;
42 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mProjectileDefinition;
43 ::ll::TypedStorage<4, 4, ::ProjectileAnchor> mOwnerAnchor;
44 ::ll::TypedStorage<4, 12, ::Vec3> mOwnerOffset;
45 ::ll::TypedStorage<4, 4, ::ProjectileAnchor> mTargetAnchor;
46 ::ll::TypedStorage<4, 12, ::Vec3> mTargetOffset;
47 // NOLINTEND
48
49 public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual ~Definition() /*override*/ = default;
53 // NOLINTEND
54
55 public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI void setOwnerAnchor(int const& value);
59
60 MCAPI void setProjectileDefinitionByName(::std::string const& name);
61
62 MCAPI void setTargetAnchor(int const& value);
63 // NOLINTEND
64
65 public:
66 // static functions
67 // NOLINTBEGIN
68 MCAPI static void buildSchema(
69 ::std::string const& name,
71 root
72 );
73 // NOLINTEND
74
75 public:
76 // vftables
77 // NOLINTBEGIN
78 MCNAPI static void** $vftable();
79 // NOLINTEND
80 };
81
82public:
83 // member variables
84 // NOLINTBEGIN
85 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
86 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mFilters;
87 ::ll::TypedStorage<4, 8, ::FloatRange> mAttackRangeSquared;
88 ::ll::TypedStorage<4, 4, uint> mAttackCooldownTicks;
89 ::ll::TypedStorage<4, 4, uint> mPreShootDelayTicks;
90 ::ll::TypedStorage<8, 8, uint64> mDurationTicks;
91 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationX;
92 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationY;
93 ::ll::TypedStorage<4, 4, float> mRangedFOV;
94 ::ll::TypedStorage<1, 1, bool> mTriedToShoot;
95 ::ll::TypedStorage<8, 8, uint64> mAttackCooldownTimeStamp;
96 ::ll::TypedStorage<8, 8, uint64> mPreShootDelayTimeStamp;
97 ::ll::TypedStorage<8, 8, uint64> mEndTimeStamp;
98 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mProjectileDefinition;
99 ::ll::TypedStorage<4, 4, ::ProjectileAnchor> mOwnerAnchor;
100 ::ll::TypedStorage<4, 12, ::Vec3> mOwnerOffset;
101 ::ll::TypedStorage<4, 4, ::ProjectileAnchor> mTargetAnchor;
102 ::ll::TypedStorage<4, 12, ::Vec3> mTargetOffset;
103 // NOLINTEND
104
105public:
106 // prevent constructor by default
107 FireAtTargetGoal& operator=(FireAtTargetGoal const&);
108 FireAtTargetGoal(FireAtTargetGoal const&);
109 FireAtTargetGoal();
110
111public:
112 // virtual functions
113 // NOLINTBEGIN
114 virtual bool canUse() /*override*/;
115
116 virtual bool canContinueToUse() /*override*/;
117
118 virtual void start() /*override*/;
119
120 virtual void stop() /*override*/;
121
122 virtual void tick() /*override*/;
123
124 virtual void appendDebugInfo(::std::string& str) const /*override*/;
125
126 virtual ~FireAtTargetGoal() /*override*/ = default;
127 // NOLINTEND
128
129public:
130 // static functions
131 // NOLINTBEGIN
132 MCAPI static ::Vec3
133 _getAnchorAndOffsetPosition(::Actor const& actor, ::ProjectileAnchor anchor, ::Vec3 const& offset);
134 // NOLINTEND
135
136public:
137 // virtual function thunks
138 // NOLINTBEGIN
139 MCAPI bool $canUse();
140
141 MCAPI bool $canContinueToUse();
142
143 MCAPI void $start();
144
145 MCAPI void $stop();
146
147 MCAPI void $tick();
148
149 MCAPI void $appendDebugInfo(::std::string& str) const;
150
151
152 // NOLINTEND
153
154public:
155 // vftables
156 // NOLINTBEGIN
157 MCNAPI static void** $vftable();
158 // NOLINTEND
159};
Definition Actor.h:105
Definition BaseGoalDefinition.h:10
Definition FireAtTargetGoal.h:30
static MCAPI void ** $vftable()
static MCAPI void ** $vftable()
Definition Goal.h:14
Definition EmptyClass.h:7
Definition JsonSchemaObjectNode.h:8
Definition Mob.h:50
Definition Vec3.h:10