3#include "mc/_HeaderOutputPredefine.h"
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"
62 virtual ::StructurePieceType getType()
const ;
69 virtual void _handleDataMarker(
70 ::std::string
const& markerId,
85 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
86 ::std::string
const& templateName,
92 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
93 ::std::string
const& templateName,
100 ::std::string
const& markerId,
114 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
115 ::std::string
const& templateName,
121 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
122 ::std::string
const& templateName,
143 ::std::string
const& markerId,
254 MCNAPI
void set(
int x0,
int y0,
int x1,
int y1,
int value);
266 virtual ::std::string get1x1(
::Random&) = 0;
269 virtual ::std::string get1x1Secret(
::Random&) = 0;
272 virtual ::std::string get1x2SideEntrance(
::Random&,
bool) = 0;
275 virtual ::std::string get1x2FrontEntrance(
::Random&,
bool) = 0;
278 virtual ::std::string get1x2Secret(
::Random&) = 0;
281 virtual ::std::string get2x2(
::Random&) = 0;
284 virtual ::std::string get2x2Secret(
::Random&) = 0;
320 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
328 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
338 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
347 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
354 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
362 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
367 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
372 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
383 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
388 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
395 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
409 virtual ::std::string get1x1(
::Random& random) ;
412 virtual ::std::string get1x1Secret(
::Random& random) ;
415 virtual ::std::string get1x2SideEntrance(
::Random& random,
bool isStairsRoom) ;
418 virtual ::std::string get1x2FrontEntrance(
::Random& random,
bool isStairsRoom) ;
421 virtual ::std::string get1x2Secret(
::Random& random) ;
424 virtual ::std::string get2x2(
::Random& random) ;
427 virtual ::std::string get2x2Secret(
::Random& random) ;
463 virtual ::std::string get1x1(
::Random& random) ;
466 virtual ::std::string get1x1Secret(
::Random& random) ;
469 virtual ::std::string get1x2SideEntrance(
::Random& random,
bool isStairsRoom) ;
472 virtual ::std::string get1x2FrontEntrance(
::Random& random,
bool isStairsRoom) ;
475 virtual ::std::string get1x2Secret(
::Random& random) ;
478 virtual ::std::string get2x2(
::Random& random) ;
481 virtual ::std::string get2x2Secret(
::Random& random) ;
528 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
531 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
Definition BlockSource.h:67
Definition BoundingBox.h:13
Definition StructureManager.h:43
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition WoodlandMansionPieces.h:401
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)
static MCAPI void ** $vftable()
MCAPI::std::string $get1x2Secret(::Random &random)
MCAPI::std::string $get2x2Secret(::Random &random)
Definition WoodlandMansionPieces.h:258
static MCAPI void ** $vftable()
Definition WoodlandMansionPieces.h:186
MCAPI MansionGrid(::Random &random)
MCAPI void * $ctor(::Random &random)
MCAPI bool _cleanEdges(::WoodlandMansionPieces::SimpleGrid &grid)
MCAPI uchar get1x2RoomDirection(::WoodlandMansionPieces::SimpleGrid const &grid, int x, int y, int floorNum, int roomId) const
MCAPI void _recursiveCorridor(::WoodlandMansionPieces::SimpleGrid &grid, int x, int y, uchar heading, int depth)
MCAPI void _identifyRooms(::WoodlandMansionPieces::SimpleGrid &fromGrid, ::WoodlandMansionPieces::SimpleGrid &roomGrid)
MCAPI void _setupThirdFloor()
Definition WoodlandMansionPieces.h:300
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:455
MCAPI::std::string $get1x2Secret(::Random &random)
MCAPI::std::string $get1x2FrontEntrance(::Random &random, bool isStairsRoom)
MCAPI::std::string $get1x1(::Random &random)
static MCAPI void ** $vftable()
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:235
MCAPI void set(int x0, int y0, int x1, int y1, int value)
Definition WoodlandMansionPieces.h:509
static MCAPI void ** $vftable()
Definition WoodlandMansionPieces.h:38
MCAPI void $postProcessMobsAt(::BlockSource ®ion, ::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)
static MCAPI void ** $vftable()
MCAPI void _loadTemplate()
MCAPI void $_handleDataMarker(::std::string const &markerId, ::BlockPos const &position, ::BlockSource ®ion, ::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 ®ion, ::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