LeviLamina
Loading...
Searching...
No Matches
AreaEffectCloud.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/ParticleType.h"
7#include "mc/legacy/ActorUniqueID.h"
8#include "mc/world/actor/Actor.h"
9#include "mc/world/actor/ActorInitializationMethod.h"
10#include "mc/world/effect/EffectDuration.h"
11
12// auto generated forward declare list
13// clang-format off
15class CompoundTag;
16class DataLoadHelper;
17class EntityContext;
19class Random;
22namespace mce { class Color; }
23// clang-format on
24
25class AreaEffectCloud : public ::Actor {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mOwnerId;
30 ::ll::TypedStorage<1, 1, bool> mAffectOwner;
31 ::ll::TypedStorage<8, 8, int64> mSpawnTickClient;
32 ::ll::TypedStorage<4, 4, int> mReapplicationDelay;
33 ::ll::TypedStorage<4, 4, ::EffectDuration> mDurationOnUse;
34 ::ll::TypedStorage<4, 4, int> mLocalPickupCount;
35 ::ll::TypedStorage<4, 4, float> mRadiusOnUse;
36 ::ll::TypedStorage<8, 24, ::std::vector<::MobEffectInstance>> mMobAreaEffects;
37 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, int>> mVictims;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 AreaEffectCloud();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual void reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&) /*override*/;
48
49 virtual void setOwner(::ActorUniqueID const ownerID) /*override*/;
50
51 virtual void normalTick() /*override*/;
52
53 virtual float getShadowRadius() const /*override*/;
54
55 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
56
57 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI AreaEffectCloud(
64 ::ActorDefinitionGroup* definitions,
65 ::ActorDefinitionIdentifier const& definitionName,
66 ::EntityContext& entityContext
67 );
68
69 MCAPI void _spawnParticles(::Random& random, uint numParticles, float radius);
70
71 MCAPI void addAreaEffect(::MobEffectInstance effect);
72
73 MCAPI void calculateAndSetRadiusPerTick();
74
75 MCAPI float getEffectiveRadius() const;
76
77 MCAPI ::ParticleType getParticle() const;
78
79 MCAPI void notifyPickup();
80
81 MCFOLD void setAffectOwner(bool shouldAffect);
82
83 MCAPI void setDuration(::EffectDuration duration);
84
85 MCAPI void setInitialRadius(float radius);
86
87 MCAPI void setParticle(::ParticleType type);
88
89 MCAPI void setParticleColor(::mce::Color& c);
90
91 MCFOLD void setPotion(short potionAUX);
92
93 MCAPI void setRadiusChangeOnPickup(float changeAmount);
94
95 MCAPI void setRadiusOnUse(float radiusOnUse);
96
97 MCFOLD void setReapplicationDelay(int delay);
98 // NOLINTEND
99
100public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCAPI void* $ctor(
104 ::ActorDefinitionGroup* definitions,
105 ::ActorDefinitionIdentifier const& definitionName,
106 ::EntityContext& entityContext
107 );
108 // NOLINTEND
109
110public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCAPI void $reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&);
114
115 MCAPI void $setOwner(::ActorUniqueID const ownerID);
116
117 MCAPI void $normalTick();
118
119 MCFOLD float $getShadowRadius() const;
120
121 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
122
123 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
124
125
126 // NOLINTEND
127
128public:
129 // vftables
130 // NOLINTBEGIN
131 MCAPI static void** $vftable();
132 // NOLINTEND
133};
Definition ActorDefinitionGroup.h:37
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition MobEffectInstance.h:20
Definition Random.h:10
Definition Color.h:13
Definition ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:10
Definition EffectDuration.h:5
Definition VariantParameterList.h:14