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
20class AngerLevelComponent {
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 ConditionalSound {
31 public:
32 // member variables
33 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 ConditionalSound& operator=(ConditionalSound const&);
41 ConditionalSound(ConditionalSound const&);
42 ConditionalSound();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ~ConditionalSound();
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCFOLD void $dtor();
54 // NOLINTEND
55 };
56
57 struct Nuisance {
58 public:
59 // member variables
60 // NOLINTBEGIN
64 // NOLINTEND
65
66 public:
67 // prevent constructor by default
68 Nuisance& operator=(Nuisance const&);
69 Nuisance(Nuisance const&);
70 Nuisance();
71 };
72
73 struct NuisanceCompare {
74 public:
75 // member variables
76 // NOLINTBEGIN
78 // NOLINTEND
79
80 public:
81 // prevent constructor by default
82 NuisanceCompare& operator=(NuisanceCompare const&);
83 NuisanceCompare(NuisanceCompare const&);
84 NuisanceCompare();
85 };
86
87 using ActorNuisance = ::std::pair<::Actor*, int>;
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&);
111 AngerLevelComponent(AngerLevelComponent const&);
112 AngerLevelComponent();
113
114public:
115 // member functions
116 // NOLINTBEGIN
117 MCAPI AngerLevelComponent(::AngerLevelComponent&&);
118
119 MCAPI void _createOrModifyAngerLevel(::Actor const& nuisanceSource, ::std::function<int(int)> const& modifyingFn);
120
121 MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> _getListeningSoundEvent(::Actor& actor) const;
122
123 MCAPI void addAdditionalSaveData(::CompoundTag& tag) const;
124
125 MCAPI bool belowAngryThreshold(::ActorUniqueID id) const;
126
127 MCAPI bool canBeNuisance(::Actor* owner, ::Actor* target) const;
128
129 MCAPI ::std::optional<::std::pair<::Actor*, int>> getTopActiveNuisance(::Actor* owner, ::ILevel const& level) const;
130
131 MCAPI ::AngerLevelComponent& operator=(::AngerLevelComponent&&);
132
133 MCAPI void tick(::Actor* owner, ::ILevel const& level);
134
135 MCAPI void tryIncreaseAngerAt(::Actor& owner, ::Actor& nuisance, int anger, bool playSounds);
136
137 MCAPI ~AngerLevelComponent();
138 // NOLINTEND
139
140public:
141 // static variables
142 // NOLINTBEGIN
143 MCAPI static int const& DEFAULT_ANGRY_BOOST();
144
145 MCAPI static int const& DEFAULT_ANGRY_THRESHOLD();
146
147 MCAPI static int const& DEFAULT_MAX_ANGER_LEVEL();
148 // NOLINTEND
149
150public:
151 // constructor thunks
152 // NOLINTBEGIN
153 MCAPI void* $ctor(::AngerLevelComponent&&);
154 // NOLINTEND
155
156public:
157 // destructor thunk
158 // NOLINTBEGIN
159 MCAPI void $dtor();
160 // NOLINTEND
161};
Definition ActorFilterGroup.h:19
Definition Actor.h:105
Definition CompoundTag.h:23
Definition ILevel.h:214
Definition ActorUniqueID.h:5
Definition AngerLevelComponent.h:30
Definition AngerLevelComponent.h:73
Definition AngerLevelComponent.h:57
Definition Tick.h:5
Definition Alias.h:14