LeviLamina
Loading...
Searching...
No Matches
Guardian.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/world/actor/ActorInitializationMethod.h"
9#include "mc/world/actor/monster/Monster.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
16class ActorHurtResult;
17class CompoundTag;
18class DataLoadHelper;
19class EntityContext;
20class Mob;
23// clang-format on
24
25class Guardian : public ::Monster {
26public:
27 // Guardian inner types define
28 using DataFlagIdType = schar;
29
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 32, ::std::string> ATTACK_SOUND;
34 ::ll::TypedStorage<4, 4, float> ELDER_SIZE_SCALE;
35 ::ll::TypedStorage<4, 4, int> FLAG_MOVING;
36 ::ll::TypedStorage<4, 4, int> FLAG_ELDER;
37 ::ll::TypedStorage<4, 12, ::Vec3> startPos;
38 ::ll::TypedStorage<8, 8, ::Mob*> clientSideCachedAttackTarget;
39 ::ll::TypedStorage<4, 4, int> clientSideAttackTime;
40 ::ll::TypedStorage<1, 1, bool> clientSideTouchedGround;
41 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mAttackTargetId;
42 ::ll::TypedStorage<1, 1, bool> mElderGhost;
43 ::ll::TypedStorage<8, 8, uint64> mLaserLoop;
44 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mEyeTarget;
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 Guardian();
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~Guardian() /*override*/;
55
56 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
57
58 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
59
60 virtual bool checkSpawnRules(bool fromSpawner) /*override*/;
61
62 virtual void setTarget(::Actor* target) /*override*/;
63
64 virtual float getMaxHeadXRot() /*override*/;
65
66 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
67
68 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
69
70 virtual bool isDarkEnoughToSpawn() const /*override*/;
71
72 virtual ::ActorHurtResult
73 _hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite) /*override*/;
74 // NOLINTEND
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCAPI Guardian(
80 ::ActorDefinitionGroup* definitions,
81 ::ActorDefinitionIdentifier const& definitionName,
82 ::EntityContext& entityContext
83 );
84
85#ifdef LL_PLAT_C
86 MCAPI float getAttackAnimationScale(float a);
87#endif
88
89 MCAPI int getAttackDuration();
90
91 MCAPI ::Vec3 getMoveEyeVector();
92
93#ifdef LL_PLAT_C
94 MCAPI ::Actor* getTargetEntity() const;
95#endif
96
97 MCAPI bool isElder() const;
98
99 MCFOLD bool isElderGhost() const;
100
101 MCAPI void preAiStep();
102
103 MCAPI void registerLoopingSounds();
104
105 MCAPI void setAttackTime(int time);
106
107 MCAPI void setElder(bool value);
108
109#ifdef LL_PLAT_C
110 MCAPI void setElderGhost();
111#endif
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCAPI void* $ctor(
118 ::ActorDefinitionGroup* definitions,
119 ::ActorDefinitionIdentifier const& definitionName,
120 ::EntityContext& entityContext
121 );
122 // NOLINTEND
123
124public:
125 // destructor thunk
126 // NOLINTBEGIN
127 MCAPI void $dtor();
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
134
135 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
136
137 MCAPI bool $checkSpawnRules(bool fromSpawner);
138
139 MCFOLD void $setTarget(::Actor* target);
140
141 MCFOLD float $getMaxHeadXRot();
142
143 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
144
145 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
146
147 MCFOLD bool $isDarkEnoughToSpawn() const;
148
149 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite);
150
151
152 // NOLINTEND
153
154public:
155 // vftables
156 // NOLINTBEGIN
157 MCAPI static void** $vftable();
158 // NOLINTEND
159};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:37
Definition ActorHurtResult.h:5
Definition Actor.h:125
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition Mob.h:57
Definition ActorDefinitionIdentifier.h:15
Definition VariantParameterList.h:14