LeviLamina
Loading...
Searching...
No Matches
VanillaBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/EnumSet.h"
7#include "mc/safety/RedactableString.h"
8#include "mc/world/actor/ActorTerrainInterlockData.h"
9#include "mc/world/level/block/actor/BlockActor.h"
10#include "mc/world/level/block/actor/BlockActorRendererId.h"
11#include "mc/world/level/block/actor/BlockActorType.h"
12#include "mc/world/level/block/actor/component/IVanillaMainBlockActorComponent.h"
13#include "mc/world/level/block/actor/component/IVanillaRenderBlockActorComponent.h"
14#include "mc/world/level/block/actor/component/IVanillaTickBlockActorComponent.h"
15#include "mc/world/phys/AABB.h"
16
17// auto generated forward declare list
18// clang-format off
19class BlockPos;
20class BlockSource;
21class CompoundTag;
22class Container;
23class DataLoadHelper;
24class ILevel;
25class LevelChunk;
26class SaveContext;
27class Vec3;
28// clang-format on
29
30class VanillaBlockActor : public ::BlockActor,
34public:
35 // VanillaBlockActor inner types define
36 enum class Property : uchar {
37 Changed = 0,
38 Movable = 1,
39 ClientSideOnly = 2,
40 SaveCustomName = 3,
41 CanRenderCustomName = 4,
42 Count = 5,
43 };
44
46
47public:
48 // member variables
49 // NOLINTBEGIN
50 ::ll::TypedStorage<4, 4, int> mTickCount;
51 ::ll::TypedStorage<1, 1, ::Bedrock::EnumSet<::VanillaBlockActor::Property, 5>> mProperties;
52 ::ll::TypedStorage<4, 24, ::AABB> mBB;
53 ::ll::TypedStorage<1, 1, ::BlockActorRendererId> mRendererId;
54 ::ll::TypedStorage<8, 24, ::ActorTerrainInterlockData> mTerrainInterlockData;
55 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mCustomName;
56 ::ll::TypedStorage<8, 32, ::std::string> mFilteredCustomName;
57 // NOLINTEND
58
59public:
60 // prevent constructor by default
61 VanillaBlockActor();
62
63public:
64 // virtual functions
65 // NOLINTBEGIN
66 virtual void loadStatic() /*override*/;
67
68 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& helper) /*override*/;
69
70 virtual bool save(::CompoundTag& tag, ::SaveContext const& context) const /*override*/;
71
72 virtual ::BlockActor& getBlockActor() /*override*/;
73
74 virtual ::BlockActor const& getBlockActor() const /*override*/;
75
76 virtual ::BlockPos const& getBlockActorPosition() const /*override*/;
77
78 virtual ::BlockActorType getBlockActorType() const /*override*/;
79
80 virtual ::BlockActorRendererId getRendererId() const /*override*/;
81
82 virtual bool isPermanentlyRendered() const /*override*/;
83
84 virtual bool isWithinRenderDistance(::Vec3 const& cameraPosition) const /*override*/;
85
86 virtual bool hasAlphaLayer() const /*override*/;
87
88 virtual float getShadowRadius(::BlockSource& region) const /*override*/;
89
90 virtual bool isInWorld() const /*override*/;
91
92 virtual ::IVanillaRenderBlockActorComponent*
93 getCrackEntity(::BlockSource& region, ::BlockPos const& pos) /*override*/;
94
95 virtual ::AABB const& getAABB() const /*override*/;
96
97 virtual void setAABB(::AABB const& value) /*override*/;
98
99 virtual ::ActorTerrainInterlockData& getEntityTerrainInterlockData() /*override*/;
100
101 virtual ::ActorTerrainInterlockData const& getEntityTerrainInterlockDataConst() const /*override*/;
102
103 virtual void tick(::BlockSource& region) /*override*/;
104
105 virtual int getTickCount() const /*override*/;
106
107 virtual ::Container* getContainer() /*override*/;
108
109 virtual ::Container const* getContainer() const /*override*/;
110
111 virtual void eraseLootTable() /*override*/;
112
113 virtual ::std::string getName() const /*override*/;
114
115 virtual ::std::string getImmersiveReaderText(::BlockSource& region) /*override*/;
116
117 virtual bool canRenderCustomName() const /*override*/;
118
119 virtual bool hasCustomName() const /*override*/;
120
121 virtual ::Bedrock::Safety::RedactableString const& getCustomName() const /*override*/;
122
123 virtual void setCustomName(::Bedrock::Safety::RedactableString const& name) /*override*/;
124
125 virtual bool isCustomNameSaved() const /*override*/;
126
127 virtual ::Bedrock::Safety::RedactableString getDisplayName() const /*override*/;
128
129 virtual bool hasFilteredNameTag() const /*override*/;
130
131 virtual ::std::string getFilteredNameTag() const /*override*/;
132
133 virtual void setFilteredNameTag(::std::string const& filteredName) /*override*/;
134
135 virtual ::std::vector<::std::string> getUgcStrings(::CompoundTag const& tag) const /*override*/;
136
137 virtual ::std::vector<::std::string> getFilteredUgcStrings(::CompoundTag const& tag) const /*override*/;
138
139 virtual void setUgcStrings(::CompoundTag& tag, ::std::vector<::std::string> const& list) const /*override*/;
140
141 virtual void setFilteredUgcStrings(::CompoundTag& tag, ::std::vector<::std::string> const& list) const /*override*/;
142
143 virtual bool validateData(::CompoundTag const& tag) const /*override*/;
144
145 virtual void fixupOnLoad(::LevelChunk& lc) /*override*/;
146
147 virtual void setChanged() /*override*/;
148
149 virtual bool isChanged() const /*override*/;
150
151 virtual void onChanged(::BlockSource& region) /*override*/;
152
153 virtual void _resetAABB() /*override*/;
154
155 virtual void _setCanRenderCustomName(bool value) /*override*/;
156
157 virtual void _setCustomNameSaved(bool saveCustomName) /*override*/;
158
159 virtual ::IVanillaRenderBlockActorComponent const* _getRenderComponent() const /*override*/;
160
161 virtual ::IVanillaRenderBlockActorComponent* _getRenderComponent() /*override*/;
162
163 virtual ::IVanillaTickBlockActorComponent const* _getTickComponent() const /*override*/;
164
165 virtual ::IVanillaTickBlockActorComponent* _getTickComponent() /*override*/;
166
167 virtual ::IVanillaMainBlockActorComponent const* _getMainComponent() const /*override*/;
168
169 virtual ::IVanillaMainBlockActorComponent* _getMainComponent() /*override*/;
170
171 virtual ~VanillaBlockActor() /*override*/;
172 // NOLINTEND
173
174public:
175 // member functions
176 // NOLINTBEGIN
177 MCAPI VanillaBlockActor(::BlockActorType type, ::BlockPos const& pos, ::BlockActorRendererId rendererId);
178
179 MCAPI void _loadCustomNameFromUpdatePacket(::CompoundTag const& data);
180
181 MCAPI void _saveCustomNameToUpdatePacket(::CompoundTag& tag) const;
182 // NOLINTEND
183
184public:
185 // constructor thunks
186 // NOLINTBEGIN
187 MCAPI void* $ctor(::BlockActorType type, ::BlockPos const& pos, ::BlockActorRendererId rendererId);
188 // NOLINTEND
189
190public:
191 // destructor thunk
192 // NOLINTBEGIN
193 MCAPI void $dtor();
194 // NOLINTEND
195
196public:
197 // virtual function thunks
198 // NOLINTBEGIN
199 MCAPI void $loadStatic();
200
201 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& helper);
202
203 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& context) const;
204
205 MCFOLD ::BlockActor& $getBlockActor();
206
207 MCFOLD ::BlockActor const& $getBlockActor() const;
208
209 MCAPI ::BlockPos const& $getBlockActorPosition() const;
210
211 MCAPI ::BlockActorType $getBlockActorType() const;
212
213 MCAPI ::BlockActorRendererId $getRendererId() const;
214
215 MCFOLD bool $isPermanentlyRendered() const;
216
217 MCAPI bool $isWithinRenderDistance(::Vec3 const& cameraPosition) const;
218
219 MCFOLD bool $hasAlphaLayer() const;
220
221 MCFOLD float $getShadowRadius(::BlockSource& region) const;
222
223 MCAPI bool $isInWorld() const;
224
225 MCFOLD ::IVanillaRenderBlockActorComponent* $getCrackEntity(::BlockSource& region, ::BlockPos const& pos);
226
227 MCFOLD ::AABB const& $getAABB() const;
228
229 MCAPI void $setAABB(::AABB const& value);
230
231 MCFOLD ::ActorTerrainInterlockData& $getEntityTerrainInterlockData();
232
233 MCFOLD ::ActorTerrainInterlockData const& $getEntityTerrainInterlockDataConst() const;
234
235 MCFOLD void $tick(::BlockSource& region);
236
237 MCFOLD int $getTickCount() const;
238
239 MCFOLD ::Container* $getContainer();
240
241 MCFOLD ::Container const* $getContainer() const;
242
243 MCFOLD void $eraseLootTable();
244
245 MCFOLD ::std::string $getName() const;
246
247 MCFOLD ::std::string $getImmersiveReaderText(::BlockSource& region);
248
249 MCAPI bool $canRenderCustomName() const;
250
251 MCAPI bool $hasCustomName() const;
252
253 MCFOLD ::Bedrock::Safety::RedactableString const& $getCustomName() const;
254
255 MCAPI void $setCustomName(::Bedrock::Safety::RedactableString const& name);
256
257 MCAPI bool $isCustomNameSaved() const;
258
259 MCAPI ::Bedrock::Safety::RedactableString $getDisplayName() const;
260
261 MCAPI bool $hasFilteredNameTag() const;
262
263 MCAPI ::std::string $getFilteredNameTag() const;
264
265 MCAPI void $setFilteredNameTag(::std::string const& filteredName);
266
267 MCFOLD ::std::vector<::std::string> $getUgcStrings(::CompoundTag const& tag) const;
268
269 MCFOLD ::std::vector<::std::string> $getFilteredUgcStrings(::CompoundTag const& tag) const;
270
271 MCFOLD void $setUgcStrings(::CompoundTag& tag, ::std::vector<::std::string> const& list) const;
272
273 MCFOLD void $setFilteredUgcStrings(::CompoundTag& tag, ::std::vector<::std::string> const& list) const;
274
275 MCFOLD bool $validateData(::CompoundTag const& tag) const;
276
277 MCFOLD void $fixupOnLoad(::LevelChunk& lc);
278
279 MCAPI void $setChanged();
280
281 MCAPI bool $isChanged() const;
282
283 MCFOLD void $onChanged(::BlockSource& region);
284
285 MCAPI void $_resetAABB();
286
287 MCAPI void $_setCanRenderCustomName(bool value);
288
289 MCAPI void $_setCustomNameSaved(bool saveCustomName);
290
291 MCFOLD ::IVanillaRenderBlockActorComponent const* $_getRenderComponent() const;
292
293 MCFOLD ::IVanillaRenderBlockActorComponent* $_getRenderComponent();
294
295 MCFOLD ::IVanillaTickBlockActorComponent const* $_getTickComponent() const;
296
297 MCFOLD ::IVanillaTickBlockActorComponent* $_getTickComponent();
298
299 MCFOLD ::IVanillaMainBlockActorComponent const* $_getMainComponent() const;
300
301 MCFOLD ::IVanillaMainBlockActorComponent* $_getMainComponent();
302
303
304 // NOLINTEND
305
306public:
307 // vftables
308 // NOLINTBEGIN
310
312
313 MCNAPI static void** $vftableForBlockActor();
314
316 // NOLINTEND
317};
Definition AABB.h:18
Definition EnumSet.h:8
Definition RedactableString.h:10
Definition BlockActor.h:27
Definition BlockPos.h:21
Definition BlockSource.h:71
Definition CompoundTag.h:18
Definition Container.h:33
Definition DataLoadHelper.h:20
Definition ILevel.h:220
Definition IVanillaMainBlockActorComponent.h:17
Definition IVanillaRenderBlockActorComponent.h:19
Definition IVanillaTickBlockActorComponent.h:15
Definition LevelChunk.h:75
Definition SaveContext.h:5
static MCAPI void ** $vftableForIVanillaTickBlockActorComponent()
static MCAPI void ** $vftableForBlockActor()
static MCAPI void ** $vftableForIVanillaRenderBlockActorComponent()
static MCAPI void ** $vftableForIVanillaMainBlockActorComponent()
Definition Vec3.h:10
Definition context.h:5