42 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
43 ::ll::TypedStorage<8, 32, ::std::string> mTemplateName;
44 ::ll::TypedStorage<1, 1, ::Rotation> mRotation;
45 ::ll::TypedStorage<1, 1, ::Mirror> mMirror;
46 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
47 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mVindicatorPositions;
48 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mEvokerPositions;
49 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mAllayGroupPositions;
60 virtual ::StructurePieceType getType()
const ;
67 virtual void _handleDataMarker(
68 ::std::string
const& markerId,
83 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
84 ::std::string
const& templateName,
90 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
91 ::std::string
const& templateName,
98 ::std::string
const& markerId,
105 MCAPI
void _loadTemplate();
112 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
113 ::std::string
const& templateName,
119 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
120 ::std::string
const& templateName,
136 MCAPI ::StructurePieceType $getType()
const;
140 MCAPI
void $_handleDataMarker(
141 ::std::string
const& markerId,
160 ::ll::TypedStorage<1, 1, ::Rotation> mRotation;
161 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
162 ::ll::TypedStorage<8, 32, ::std::string> mWallType;
182 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::WoodlandMansionPieces::SimpleGrid>> mBaseGrid;
183 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::WoodlandMansionPieces::SimpleGrid>> mThirdFloorGrid;
184 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::WoodlandMansionPieces::SimpleGrid>>> mFloorRooms;
185 ::ll::TypedStorage<4, 4, int> mEntranceX;
186 ::ll::TypedStorage<4, 4, int> mEntranceY;
187 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
209 MCAPI
void _setupThirdFloor();
211 MCAPI uchar get1x2RoomDirection(
223 MCAPI
void* $ctor(
::Random& random);
231 ::ll::TypedStorage<8, 24, ::std::vector<::std::vector<int>>> mGrid;
232 ::ll::TypedStorage<4, 4, int> mWidth;
233 ::ll::TypedStorage<4, 4, int> mHeight;
234 ::ll::TypedStorage<4, 4, int> mValueIfOutside;
240 MCAPI
void set(
int x0,
int y0,
int x1,
int y1,
int value);
252 virtual ::std::string get1x1(
::Random&) = 0;
255 virtual ::std::string get1x1Secret(
::Random&) = 0;
258 virtual ::std::string get1x2SideEntrance(
::Random&,
bool) = 0;
261 virtual ::std::string get1x2FrontEntrance(
::Random&,
bool) = 0;
264 virtual ::std::string get1x2Secret(
::Random&) = 0;
267 virtual ::std::string get2x2(
::Random&) = 0;
270 virtual ::std::string get2x2Secret(
::Random&) = 0;
290 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
291 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
292 ::ll::TypedStorage<4, 4, int> mStartX;
293 ::ll::TypedStorage<4, 4, int> mStartY;
305 MCAPI
void _addRoom1x1(
306 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
313 MCAPI
void _addRoom1x2(
314 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
323 MCAPI
void _addRoom2x2(
324 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
332 MCAPI
void _addRoom2x2Secret(
333 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
339 MCAPI
void _createRoof(
340 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
347 MCAPI
void _entrance(
348 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
352 MCAPI
void _traverseInnerTurn(
353 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
357 MCAPI
void _traverseOuterWalls(
358 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
368 MCAPI
void _traverseTurn(
369 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
373 MCAPI
void _traverseWallPiece(
374 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
378 MCAPI
void createMansion(
381 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
395 virtual ::std::string get1x1(
::Random& random) ;
398 virtual ::std::string get1x1Secret(
::Random& random) ;
401 virtual ::std::string get1x2SideEntrance(
::Random& random,
bool isStairsRoom) ;
404 virtual ::std::string get1x2FrontEntrance(
::Random& random,
bool isStairsRoom) ;
407 virtual ::std::string get1x2Secret(
::Random& random) ;
410 virtual ::std::string get2x2(
::Random& random) ;
413 virtual ::std::string get2x2Secret(
::Random& random) ;
419 MCAPI ::std::string $get1x1(
::Random& random);
421 MCFOLD ::std::string $get1x1Secret(
::Random& random);
423 MCAPI ::std::string $get1x2SideEntrance(
::Random& random,
bool isStairsRoom);
425 MCAPI ::std::string $get1x2FrontEntrance(
::Random& random,
bool isStairsRoom);
427 MCAPI ::std::string $get1x2Secret(
::Random& random);
429 MCAPI ::std::string $get2x2(
::Random& random);
431 MCFOLD ::std::string $get2x2Secret(
::Random& random);
449 virtual ::std::string get1x1(
::Random& random) ;
452 virtual ::std::string get1x1Secret(
::Random& random) ;
455 virtual ::std::string get1x2SideEntrance(
::Random& random,
bool isStairsRoom) ;
458 virtual ::std::string get1x2FrontEntrance(
::Random& random,
bool isStairsRoom) ;
461 virtual ::std::string get1x2Secret(
::Random& random) ;
464 virtual ::std::string get2x2(
::Random& random) ;
467 virtual ::std::string get2x2Secret(
::Random& random) ;
473 MCAPI ::std::string $get1x1(
::Random& random);
475 MCFOLD ::std::string $get1x1Secret(
::Random& random);
477 MCAPI ::std::string $get1x2SideEntrance(
::Random& random,
bool isStairsRoom);
479 MCAPI ::std::string $get1x2FrontEntrance(
::Random& random,
bool isStairsRoom);
481 MCAPI ::std::string $get1x2Secret(
::Random& random);
483 MCAPI ::std::string $get2x2(
::Random& random);
485 MCFOLD ::std::string $get2x2Secret(
::Random& random);