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/BlockActor.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;
21namespace mce { class Color; }
23// clang-format on
24
25class StructureBlockActor : public ::BlockActor {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 216, ::StructureEditorData> mStructureEditorData;
30 ::ll::TypedStorage<4, 16, ::StructureTelemetryServerData> mTelemetryServerData;
31 ::ll::TypedStorage<1, 1, bool> mIsPowered;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 StructureBlockActor();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual void load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper) /*override*/;
42
43 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
44
45 virtual void onChanged(::BlockSource& region) /*override*/;
46
47 virtual void onPlace(::BlockSource& region) /*override*/;
48
49 virtual void onRemoved(::BlockSource& region) /*override*/;
50
51 virtual void onChunkLoaded(::LevelChunk& lc) /*override*/;
52
53 virtual void onSubChunkLoaded(::LevelChunk& lc, short, bool) /*override*/;
54
55 virtual void onChunkUnloaded(::LevelChunk& lc) /*override*/;
56
57 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
58
59 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
60 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
65 MCAPI explicit StructureBlockActor(::BlockPos const& pos);
66
67 MCAPI bool _loadStructure(::BlockSource& region, ::BlockPos const& position, ::BaseGameVersion const& version);
68
69 MCAPI void _queueStructure(::IStructureWireframeQueue& wireframeQueue, ::StructureEditorData const& dataToQueue);
70
71 MCAPI bool _saveStructure(::BlockSource& region, ::BlockPos const& position, bool redstoneTriggered);
72
73#ifdef LL_PLAT_C
74 MCAPI void _triggerLoad(::BlockSource& region, ::BlockPos const& pos, ::BaseGameVersion const& version);
75#endif
76
77 MCFOLD ::StructureEditorData const& getStructureData() const;
78
79#ifdef LL_PLAT_C
80 MCAPI void
81 onBoundsChanged(::IStructureWireframeQueue& wireframeQueue, ::StructureEditorData const& newStructureData);
82#endif
83
84 MCAPI void setIsWaterlogged(bool waterlogged);
85
86 MCAPI void setPowered(::BlockSource& region, ::BlockPos const& pos, bool shouldTrigger, bool redstoneTriggered);
87
88 MCAPI void setStructureData(::StructureEditorData const& data);
89 // NOLINTEND
90
91public:
92 // static variables
93 // NOLINTBEGIN
94 MCAPI static float const& MAX_WIREFRAME_RENDER_DISTANCE();
95
96 MCAPI static ::mce::Color const& X_AXIS_COLOR();
97
98 MCAPI static ::mce::Color const& Y_AXIS_COLOR();
99
100 MCAPI static ::mce::Color const& Z_AXIS_COLOR();
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCAPI void* $ctor(::BlockPos const& pos);
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112 MCAPI void $load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper);
113
114 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
115
116 MCAPI void $onChanged(::BlockSource& region);
117
118 MCAPI void $onPlace(::BlockSource& region);
119
120 MCAPI void $onRemoved(::BlockSource& region);
121
122 MCAPI void $onChunkLoaded(::LevelChunk& lc);
123
124 MCAPI void $onSubChunkLoaded(::LevelChunk& lc, short, bool);
125
126 MCAPI void $onChunkUnloaded(::LevelChunk& lc);
127
128 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
129
130 MCAPI void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
131
132
133 // NOLINTEND
134
135public:
136 // vftables
137 // NOLINTBEGIN
138 MCAPI static void** $vftable();
139 // NOLINTEND
140};
Definition BaseGameVersion.h:13
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition ILevel.h:219
Definition IStructureWireframeQueue.h:5
Definition LevelChunk.h:87
Definition SaveContext.h:5
Definition StructureEditorData.h:23
Definition Color.h:13