LeviLamina
Loading...
Searching...
No Matches
ChalkboardBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/legacy/ActorUniqueID.h"
7#include "mc/textobject/TextObjectRoot.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/block/actor/BlockActor.h"
10#include "mc/world/level/block/actor/ChalkboardSize.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class BlockActorDataPacket;
16class BlockSource;
17class CompoundTag;
18class DataLoadHelper;
19class ILevel;
20class ItemStack;
21class SaveContext;
22// clang-format on
23
25public:
26 // ChalkboardBlockActor inner types declare
27 // clang-format off
28 struct CachedLineData;
29 struct CachedMessageData;
30 struct ChalkboardFinder;
31 // clang-format on
32
33 // ChalkboardBlockActor inner types define
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 32, ::std::string> text;
39 ::ll::TypedStorage<4, 4, int> lineLength;
40 // NOLINTEND
41
42 public:
43 // member functions
44 // NOLINTBEGIN
45 MCAPI CachedLineData();
46
47 MCAPI ~CachedLineData();
48 // NOLINTEND
49
50 public:
51 // constructor thunks
52 // NOLINTBEGIN
53 MCFOLD void* $ctor();
54 // NOLINTEND
55
56 public:
57 // destructor thunk
58 // NOLINTBEGIN
59 MCFOLD void $dtor();
60 // NOLINTEND
61 };
62
64 public:
65 // member variables
66 // NOLINTBEGIN
67 ::ll::TypedStorage<8, 640, ::std::array<::ChalkboardBlockActor::CachedLineData, 16>> lineData;
68 ::ll::TypedStorage<4, 4, uint> numLines;
69 ::ll::TypedStorage<8, 32, ::std::string> filteredMessage;
70 ::ll::TypedStorage<8, 8, void const*> cachedFontCompare;
71 ::ll::TypedStorage<1, 1, bool> dirty;
72 // NOLINTEND
73 };
74
76 public:
77 // member variables
78 // NOLINTBEGIN
79 ::ll::TypedStorage<1, 1, bool> mChunkFound;
80 ::ll::TypedStorage<8, 8, ::ChalkboardBlockActor*> mBoard;
81 // NOLINTEND
82
83 public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI bool confirmedBroken(::ChalkboardBlockActor& compare, ::BlockSource& region) const;
87 // NOLINTEND
88 };
89
90public:
91 // member variables
92 // NOLINTBEGIN
93 ::ll::TypedStorage<8, 32, ::std::string> mText;
94 ::ll::TypedStorage<8, 32, ::std::string> mTextObjectString;
95 ::ll::TypedStorage<8, 32, ::TextObjectRoot> mTextObjectMessage;
96 ::ll::TypedStorage<8, 696, ::ChalkboardBlockActor::CachedMessageData> mCachedMessage;
97 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mSiblings;
98 ::ll::TypedStorage<1, 1, bool> mShouldPersistFormatting;
99 ::ll::TypedStorage<4, 12, ::BlockPos> mBasePos;
100 ::ll::TypedStorage<1, 1, ::ChalkboardSize> mSize;
101 ::ll::TypedStorage<1, 1, bool> mIsOnGround;
102 ::ll::TypedStorage<1, 1, bool> mIsLocked;
103 ::ll::TypedStorage<1, 1, bool> mInitialized;
104 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mOwner;
105 // NOLINTEND
106
107public:
108 // prevent constructor by default
110
111public:
112 // virtual functions
113 // NOLINTBEGIN
114 // vIndex: 0
115 virtual ~ChalkboardBlockActor() /*override*/;
116
117 // vIndex: 2
118 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
119
120 // vIndex: 1
121 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
122
123 // vIndex: 10
124 virtual void onChanged(::BlockSource& region) /*override*/;
125
126 // vIndex: 9
127 virtual void tick(::BlockSource& region) /*override*/;
128
129 // vIndex: 27
130 virtual ::std::string getImmersiveReaderText(::BlockSource& region) /*override*/;
131
132 // vIndex: 36
133 virtual ::std::vector<::std::string> getUgcStrings(::CompoundTag const& tag) const /*override*/;
134
135 // vIndex: 38
136 virtual void setUgcStrings(::CompoundTag& tag, ::std::vector<::std::string> const& list) const /*override*/;
137
138 // vIndex: 41
139 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
140
141 // vIndex: 42
142 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
143 // NOLINTEND
144
145public:
146 // member functions
147 // NOLINTBEGIN
148 MCAPI explicit ChalkboardBlockActor(::BlockPos const& pos);
149
150 MCAPI ::std::vector<::BlockPos> const& _getSiblings(::BlockSource& region);
151
152 MCAPI ::ChalkboardBlockActor* getBaseChalkboard(::BlockSource& region) const;
153
154 MCAPI ::std::string const& getText() const;
155
156 MCAPI void setText(::std::string const& text);
157
158 MCAPI void validate(::BlockSource& region);
159 // NOLINTEND
160
161public:
162 // static functions
163 // NOLINTBEGIN
164 MCAPI static ::ChalkboardBlockActor::ChalkboardFinder _findChalkboard(::BlockSource& region, ::BlockPos const& pos);
165
166 MCAPI static ::std::vector<::BlockPos>
167 calculateAllBlocks(::BlockPos const& basePos, ::ChalkboardSize boardSize, int dir);
168
169 MCAPI static bool canCreateChalkboard(
170 ::Actor* creator,
171 ::BlockSource& region,
172 ::BlockPos const& basePos,
173 ::ChalkboardSize boardSize,
174 uchar face,
175 int dir,
176 ::std::vector<::BlockPos>& occupiedBlocks,
177 ::ItemStack const& instance,
178 bool generateParticles
179 );
180
181 MCAPI static ::ChalkboardBlockActor* convertFromEntity(::BlockSource& region, ::CompoundTag const& tag);
182
183 MCAPI static ::ChalkboardBlockActor* createChalkboard(
184 ::Actor* creator,
185 ::BlockSource& region,
186 ::BlockPos const& basePos,
187 ::ChalkboardSize boardSize,
188 uchar face,
189 int dir,
190 bool isOnGround,
191 ::ItemStack const& instance,
192 ::std::string text
193 );
194 // NOLINTEND
195
196public:
197 // constructor thunks
198 // NOLINTBEGIN
199 MCAPI void* $ctor(::BlockPos const& pos);
200 // NOLINTEND
201
202public:
203 // destructor thunk
204 // NOLINTBEGIN
205 MCAPI void $dtor();
206 // NOLINTEND
207
208public:
209 // virtual function thunks
210 // NOLINTBEGIN
211 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
212
213 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
214
215 MCAPI void $onChanged(::BlockSource& region);
216
217 MCAPI void $tick(::BlockSource& region);
218
219 MCAPI ::std::string $getImmersiveReaderText(::BlockSource& region);
220
221 MCAPI ::std::vector<::std::string> $getUgcStrings(::CompoundTag const& tag) const;
222
223 MCAPI void $setUgcStrings(::CompoundTag& tag, ::std::vector<::std::string> const& list) const;
224
225 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
226
227 MCFOLD void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
228 // NOLINTEND
229
230public:
231 // vftables
232 // NOLINTBEGIN
233 MCAPI static void** $vftable();
234 // NOLINTEND
235};
Definition Actor.h:102
Definition BlockActor.h:32
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition ChalkboardBlockActor.h:24
Definition CompoundTag.h:13
Definition DataLoadHelper.h:20
Definition ILevel.h:207
Definition ItemStack.h:23
Definition SaveContext.h:5
Definition ChalkboardBlockActor.h:34
Definition ChalkboardBlockActor.h:63
Definition ChalkboardBlockActor.h:75