LeviLamina
Loading...
Searching...
No Matches
StrongholdPiece.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/StructurePiece.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockSource;
11class BoundingBox;
12class Random;
13class SHStartPiece;
14// clang-format on
15
17public:
18 // StrongholdPiece inner types define
19 enum class SmallDoorType : int {
20 Opening = 0,
21 WoodDoor = 1,
22 Grates = 2,
23 IronDoor = 3,
24 };
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, ::StrongholdPiece::SmallDoorType> entryDoor;
30 // NOLINTEND
31
32public:
33 // member functions
34 // NOLINTBEGIN
35 MCAPI ::std::unique_ptr<::StructurePiece> findAndCreatePieceFactory(
36 ::std::string const& pieceClass,
37 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
38 ::Random& random,
39 int footX,
40 int footY,
41 int footZ,
42 int direction,
43 int depth
44 );
45
46 MCAPI ::StructurePiece* generateAndAddPiece(
47 ::SHStartPiece& startPiece,
48 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
49 ::Random& random,
50 int footX,
51 int footY,
52 int footZ,
53 int direction,
54 int depth
55 );
56
57 MCAPI ::std::unique_ptr<::StructurePiece> generatePieceFromSmallDoor(
58 ::SHStartPiece& startPiece,
59 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
60 ::Random const& randomRef,
61 int footX,
62 int footY,
63 int footZ,
64 int direction,
65 int depth
66 );
67
68 MCAPI void generateSmallDoor(
69 ::BlockSource& region,
70 ::Random& chunkBB,
71 ::BoundingBox const& doorType,
72 ::StrongholdPiece::SmallDoorType footX,
73 int footY,
74 int footZ,
75 int
76 );
77
78 MCAPI ::StructurePiece* generateSmallDoorChildForward(
79 ::SHStartPiece& startPiece,
80 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
81 ::Random& random,
82 int xOff,
83 int yOff
84 );
85
86 MCAPI ::StructurePiece* generateSmallDoorChildRight(
87 ::SHStartPiece& startPiece,
88 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
89 ::Random& random,
90 int yOff,
91 int zOff
92 );
93 // NOLINTEND
94
95public:
96 // static functions
97 // NOLINTBEGIN
98 MCAPI static void forceAddPortalRoom(
99 ::StructurePiece& startPiece,
100 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
101 ::Random&
102 );
103 // NOLINTEND
104};
Definition BlockSource.h:73
Definition BoundingBox.h:13
Definition Random.h:10
Definition SHStartPiece.h:16
Definition StrongholdPiece.h:16
Definition StructurePiece.h:21