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;
22struct HurtParameters;
24// clang-format on
25
26class Guardian : public ::Monster {
27public:
28 // Guardian inner types define
29 using DataFlagIdType = schar;
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 32, ::std::string> ATTACK_SOUND;
35 ::ll::TypedStorage<4, 4, float> ELDER_SIZE_SCALE;
36 ::ll::TypedStorage<4, 4, int> FLAG_MOVING;
37 ::ll::TypedStorage<4, 4, int> FLAG_ELDER;
38 ::ll::TypedStorage<4, 12, ::Vec3> startPos;
39 ::ll::TypedStorage<8, 8, ::Mob*> clientSideCachedAttackTarget;
40 ::ll::TypedStorage<4, 4, int> clientSideAttackTime;
41 ::ll::TypedStorage<1, 1, bool> clientSideTouchedGround;
42 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mAttackTargetId;
43 ::ll::TypedStorage<1, 1, bool> mElderGhost;
44 ::ll::TypedStorage<8, 8, uint64> mLaserLoop;
45 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mEyeTarget;
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 Guardian();
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~Guardian() /*override*/ = default;
56
57 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
58
59 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
60
61 virtual bool checkSpawnRules(bool fromSpawner) /*override*/;
62
63 virtual void setTarget(::Actor* target) /*override*/;
64
65 virtual float getMaxHeadXRot() /*override*/;
66
67 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
68
69 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
70
71 virtual bool isDarkEnoughToSpawn() const /*override*/;
72
73 virtual ::ActorHurtResult
74 _hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters) /*override*/;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCAPI Guardian(
81 ::ActorDefinitionGroup* definitions,
82 ::ActorDefinitionIdentifier const& definitionName,
83 ::EntityContext& entityContext
84 );
85
86 MCAPI ::Vec3 getMoveEyeVector();
87
88 MCAPI void preAiStep();
89
90 MCAPI void registerLoopingSounds();
91
92#ifdef LL_PLAT_C
93 MCAPI void setElderGhost();
94#endif
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCAPI void* $ctor(
101 ::ActorDefinitionGroup* definitions,
102 ::ActorDefinitionIdentifier const& definitionName,
103 ::EntityContext& entityContext
104 );
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
111
112 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
113
114 MCAPI bool $checkSpawnRules(bool fromSpawner);
115
116 MCFOLD void $setTarget(::Actor* target);
117
118 MCAPI float $getMaxHeadXRot();
119
120 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
121
122 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
123
124 MCFOLD bool $isDarkEnoughToSpawn() const;
125
126 MCAPI ::ActorHurtResult
127 $_hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters);
128
129
130 // NOLINTEND
131};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:27
Definition ActorHurtResult.h:5
Definition Actor.h:114
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition EntityContext.h:15
Definition Mob.h:55
Definition ActorDefinitionIdentifier.h:15
Definition HurtParameters.h:8
Definition VariantParameterList.h:14