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 Random;
16// clang-format on
17
18class NetherFortressPiece : public ::StructurePiece {
19public:
20 // NetherFortressPiece inner types declare
21 // clang-format off
22 struct LocalRegistry;
23 // clang-format on
24
25 // NetherFortressPiece inner types define
26 struct LocalRegistry {
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::Block const&> mGlowstone;
31 ::ll::TypedStorage<8, 8, ::Block const&> mNetherBrick;
32 ::ll::TypedStorage<8, 8, ::Block const&> mNetherBrickFence;
33 ::ll::TypedStorage<8, 8, ::Block const&> mNetherWart;
34 ::ll::TypedStorage<8, 8, ::Block const&> mSoulSand;
35 ::ll::TypedStorage<8, 8, ::Block const&> mAirBlock;
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 LocalRegistry& operator=(LocalRegistry const&);
41 LocalRegistry(LocalRegistry const&);
42 LocalRegistry();
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 48, ::NetherFortressPiece::LocalRegistry const> mLocalRegistry;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 NetherFortressPiece();
54
55public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*override*/;
59
60 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI explicit NetherFortressPiece(int genDepth);
67
68 MCAPI ::StructurePiece* generateChildForward(
69 ::NBStartPiece& startPiece,
70 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
71 ::Random& random,
72 int xOff,
73 int yOff,
74 bool isCastle
75 );
76
77 MCAPI ::StructurePiece* generateChildRight(
78 ::NBStartPiece& startPiece,
79 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
80 ::Random& random,
81 int yOff,
82 int zOff,
83 bool isCastle
84 );
85 // NOLINTEND
86
87public:
88 // static functions
89 // NOLINTBEGIN
90 MCAPI static ::StructurePiece* generateAndAddPiece(
91 ::NBStartPiece& startPiece,
92 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
93 ::Random& random,
94 int footX,
95 int footY,
96 int footZ,
97 int direction,
98 int depth,
99 bool isCastle
100 );
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCAPI void* $ctor(int genDepth);
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
113
114 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
115
116
117 // NOLINTEND
118};
Definition BlockSource.h:71
Definition Block.h:41
Definition BoundingBox.h:13
Definition LevelChunk.h:77
Definition NBStartPiece.h:15
Definition Random.h:10
Definition StructurePiece.h:18
Definition NetherFortressPiece.h:26