LeviLamina
Loading...
Searching...
No Matches
StructureBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/actor/VanillaBlockActor.h"
7#include "mc/world/level/levelgen/structure/StructureEditorData.h"
8#include "mc/world/level/levelgen/structure/StructureTelemetryServerData.h"
9
10// auto generated forward declare list
11// clang-format off
12class BaseGameVersion;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class DataLoadHelper;
18class ILevel;
19class LevelChunk;
20class SaveContext;
22// clang-format on
23
24class StructureBlockActor : public ::VanillaBlockActor {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 216, ::StructureEditorData> mStructureEditorData;
29 ::ll::TypedStorage<4, 16, ::StructureTelemetryServerData> mTelemetryServerData;
30 ::ll::TypedStorage<1, 1, bool> mIsPowered;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 StructureBlockActor();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual void load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper) /*override*/;
41
42 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
43
44 virtual void onChanged(::BlockSource& region) /*override*/;
45
46 virtual void onPlace(::BlockSource& region) /*override*/;
47
48 virtual void onRemoved(::BlockSource& region) /*override*/;
49
50 virtual void onChunkLoaded(::LevelChunk& lc) /*override*/;
51
52 virtual void onSubChunkLoaded(::LevelChunk& lc, short, bool) /*override*/;
53
54 virtual void onChunkUnloaded(::LevelChunk& lc) /*override*/;
55
56 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource& region) /*override*/;
57
58 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI explicit StructureBlockActor(::BlockPos const& pos);
65
66 MCAPI bool _loadStructure(::BlockSource& region, ::BlockPos const& position, ::BaseGameVersion const& version);
67
68 MCAPI bool _saveStructure(::BlockSource& region, ::BlockPos const& position, bool redstoneTriggered);
69
70#ifdef LL_PLAT_C
71 MCAPI void
72 onBoundsChanged(::IStructureWireframeQueue& wireframeQueue, ::StructureEditorData const& newStructureData);
73#endif
74
75 MCAPI void setPowered(::BlockSource& region, ::BlockPos const& pos, bool shouldTrigger, bool redstoneTriggered);
76
77 MCAPI void setStructureData(::StructureEditorData const& data);
78 // NOLINTEND
79
80public:
81 // constructor thunks
82 // NOLINTBEGIN
83 MCAPI void* $ctor(::BlockPos const& pos);
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCAPI void $load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper);
90
91 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
92
93 MCAPI void $onChanged(::BlockSource& region);
94
95 MCAPI void $onPlace(::BlockSource& region);
96
97 MCAPI void $onRemoved(::BlockSource& region);
98
99 MCAPI void $onChunkLoaded(::LevelChunk& lc);
100
101 MCAPI void $onSubChunkLoaded(::LevelChunk& lc, short, bool);
102
103 MCAPI void $onChunkUnloaded(::LevelChunk& lc);
104
105 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource& region);
106
107 MCAPI void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
108
109
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
116
118
120
121 MCNAPI static void** $vftableForBlockActor();
122 // NOLINTEND
123};
Definition BaseGameVersion.h:8
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition ILevel.h:221
Definition IStructureWireframeQueue.h:5
Definition LevelChunk.h:77
Definition SaveContext.h:5
static MCAPI void ** $vftableForIVanillaMainBlockActorComponent()
static MCAPI void ** $vftableForBlockActor()
static MCAPI void ** $vftableForIVanillaRenderBlockActorComponent()
static MCAPI void ** $vftableForIVanillaTickBlockActorComponent()
Definition StructureEditorData.h:17