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 MCNAPI void _addChest(
100 ::std::string const& markerId,
101 ::BlockPos const& position,
102 ::BlockSource& region,
103 ::Random& random,
104 ::BoundingBox const& chunkBB
105 );
106
107 MCNAPI void _loadTemplate();
108 // NOLINTEND
109
110 public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCNAPI void* $ctor(
114 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
115 ::std::string const& templateName,
116 ::BlockPos const& origin,
117 ::Rotation rotation
118 );
119
120 MCNAPI 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 MCNAPI void $dtor();
133 // NOLINTEND
134
135 public:
136 // virtual function thunks
137 // NOLINTBEGIN
138 MCNAPI ::StructurePieceType $getType() const;
139
140 MCNAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
141
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 MCNAPI 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
177 // NOLINTEND
178
179 public:
180 // destructor thunk
181 // NOLINTBEGIN
182 MCNAPI 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 MCNAPI explicit MansionGrid(::Random& random);
208
210
211 MCNAPI void
213
214 MCNAPI void
215 _recursiveCorridor(::WoodlandMansionPieces::SimpleGrid& grid, int x, int y, uchar heading, int depth);
216
217 MCNAPI void _setupThirdFloor();
218 // NOLINTEND
219
220 public:
221 // constructor thunks
222 // NOLINTBEGIN
223 MCNAPI void* $ctor(::Random& random);
224 // NOLINTEND
225 };
226
228 public:
229 // member variables
230 // NOLINTBEGIN
235 // NOLINTEND
236
237 public:
238 // prevent constructor by default
239 SimpleGrid& operator=(SimpleGrid const&);
240 SimpleGrid(SimpleGrid const&);
241 SimpleGrid();
242
243 public:
244 // member functions
245 // NOLINTBEGIN
246 MCNAPI void set(int x0, int y0, int x1, int y1, int value);
247 // NOLINTEND
248 };
249
251 public:
252 // virtual functions
253 // NOLINTBEGIN
254 // vIndex: 0
255 virtual ~FloorRoomCollection() = default;
256
257 // vIndex: 1
258 virtual ::std::string get1x1(::Random&) = 0;
259
260 // vIndex: 2
261 virtual ::std::string get1x1Secret(::Random&) = 0;
262
263 // vIndex: 3
264 virtual ::std::string get1x2SideEntrance(::Random&, bool) = 0;
265
266 // vIndex: 4
267 virtual ::std::string get1x2FrontEntrance(::Random&, bool) = 0;
268
269 // vIndex: 5
270 virtual ::std::string get1x2Secret(::Random&) = 0;
271
272 // vIndex: 6
273 virtual ::std::string get2x2(::Random&) = 0;
274
275 // vIndex: 7
276 virtual ::std::string get2x2Secret(::Random&) = 0;
277 // NOLINTEND
278
279 public:
280 // virtual function thunks
281 // NOLINTBEGIN
282
283 // NOLINTEND
284
285 public:
286 // vftables
287 // NOLINTBEGIN
288 MCNAPI static void** $vftable();
289 // NOLINTEND
290 };
291
293 public:
294 // member variables
295 // NOLINTBEGIN
300 // NOLINTEND
301
302 public:
303 // prevent constructor by default
304 MansionPiecePlacer& operator=(MansionPiecePlacer const&);
307
308 public:
309 // member functions
310 // NOLINTBEGIN
311 MCNAPI void _addRoom1x1(
312 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
313 ::BlockPos const& roomPos,
314 ::Rotation rotation,
315 uchar doorDir,
317 );
318
319 MCNAPI void _addRoom1x2(
320 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
321 ::BlockPos const& roomPos,
322 ::Rotation rotation,
323 uchar roomDir,
324 uchar doorDir,
326 bool isStairsRoom
327 );
328
329 MCNAPI void _addRoom2x2(
330 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
331 ::BlockPos const& roomPos,
332 ::Rotation rotation,
333 uchar roomDir,
334 uchar doorDir,
336 );
337
338 MCNAPI void _addRoom2x2Secret(
339 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
340 ::BlockPos const& roomPos,
341 ::Rotation rotation,
343 );
344
345 MCNAPI void _createRoof(
346 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
347 ::BlockPos const& roofOrigin,
348 ::Rotation rotation,
351 );
352
353 MCNAPI void _entrance(
354 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
356 );
357
359 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
361 );
362
364 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
367 uchar gridDirection,
368 int startX,
369 int startY,
370 int endX,
371 int endY
372 );
373
374 MCNAPI void _traverseTurn(
375 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
377 );
378
380 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
382 );
383
384 MCNAPI void createMansion(
385 ::BlockPos const& origin,
386 ::Rotation rotation,
387 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
389 );
390 // NOLINTEND
391 };
392
394 public:
395 // virtual functions
396 // NOLINTBEGIN
397 // vIndex: 0
398 virtual ~FirstFloorRoomCollection() /*override*/ = default;
399
400 // vIndex: 1
401 virtual ::std::string get1x1(::Random& random) /*override*/;
402
403 // vIndex: 2
404 virtual ::std::string get1x1Secret(::Random& random) /*override*/;
405
406 // vIndex: 3
407 virtual ::std::string get1x2SideEntrance(::Random& random, bool isStairsRoom) /*override*/;
408
409 // vIndex: 4
410 virtual ::std::string get1x2FrontEntrance(::Random& random, bool isStairsRoom) /*override*/;
411
412 // vIndex: 5
413 virtual ::std::string get1x2Secret(::Random& random) /*override*/;
414
415 // vIndex: 6
416 virtual ::std::string get2x2(::Random& random) /*override*/;
417
418 // vIndex: 7
419 virtual ::std::string get2x2Secret(::Random& random) /*override*/;
420 // NOLINTEND
421
422 public:
423 // virtual function thunks
424 // NOLINTBEGIN
425 MCNAPI ::std::string $get1x1(::Random& random);
426
427 MCNAPI ::std::string $get1x1Secret(::Random& random);
428
429 MCNAPI ::std::string $get1x2SideEntrance(::Random& random, bool isStairsRoom);
430
431 MCNAPI ::std::string $get1x2FrontEntrance(::Random& random, bool isStairsRoom);
432
433 MCNAPI ::std::string $get1x2Secret(::Random& random);
434
435 MCNAPI ::std::string $get2x2(::Random& random);
436
437 MCNAPI ::std::string $get2x2Secret(::Random& random);
438 // NOLINTEND
439
440 public:
441 // vftables
442 // NOLINTBEGIN
443 MCNAPI static void** $vftable();
444 // NOLINTEND
445 };
446
448 public:
449 // virtual functions
450 // NOLINTBEGIN
451 // vIndex: 0
452 virtual ~SecondFloorRoomCollection() /*override*/ = default;
453
454 // vIndex: 1
455 virtual ::std::string get1x1(::Random& random) /*override*/;
456
457 // vIndex: 2
458 virtual ::std::string get1x1Secret(::Random& random) /*override*/;
459
460 // vIndex: 3
461 virtual ::std::string get1x2SideEntrance(::Random& random, bool isStairsRoom) /*override*/;
462
463 // vIndex: 4
464 virtual ::std::string get1x2FrontEntrance(::Random& random, bool isStairsRoom) /*override*/;
465
466 // vIndex: 5
467 virtual ::std::string get1x2Secret(::Random& random) /*override*/;
468
469 // vIndex: 6
470 virtual ::std::string get2x2(::Random& random) /*override*/;
471
472 // vIndex: 7
473 virtual ::std::string get2x2Secret(::Random& random) /*override*/;
474 // NOLINTEND
475
476 public:
477 // virtual function thunks
478 // NOLINTBEGIN
479 MCNAPI ::std::string $get1x1(::Random& random);
480
481 MCNAPI ::std::string $get1x1Secret(::Random& random);
482
483 MCNAPI ::std::string $get1x2SideEntrance(::Random& random, bool isStairsRoom);
484
485 MCNAPI ::std::string $get1x2FrontEntrance(::Random& random, bool isStairsRoom);
486
487 MCNAPI ::std::string $get1x2Secret(::Random& random);
488
489 MCNAPI ::std::string $get2x2(::Random& random);
490
491 MCNAPI ::std::string $get2x2Secret(::Random& random);
492 // NOLINTEND
493
494 public:
495 // vftables
496 // NOLINTBEGIN
497 MCNAPI static void** $vftable();
498 // NOLINTEND
499 };
500
502 public:
503 // virtual functions
504 // NOLINTBEGIN
505 // vIndex: 0
506 virtual ~ThirdFloorRoomCollection() /*override*/ = default;
507 // NOLINTEND
508
509 public:
510 // vftables
511 // NOLINTBEGIN
512 MCNAPI static void** $vftable();
513 // NOLINTEND
514 };
515
516public:
517 // static functions
518 // NOLINTBEGIN
519 MCNAPI static void generateMansion(
520 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
521 ::BlockPos const& origin,
522 ::Rotation rotation,
523 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
524 ::Random& random
525 );
526 // NOLINTEND
527};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:13
Definition Random.h:11
Definition StructureManager.h:40
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition WoodlandMansionPieces.h:393
MCAPI::std::string $get2x2(::Random &random)
MCAPI::std::string $get1x1Secret(::Random &random)
MCAPI::std::string $get1x1(::Random &random)
MCAPI::std::string $get1x2SideEntrance(::Random &random, bool isStairsRoom)
MCAPI::std::string $get1x2FrontEntrance(::Random &random, bool isStairsRoom)
MCAPI::std::string $get1x2Secret(::Random &random)
MCAPI::std::string $get2x2Secret(::Random &random)
Definition WoodlandMansionPieces.h:250
Definition WoodlandMansionPieces.h:186
MCAPI MansionGrid(::Random &random)
MCAPI void * $ctor(::Random &random)
MCAPI bool _cleanEdges(::WoodlandMansionPieces::SimpleGrid &grid)
MCAPI void _recursiveCorridor(::WoodlandMansionPieces::SimpleGrid &grid, int x, int y, uchar heading, int depth)
MCAPI void _identifyRooms(::WoodlandMansionPieces::SimpleGrid &fromGrid, ::WoodlandMansionPieces::SimpleGrid &roomGrid)
Definition WoodlandMansionPieces.h:292
MCAPI void _addRoom2x2(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, uchar roomDir, uchar doorDir, ::WoodlandMansionPieces::FloorRoomCollection &rooms)
MCAPI void _addRoom1x1(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, uchar doorDir, ::WoodlandMansionPieces::FloorRoomCollection &rooms)
MCAPI void _entrance(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
MCAPI void _addRoom2x2Secret(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, ::WoodlandMansionPieces::FloorRoomCollection &rooms)
MCAPI void _traverseOuterWalls(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data, ::WoodlandMansionPieces::SimpleGrid &grid, uchar gridDirection, int startX, int startY, int endX, int endY)
MCAPI void _traverseWallPiece(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
MCAPI void _addRoom1x2(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, uchar roomDir, uchar doorDir, ::WoodlandMansionPieces::FloorRoomCollection &rooms, bool isStairsRoom)
MCAPI void _traverseTurn(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
MCAPI void _createRoof(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roofOrigin, ::Rotation rotation, ::WoodlandMansionPieces::SimpleGrid &grid, ::WoodlandMansionPieces::SimpleGrid *aboveGrid)
MCAPI void createMansion(::BlockPos const &origin, ::Rotation rotation, ::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::MansionGrid &mansion)
MCAPI void _traverseInnerTurn(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
Definition WoodlandMansionPieces.h:447
MCAPI::std::string $get1x2Secret(::Random &random)
MCAPI::std::string $get1x2FrontEntrance(::Random &random, bool isStairsRoom)
MCAPI::std::string $get1x1(::Random &random)
MCAPI::std::string $get1x1Secret(::Random &random)
MCAPI::std::string $get2x2Secret(::Random &random)
MCAPI::std::string $get2x2(::Random &random)
MCAPI::std::string $get1x2SideEntrance(::Random &random, bool isStairsRoom)
Definition WoodlandMansionPieces.h:227
MCAPI void set(int x0, int y0, int x1, int y1, int value)
Definition WoodlandMansionPieces.h:501
Definition WoodlandMansionPieces.h:38
MCAPI void $postProcessMobsAt(::BlockSource &region, ::Random &random, ::BoundingBox const &chunkBB)
MCAPI::StructurePieceType $getType() const
MCAPI WoodlandMansionPiece(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation, ::Mirror mirror)
MCAPI void $_handleDataMarker(::std::string const &markerId, ::BlockPos const &position, ::BlockSource &region, ::Random &random, ::BoundingBox const &chunkBB)
MCAPI WoodlandMansionPiece(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation)
MCAPI void _addChest(::std::string const &markerId, ::BlockPos const &position, ::BlockSource &region, ::Random &random, ::BoundingBox const &chunkBB)
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation, ::Mirror mirror)
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation)
Definition WoodlandMansionPieces.h:22
static MCAPI void generateMansion(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::BlockPos const &origin, ::Rotation rotation, ::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::Random &random)
Definition WoodlandMansionPieces.h:158
Definition Alias.h:14