LeviLamina
Loading...
Searching...
No Matches
EndCityPieces.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/util/Rotation.h"
8#include "mc/world/level/levelgen/structure/StructurePieceType.h"
9#include "mc/world/level/levelgen/structure/TemplateStructurePiece.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14class BlockSource;
15class BoundingBox;
16class Random;
18class StructurePiece;
19// clang-format on
20
22public:
23 // EndCityPieces inner types declare
24 // clang-format off
25 class EndCityPiece;
28 class SectionGenerator;
30 class TowerGenerator;
31 // clang-format on
32
33 // EndCityPieces inner types define
35 public:
36 // member variables
37 // NOLINTBEGIN
43 // NOLINTEND
44
45 public:
46 // prevent constructor by default
47 EndCityPiece& operator=(EndCityPiece const&);
50
51 public:
52 // virtual functions
53 // NOLINTBEGIN
54 // vIndex: 2
55 virtual ::StructurePieceType getType() const /*override*/;
56
57 // vIndex: 5
58 virtual void
59 postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
60
61 // vIndex: 13
62 virtual void _handleDataMarker(
63 ::std::string const& markerId,
64 ::BlockPos const& position,
65 ::BlockSource& region,
66 ::Random& random,
67 ::BoundingBox const& chunkBB
68 ) /*override*/;
69
70 // vIndex: 0
71 virtual ~EndCityPiece() /*override*/;
72 // NOLINTEND
73
74 public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI EndCityPiece(
78 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
79 ::std::string templateName,
80 ::BlockPos const& origin,
81 ::Rotation rotation,
82 bool overwrite
83 );
84
85 MCAPI void _loadAndSetup(::BlockPos const& position);
86 // NOLINTEND
87
88 public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCAPI void* $ctor(
92 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
93 ::std::string templateName,
94 ::BlockPos const& origin,
95 ::Rotation rotation,
96 bool overwrite
97 );
98 // NOLINTEND
99
100 public:
101 // destructor thunk
102 // NOLINTBEGIN
103 MCAPI void $dtor();
104 // NOLINTEND
105
106 public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCAPI ::StructurePieceType $getType() const;
110
111 MCAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
112
113 MCAPI void $_handleDataMarker(
114 ::std::string const& markerId,
115 ::BlockPos const& position,
116 ::BlockSource& region,
117 ::Random& random,
118 ::BoundingBox const& chunkBB
119 );
120 // NOLINTEND
121
122 public:
123 // vftables
124 // NOLINTBEGIN
125 MCAPI static void** $vftable();
126 // NOLINTEND
127 };
128
130 public:
131 // virtual functions
132 // NOLINTBEGIN
133 // vIndex: 0
134 virtual bool
135 generate(::Bedrock::NotNullNonOwnerPtr<::StructureManager>, ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const&, int, ::EndCityPieces::EndCityPiece*, ::BlockPos const&, ::std::vector<::std::unique_ptr<::StructurePiece>>&, ::Random&) = 0;
136
137 // vIndex: 1
138 virtual ~SectionGenerator() = default;
139 // NOLINTEND
140
141 public:
142 // destructor thunk
143 // NOLINTBEGIN
144
145 // NOLINTEND
146
147 public:
148 // virtual function thunks
149 // NOLINTBEGIN
150
151 // NOLINTEND
152
153 public:
154 // vftables
155 // NOLINTBEGIN
156 MCAPI static void** $vftable();
157 // NOLINTEND
158 };
159
160 enum class SectionType : ushort {
161 SectionTower = 0,
162 SectionFatTower = 1,
163 SectionBridge = 2,
164 SectionHouse = 3,
165 };
166
168 public:
169 // virtual functions
170 // NOLINTBEGIN
171 // vIndex: 0
172 virtual bool generate(
173 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
174 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
175 int genDepth,
177 ::BlockPos const& offset,
178 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
179 ::Random& random
180 ) /*override*/;
181
182 // vIndex: 1
183 virtual ~TowerGenerator() /*override*/ = default;
184 // NOLINTEND
185
186 public:
187 // destructor thunk
188 // NOLINTBEGIN
189
190 // NOLINTEND
191
192 public:
193 // virtual function thunks
194 // NOLINTBEGIN
195 MCAPI bool $generate(
196 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
197 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
198 int genDepth,
200 ::BlockPos const& offset,
201 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
202 ::Random& random
203 );
204 // NOLINTEND
205
206 public:
207 // vftables
208 // NOLINTBEGIN
209 MCAPI static void** $vftable();
210 // NOLINTEND
211 };
212
214 public:
215 // virtual functions
216 // NOLINTBEGIN
217 // vIndex: 0
218 virtual bool generate(
219 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
220 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
221 int genDepth,
223 ::BlockPos const& offset,
224 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
225 ::Random& random
226 ) /*override*/;
227
228 // vIndex: 1
229 virtual ~FatTowerGenerator() /*override*/ = default;
230 // NOLINTEND
231
232 public:
233 // destructor thunk
234 // NOLINTBEGIN
235
236 // NOLINTEND
237
238 public:
239 // virtual function thunks
240 // NOLINTBEGIN
241 MCAPI bool $generate(
242 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
243 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
244 int genDepth,
246 ::BlockPos const& offset,
247 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
248 ::Random& random
249 );
250 // NOLINTEND
251
252 public:
253 // vftables
254 // NOLINTBEGIN
255 MCAPI static void** $vftable();
256 // NOLINTEND
257 };
258
260 public:
261 // member variables
262 // NOLINTBEGIN
264 // NOLINTEND
265
266 public:
267 // prevent constructor by default
271
272 public:
273 // virtual functions
274 // NOLINTBEGIN
275 // vIndex: 0
276 virtual bool generate(
277 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
278 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
279 int genDepth,
281 ::BlockPos const& offset,
282 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
283 ::Random& random
284 ) /*override*/;
285
286 // vIndex: 1
287 virtual ~TowerBridgeGenerator() /*override*/ = default;
288 // NOLINTEND
289
290 public:
291 // destructor thunk
292 // NOLINTBEGIN
293
294 // NOLINTEND
295
296 public:
297 // virtual function thunks
298 // NOLINTBEGIN
299 MCAPI bool $generate(
300 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
301 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
302 int genDepth,
304 ::BlockPos const& offset,
305 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
306 ::Random& random
307 );
308 // NOLINTEND
309
310 public:
311 // vftables
312 // NOLINTBEGIN
313 MCAPI static void** $vftable();
314 // NOLINTEND
315 };
316
318 public:
319 // virtual functions
320 // NOLINTBEGIN
321 // vIndex: 0
322 virtual bool generate(
323 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
324 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
325 int genDepth,
327 ::BlockPos const& offset,
328 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
329 ::Random& random
330 ) /*override*/;
331
332 // vIndex: 1
333 virtual ~HouseTowerGenerator() /*override*/ = default;
334 // NOLINTEND
335
336 public:
337 // destructor thunk
338 // NOLINTBEGIN
339
340 // NOLINTEND
341
342 public:
343 // virtual function thunks
344 // NOLINTBEGIN
345 MCAPI bool $generate(
346 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
347 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
348 int genDepth,
350 ::BlockPos const& offset,
351 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
352 ::Random& random
353 );
354 // NOLINTEND
355
356 public:
357 // vftables
358 // NOLINTBEGIN
359 MCAPI static void** $vftable();
360 // NOLINTEND
361 };
362
363public:
364 // static functions
365 // NOLINTBEGIN
366 MCAPI static ::EndCityPieces::EndCityPiece* _addHelper(
367 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
368 ::std::unique_ptr<::EndCityPieces::EndCityPiece> piece
369 );
370
371 MCAPI static ::std::unique_ptr<::EndCityPieces::EndCityPiece> _createPiece(
372 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
374 ::BlockPos const& offset,
375 ::std::string const& templateName,
376 ::Rotation rotation,
377 bool overwrite
378 );
379
380 MCAPI static bool _recursiveChildren(
381 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
382 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
383 ::EndCityPieces::SectionType type,
384 int newGenDepth,
386 ::BlockPos const& offset,
387 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
388 ::Random& random
389 );
390
391 MCAPI static void startHouseTower(
392 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
393 ::BlockPos const& origin,
394 ::Rotation rotation,
395 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
396 ::Random& random
397 );
398 // NOLINTEND
399};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:18
Definition EndCityPieces.h:34
Definition EndCityPieces.h:213
Definition EndCityPieces.h:317
Definition EndCityPieces.h:129
Definition EndCityPieces.h:259
Definition EndCityPieces.h:167
Definition EndCityPieces.h:21
Definition Random.h:16
Definition StructureManager.h:40
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition Alias.h:14