LeviLamina
Loading...
Searching...
No Matches
AngerLevelComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
7#include "mc/world/actor/ActorFilterGroup.h"
8#include "mc/world/level/Tick.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
14class CompoundTag;
15class ILevel;
16struct ActorUniqueID;
17struct Tick;
18// clang-format on
19
21public:
22 // AngerLevelComponent inner types declare
23 // clang-format off
24 struct ConditionalSound;
25 struct Nuisance;
26 struct NuisanceCompare;
27 // clang-format on
28
29 // AngerLevelComponent inner types define
30 struct Nuisance {
31 public:
32 // member variables
33 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 Nuisance& operator=(Nuisance const&);
42 Nuisance(Nuisance const&);
43 Nuisance();
44 };
45
47 public:
48 // member variables
49 // NOLINTBEGIN
51 // NOLINTEND
52
53 public:
54 // prevent constructor by default
55 NuisanceCompare& operator=(NuisanceCompare const&);
58 };
59
60 using ActorNuisance = ::std::pair<::Actor*, int>;
61
63 public:
64 // member variables
65 // NOLINTBEGIN
68 // NOLINTEND
69
70 public:
71 // prevent constructor by default
72 ConditionalSound& operator=(ConditionalSound const&);
75
76 public:
77 // member functions
78 // NOLINTBEGIN
80 // NOLINTEND
81
82 public:
83 // destructor thunk
84 // NOLINTBEGIN
85 MCNAPI void $dtor();
86 // NOLINTEND
87 };
88
89public:
90 // member variables
91 // NOLINTBEGIN
92 ::ll::TypedStorage<8, 8, ::Tick> mNextAngerDecrementTick;
93 ::ll::TypedStorage<4, 4, int> mDefaultAnnoyingness;
94 ::ll::TypedStorage<4, 4, int> mDefaultProjectileAnnoyingness;
95 ::ll::TypedStorage<4, 4, int> mAngerDecrementIntervalTicks;
96 ::ll::TypedStorage<4, 4, int> mMaxAngerLevel;
97 ::ll::TypedStorage<4, 4, int> mAngryThreshold;
98 ::ll::TypedStorage<1, 1, bool> mRemoveTargetWhenBelowAngryThreshold;
99 ::ll::TypedStorage<4, 4, int> mAngryBoost;
100 ::ll::TypedStorage<4, 4, int> mTopAnger;
101 ::ll::TypedStorage<8, 72, ::std::optional<::ActorFilterGroup>> mNuisanceFilter;
102 ::ll::TypedStorage<8, 24, ::std::vector<::AngerLevelComponent::ConditionalSound>> mOnIncreaseSoundDefinitions;
103 ::ll::TypedStorage<4, 4, ::AngerLevelComponent::NuisanceCompare> mNuisanceCompare;
104 ::ll::TypedStorage<8, 24, ::std::multiset<::AngerLevelComponent::Nuisance, ::AngerLevelComponent::NuisanceCompare>>
105 mNuisances;
106 // NOLINTEND
107
108public:
109 // prevent constructor by default
110 AngerLevelComponent& operator=(AngerLevelComponent const&);
112
113public:
114 // member functions
115 // NOLINTBEGIN
117
119
120 MCNAPI void _createOrModifyAngerLevel(::Actor const& nuisanceSource, ::std::function<int(int)> const& modifyingFn);
121
122 MCNAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> _getListeningSoundEvent(::Actor& actor) const;
123
124 MCNAPI void addAdditionalSaveData(::CompoundTag& tag) const;
125
127
128 MCNAPI bool canBeNuisance(::Actor* owner, ::Actor* target) const;
129
130 MCNAPI ::std::optional<::std::pair<::Actor*, int>>
131 getTopActiveNuisance(::Actor* owner, ::ILevel const& level) const;
132
133 MCNAPI ::AngerLevelComponent& operator=(::AngerLevelComponent&&);
134
135 MCNAPI void tick(::Actor* owner, ::ILevel const& level);
136
137 MCNAPI void tryIncreaseAngerAt(::Actor& owner, ::Actor& nuisance, int anger, bool playSounds);
138
140 // NOLINTEND
141
142public:
143 // static variables
144 // NOLINTBEGIN
145 MCNAPI static int const& DEFAULT_ANGRY_BOOST();
146
147 MCNAPI static int const& DEFAULT_ANGRY_THRESHOLD();
148
149 MCNAPI static int const& DEFAULT_MAX_ANGER_LEVEL();
150 // NOLINTEND
151
152public:
153 // constructor thunks
154 // NOLINTBEGIN
156
157 MCNAPI void* $ctor(::AngerLevelComponent const&);
158 // NOLINTEND
159
160public:
161 // destructor thunk
162 // NOLINTBEGIN
163 MCNAPI void $dtor();
164 // NOLINTEND
165};
Definition ActorFilterGroup.h:16
Definition Actor.h:103
Definition AngerLevelComponent.h:20
MCAPI AngerLevelComponent(::AngerLevelComponent &&)
MCAPI bool canBeNuisance(::Actor *owner, ::Actor *target) const
MCAPI::AngerLevelComponent & operator=(::AngerLevelComponent &&)
MCAPI void $dtor()
MCAPI AngerLevelComponent(::AngerLevelComponent const &)
MCAPI void * $ctor(::AngerLevelComponent &&)
MCAPI void addAdditionalSaveData(::CompoundTag &tag) const
MCAPI void * $ctor(::AngerLevelComponent const &)
MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent > _getListeningSoundEvent(::Actor &actor) const
static MCAPI int const & DEFAULT_MAX_ANGER_LEVEL()
MCAPI bool belowAngryThreshold(::ActorUniqueID id) const
MCAPI void tryIncreaseAngerAt(::Actor &owner, ::Actor &nuisance, int anger, bool playSounds)
MCAPI void _createOrModifyAngerLevel(::Actor const &nuisanceSource, ::std::function< int(int)> const &modifyingFn)
static MCAPI int const & DEFAULT_ANGRY_BOOST()
MCAPI ~AngerLevelComponent()
MCAPI ::std::optional<::std::pair<::Actor *, int > > getTopActiveNuisance(::Actor *owner, ::ILevel const &level) const
static MCAPI int const & DEFAULT_ANGRY_THRESHOLD()
MCAPI void tick(::Actor *owner, ::ILevel const &level)
Definition CompoundTag.h:13
Definition ILevel.h:205
Definition ActorUniqueID.h:5
Definition AngerLevelComponent.h:62
Definition AngerLevelComponent.h:46
Definition AngerLevelComponent.h:30
Definition Tick.h:5
Definition Alias.h:14