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 MCAPI ::Vec3 getMoveEyeVector();
86
87 MCAPI bool isElder() const;
88
89 MCAPI void preAiStep();
90
91 MCAPI void registerLoopingSounds();
92
93 MCAPI void setElder(bool value);
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCAPI void* $ctor(
100 ::ActorDefinitionGroup* definitions,
101 ::ActorDefinitionIdentifier const& definitionName,
102 ::EntityContext& entityContext
103 );
104 // NOLINTEND
105
106public:
107 // destructor thunk
108 // NOLINTBEGIN
109 MCAPI void $dtor();
110 // NOLINTEND
111
112public:
113 // virtual function thunks
114 // NOLINTBEGIN
115 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
116
117 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
118
119 MCAPI bool $checkSpawnRules(bool fromSpawner);
120
121 MCFOLD void $setTarget(::Actor* target);
122
123 MCFOLD float $getMaxHeadXRot();
124
125 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
126
127 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
128
129 MCFOLD bool $isDarkEnoughToSpawn() const;
130
131 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite);
132
133
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCAPI static void** $vftable();
140 // NOLINTEND
141};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:36
Definition ActorHurtResult.h:5
Definition Actor.h:106
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:16
Definition Mob.h:51
Definition ActorDefinitionIdentifier.h:15
Definition VariantParameterList.h:13