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,
246 MCNAPI
void set(
int x0,
int y0,
int x1,
int y1,
int value);
258 virtual ::std::string get1x1(
::Random&) = 0;
261 virtual ::std::string get1x1Secret(
::Random&) = 0;
264 virtual ::std::string get1x2SideEntrance(
::Random&,
bool) = 0;
267 virtual ::std::string get1x2FrontEntrance(
::Random&,
bool) = 0;
270 virtual ::std::string get1x2Secret(
::Random&) = 0;
273 virtual ::std::string get2x2(
::Random&) = 0;
276 virtual ::std::string get2x2Secret(
::Random&) = 0;
312 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
320 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
330 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
339 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
346 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
354 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
359 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
364 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
375 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
380 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
387 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
401 virtual ::std::string get1x1(
::Random& random) ;
404 virtual ::std::string get1x1Secret(
::Random& random) ;
407 virtual ::std::string get1x2SideEntrance(
::Random& random,
bool isStairsRoom) ;
410 virtual ::std::string get1x2FrontEntrance(
::Random& random,
bool isStairsRoom) ;
413 virtual ::std::string get1x2Secret(
::Random& random) ;
416 virtual ::std::string get2x2(
::Random& random) ;
419 virtual ::std::string get2x2Secret(
::Random& random) ;
455 virtual ::std::string get1x1(
::Random& random) ;
458 virtual ::std::string get1x1Secret(
::Random& random) ;
461 virtual ::std::string get1x2SideEntrance(
::Random& random,
bool isStairsRoom) ;
464 virtual ::std::string get1x2FrontEntrance(
::Random& random,
bool isStairsRoom) ;
467 virtual ::std::string get1x2Secret(
::Random& random) ;
470 virtual ::std::string get2x2(
::Random& random) ;
473 virtual ::std::string get2x2Secret(
::Random& random) ;
520 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
523 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
Definition BlockSource.h:67
Definition BoundingBox.h:13
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)
static MCAPI void ** $vftable()
MCAPI::std::string $get1x2Secret(::Random &random)
MCAPI::std::string $get2x2Secret(::Random &random)
Definition WoodlandMansionPieces.h:250
static MCAPI void ** $vftable()
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)
MCAPI void _setupThirdFloor()
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)
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:227
MCAPI void set(int x0, int y0, int x1, int y1, int value)
Definition WoodlandMansionPieces.h:501
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