LeviLamina
Loading...
Searching...
No Matches
NetherFortressPiece.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 Block;
11class BlockSource;
12class BoundingBox;
13class LevelChunk;
14class NBStartPiece;
15class PieceWeight;
16class Random;
17// clang-format on
18
20public:
21 // NetherFortressPiece inner types declare
22 // clang-format off
23 struct LocalRegistry;
24 // clang-format on
25
26 // NetherFortressPiece inner types define
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::Block const&> mGlowstone;
32 ::ll::TypedStorage<8, 8, ::Block const&> mNetherBrick;
33 ::ll::TypedStorage<8, 8, ::Block const&> mNetherBrickFence;
34 ::ll::TypedStorage<8, 8, ::Block const&> mNetherWart;
35 ::ll::TypedStorage<8, 8, ::Block const&> mSoulSand;
36 ::ll::TypedStorage<8, 8, ::Block const&> mAirBlock;
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 LocalRegistry& operator=(LocalRegistry const&);
44 };
45
46public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 48, ::NetherFortressPiece::LocalRegistry const> mLocalRegistry;
50 // NOLINTEND
51
52public:
53 // prevent constructor by default
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 // vIndex: 12
60 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*override*/;
61
62 // vIndex: 4
63 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
64
65 // vIndex: 0
66 virtual ~NetherFortressPiece() /*override*/;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI explicit NetherFortressPiece(int genDepth);
73
74 MCAPI ::std::unique_ptr<::NetherFortressPiece> findAndCreateBridgePieceFactory(
75 ::std::string const& pieceClass,
76 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
77 ::Random& random,
78 int footX,
79 int footY,
80 int footZ,
81 int direction,
82 int depth
83 );
84
85 MCAPI ::StructurePiece* generateAndAddPiece(
86 ::NBStartPiece& startPiece,
87 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
88 ::Random& random,
89 int footX,
90 int footY,
91 int footZ,
92 int direction,
93 int depth,
94 bool isCastle
95 );
96
97 MCAPI ::StructurePiece* generateChildForward(
98 ::NBStartPiece& startPiece,
99 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
100 ::Random& random,
101 int xOff,
102 int yOff,
103 bool isCastle
104 );
105
106 MCAPI ::StructurePiece* generateChildLeft(
107 ::NBStartPiece& startPiece,
108 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
109 ::Random& random,
110 int yOff,
111 int zOff,
112 bool isCastle
113 );
114
115 MCAPI ::StructurePiece* generateChildRight(
116 ::NBStartPiece& startPiece,
117 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
118 ::Random& random,
119 int yOff,
120 int zOff,
121 bool isCastle
122 );
123
124 MCAPI ::std::unique_ptr<::NetherFortressPiece> generatePiece(
125 ::NBStartPiece& startPiece,
126 ::std::vector<::PieceWeight>& currentPieces,
127 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
128 ::Random& random,
129 int footX,
130 int footY,
131 int footZ,
132 int direction,
133 int depth
134 );
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCAPI void* $ctor(int genDepth);
141 // NOLINTEND
142
143public:
144 // destructor thunk
145 // NOLINTBEGIN
146 MCFOLD void $dtor();
147 // NOLINTEND
148
149public:
150 // virtual function thunks
151 // NOLINTBEGIN
152 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
153
154 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
155 // NOLINTEND
156
157public:
158 // vftables
159 // NOLINTBEGIN
160 MCNAPI static void** $vftable();
161 // NOLINTEND
162};
Definition BlockSource.h:66
Definition Block.h:37
Definition BoundingBox.h:13
Definition LevelChunk.h:77
Definition NBStartPiece.h:16
Definition NetherFortressPiece.h:19
static MCAPI void ** $vftable()
Definition PieceWeight.h:5
Definition Random.h:10
Definition StructurePiece.h:18
Definition NetherFortressPiece.h:27