LeviLamina
Loading...
Searching...
No Matches
WoodlandMansionPieces.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/Mirror.h"
8#include "mc/util/Rotation.h"
9#include "mc/world/level/levelgen/structure/StructurePieceType.h"
10#include "mc/world/level/levelgen/structure/TemplateStructurePiece.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
15class BlockSource;
16class BoundingBox;
17class Random;
19class StructurePiece;
20// clang-format on
21
23public:
24 // WoodlandMansionPieces inner types declare
25 // clang-format off
28 class MansionGrid;
30 struct PlacementData;
32 class SimpleGrid;
35 // clang-format on
36
37 // WoodlandMansionPieces inner types define
39 public:
40 // member variables
41 // NOLINTBEGIN
50 // NOLINTEND
51
52 public:
53 // prevent constructor by default
57
58 public:
59 // virtual functions
60 // NOLINTBEGIN
61 // vIndex: 2
62 virtual ::StructurePieceType getType() const /*override*/;
63
64 // vIndex: 5
65 virtual void
66 postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
67
68 // vIndex: 13
69 virtual void _handleDataMarker(
70 ::std::string const& markerId,
71 ::BlockPos const& position,
72 ::BlockSource& region,
73 ::Random& random,
74 ::BoundingBox const& chunkBB
75 ) /*override*/;
76
77 // vIndex: 0
78 virtual ~WoodlandMansionPiece() /*override*/;
79 // NOLINTEND
80
81 public:
82 // member functions
83 // NOLINTBEGIN
85 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
86 ::std::string const& templateName,
87 ::BlockPos const& origin,
88 ::Rotation rotation
89 );
90
92 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
93 ::std::string const& templateName,
94 ::BlockPos const& origin,
95 ::Rotation rotation,
96 ::Mirror mirror
97 );
98
99 MCAPI void _addChest(
100 ::std::string const& markerId,
101 ::BlockPos const& position,
102 ::BlockSource& region,
103 ::Random& random,
104 ::BoundingBox const& chunkBB
105 );
106
107 MCAPI void _loadTemplate();
108 // NOLINTEND
109
110 public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCAPI void* $ctor(
114 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
115 ::std::string const& templateName,
116 ::BlockPos const& origin,
117 ::Rotation rotation
118 );
119
120 MCAPI void* $ctor(
121 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
122 ::std::string const& templateName,
123 ::BlockPos const& origin,
124 ::Rotation rotation,
125 ::Mirror mirror
126 );
127 // NOLINTEND
128
129 public:
130 // destructor thunk
131 // NOLINTBEGIN
132 MCAPI void $dtor();
133 // NOLINTEND
134
135 public:
136 // virtual function thunks
137 // NOLINTBEGIN
138 MCAPI ::StructurePieceType $getType() const;
139
140 MCAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
141
142 MCAPI void $_handleDataMarker(
143 ::std::string const& markerId,
144 ::BlockPos const& position,
145 ::BlockSource& region,
146 ::Random& random,
147 ::BoundingBox const& chunkBB
148 );
149 // NOLINTEND
150
151 public:
152 // vftables
153 // NOLINTBEGIN
154 MCAPI static void** $vftable();
155 // NOLINTEND
156 };
157
159 public:
160 // member variables
161 // NOLINTBEGIN
165 // NOLINTEND
166
167 public:
168 // prevent constructor by default
169 PlacementData& operator=(PlacementData const&);
172
173 public:
174 // member functions
175 // NOLINTBEGIN
176 MCAPI ~PlacementData();
177 // NOLINTEND
178
179 public:
180 // destructor thunk
181 // NOLINTBEGIN
182 MCFOLD void $dtor();
183 // NOLINTEND
184 };
185
187 public:
188 // member variables
189 // NOLINTBEGIN
196 // NOLINTEND
197
198 public:
199 // prevent constructor by default
200 MansionGrid& operator=(MansionGrid const&);
201 MansionGrid(MansionGrid const&);
202 MansionGrid();
203
204 public:
205 // member functions
206 // NOLINTBEGIN
207 MCAPI explicit MansionGrid(::Random& random);
208
209 MCAPI bool _cleanEdges(::WoodlandMansionPieces::SimpleGrid& grid);
210
211 MCAPI void
213
214 MCAPI void
215 _recursiveCorridor(::WoodlandMansionPieces::SimpleGrid& grid, int x, int y, uchar heading, int depth);
216
217 MCAPI void _setupThirdFloor();
218
219 MCAPI uchar
220 get1x2RoomDirection(::WoodlandMansionPieces::SimpleGrid const& x, int y, int floorNum, int roomId, int grid)
221 const;
222 // NOLINTEND
223
224 public:
225 // constructor thunks
226 // NOLINTBEGIN
227 MCAPI void* $ctor(::Random& random);
228 // NOLINTEND
229 };
230
232 public:
233 // member variables
234 // NOLINTBEGIN
239 // NOLINTEND
240
241 public:
242 // prevent constructor by default
243 SimpleGrid& operator=(SimpleGrid const&);
244 SimpleGrid(SimpleGrid const&);
245 SimpleGrid();
246
247 public:
248 // member functions
249 // NOLINTBEGIN
250 MCAPI void set(int x0, int y0, int x1, int y1, int value);
251 // NOLINTEND
252 };
253
255 public:
256 // virtual functions
257 // NOLINTBEGIN
258 // vIndex: 0
259 virtual ~FloorRoomCollection() = default;
260
261 // vIndex: 1
262 virtual ::std::string get1x1(::Random&) = 0;
263
264 // vIndex: 2
265 virtual ::std::string get1x1Secret(::Random&) = 0;
266
267 // vIndex: 3
268 virtual ::std::string get1x2SideEntrance(::Random&, bool) = 0;
269
270 // vIndex: 4
271 virtual ::std::string get1x2FrontEntrance(::Random&, bool) = 0;
272
273 // vIndex: 5
274 virtual ::std::string get1x2Secret(::Random&) = 0;
275
276 // vIndex: 6
277 virtual ::std::string get2x2(::Random&) = 0;
278
279 // vIndex: 7
280 virtual ::std::string get2x2Secret(::Random&) = 0;
281 // NOLINTEND
282
283 public:
284 // destructor thunk
285 // NOLINTBEGIN
286
287 // NOLINTEND
288
289 public:
290 // virtual function thunks
291 // NOLINTBEGIN
292
293 // NOLINTEND
294
295 public:
296 // vftables
297 // NOLINTBEGIN
298 MCAPI static void** $vftable();
299 // NOLINTEND
300 };
301
303 public:
304 // member variables
305 // NOLINTBEGIN
310 // NOLINTEND
311
312 public:
313 // prevent constructor by default
314 MansionPiecePlacer& operator=(MansionPiecePlacer const&);
317
318 public:
319 // member functions
320 // NOLINTBEGIN
321 MCAPI void _addRoom1x1(
322 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
323 ::BlockPos const& roomPos,
324 ::Rotation rotation,
325 uchar doorDir,
327 );
328
329 MCAPI void _addRoom1x2(
330 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
331 ::BlockPos const& roomPos,
332 ::Rotation rotation,
333 uchar roomDir,
334 uchar doorDir,
336 bool isStairsRoom
337 );
338
339 MCAPI void _addRoom2x2(
340 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
341 ::BlockPos const& roomPos,
342 ::Rotation rotation,
343 uchar roomDir,
344 uchar doorDir,
346 );
347
348 MCAPI void _addRoom2x2Secret(
349 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
350 ::BlockPos const& roomPos,
351 ::Rotation rotation,
353 );
354
355 MCAPI void _createRoof(
356 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
357 ::BlockPos const& roofOrigin,
358 ::Rotation rotation,
361 );
362
363 MCAPI void _entrance(
364 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
366 );
367
368 MCAPI void _traverseInnerTurn(
369 ::std::vector<::std::unique_ptr<::StructurePiece>>& data,
371 );
372
373 MCAPI void _traverseOuterWalls(
374 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
377 uchar startX,
378 int startY,
379 int endX,
380 int endY,
381 int gridDirection
382 );
383
384 MCAPI void _traverseTurn(
385 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
387 );
388
389 MCAPI void _traverseWallPiece(
390 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
392 );
393
394 MCAPI void createMansion(
395 ::BlockPos const& origin,
396 ::Rotation rotation,
397 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
399 );
400 // NOLINTEND
401 };
402
404 public:
405 // virtual functions
406 // NOLINTBEGIN
407 // vIndex: 0
408 virtual ~FirstFloorRoomCollection() /*override*/ = default;
409
410 // vIndex: 1
411 virtual ::std::string get1x1(::Random& random) /*override*/;
412
413 // vIndex: 2
414 virtual ::std::string get1x1Secret(::Random& random) /*override*/;
415
416 // vIndex: 3
417 virtual ::std::string get1x2SideEntrance(::Random& random, bool isStairsRoom) /*override*/;
418
419 // vIndex: 4
420 virtual ::std::string get1x2FrontEntrance(::Random& random, bool isStairsRoom) /*override*/;
421
422 // vIndex: 5
423 virtual ::std::string get1x2Secret(::Random& random) /*override*/;
424
425 // vIndex: 6
426 virtual ::std::string get2x2(::Random& random) /*override*/;
427
428 // vIndex: 7
429 virtual ::std::string get2x2Secret(::Random& random) /*override*/;
430 // NOLINTEND
431
432 public:
433 // destructor thunk
434 // NOLINTBEGIN
435
436 // NOLINTEND
437
438 public:
439 // virtual function thunks
440 // NOLINTBEGIN
441 MCAPI ::std::string $get1x1(::Random& random);
442
443 MCFOLD ::std::string $get1x1Secret(::Random& random);
444
445 MCAPI ::std::string $get1x2SideEntrance(::Random& random, bool isStairsRoom);
446
447 MCAPI ::std::string $get1x2FrontEntrance(::Random& random, bool isStairsRoom);
448
449 MCAPI ::std::string $get1x2Secret(::Random& random);
450
451 MCAPI ::std::string $get2x2(::Random& random);
452
453 MCFOLD ::std::string $get2x2Secret(::Random& random);
454 // NOLINTEND
455
456 public:
457 // vftables
458 // NOLINTBEGIN
459 MCAPI static void** $vftable();
460 // NOLINTEND
461 };
462
464 public:
465 // virtual functions
466 // NOLINTBEGIN
467 // vIndex: 0
468 virtual ~SecondFloorRoomCollection() /*override*/ = default;
469
470 // vIndex: 1
471 virtual ::std::string get1x1(::Random& random) /*override*/;
472
473 // vIndex: 2
474 virtual ::std::string get1x1Secret(::Random& random) /*override*/;
475
476 // vIndex: 3
477 virtual ::std::string get1x2SideEntrance(::Random& random, bool isStairsRoom) /*override*/;
478
479 // vIndex: 4
480 virtual ::std::string get1x2FrontEntrance(::Random& random, bool isStairsRoom) /*override*/;
481
482 // vIndex: 5
483 virtual ::std::string get1x2Secret(::Random& random) /*override*/;
484
485 // vIndex: 6
486 virtual ::std::string get2x2(::Random& random) /*override*/;
487
488 // vIndex: 7
489 virtual ::std::string get2x2Secret(::Random& random) /*override*/;
490 // NOLINTEND
491
492 public:
493 // destructor thunk
494 // NOLINTBEGIN
495
496 // NOLINTEND
497
498 public:
499 // virtual function thunks
500 // NOLINTBEGIN
501 MCAPI ::std::string $get1x1(::Random& random);
502
503 MCFOLD ::std::string $get1x1Secret(::Random& random);
504
505 MCAPI ::std::string $get1x2SideEntrance(::Random& random, bool isStairsRoom);
506
507 MCAPI ::std::string $get1x2FrontEntrance(::Random& random, bool isStairsRoom);
508
509 MCAPI ::std::string $get1x2Secret(::Random& random);
510
511 MCAPI ::std::string $get2x2(::Random& random);
512
513 MCFOLD ::std::string $get2x2Secret(::Random& random);
514 // NOLINTEND
515
516 public:
517 // vftables
518 // NOLINTBEGIN
519 MCAPI static void** $vftable();
520 // NOLINTEND
521 };
522
524 public:
525 // virtual functions
526 // NOLINTBEGIN
527 // vIndex: 0
528 virtual ~ThirdFloorRoomCollection() /*override*/ = default;
529 // NOLINTEND
530
531 public:
532 // destructor thunk
533 // NOLINTBEGIN
534
535 // NOLINTEND
536
537 public:
538 // vftables
539 // NOLINTBEGIN
540 MCAPI static void** $vftable();
541 // NOLINTEND
542 };
543
544public:
545 // static functions
546 // NOLINTBEGIN
547 MCAPI static void generateMansion(
548 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
549 ::BlockPos const& origin,
550 ::Rotation rotation,
551 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
552 ::Random& random
553 );
554 // NOLINTEND
555};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:18
Definition Random.h:16
Definition StructureManager.h:40
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition WoodlandMansionPieces.h:403
Definition WoodlandMansionPieces.h:254
Definition WoodlandMansionPieces.h:186
Definition WoodlandMansionPieces.h:302
Definition WoodlandMansionPieces.h:463
Definition WoodlandMansionPieces.h:231
Definition WoodlandMansionPieces.h:523
Definition WoodlandMansionPieces.h:38
Definition WoodlandMansionPieces.h:22
Definition WoodlandMansionPieces.h:158
Definition Alias.h:14