LeviLamina
Loading...
Searching...
No Matches
OceanRuinPieces.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/util/Rotation.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/biome/OceanTempCategory.h"
10#include "mc/world/level/levelgen/structure/StructurePieceType.h"
11#include "mc/world/level/levelgen/structure/TemplateStructurePiece.h"
12
13// auto generated forward declare list
14// clang-format off
15class Block;
16class BlockSource;
17class BoundingBox;
18class Random;
20class StructurePiece;
23// clang-format on
24
26public:
27 // OceanRuinPieces inner types declare
28 // clang-format off
29 class OceanRuinPiece;
30 // clang-format on
31
32 // OceanRuinPieces inner types define
33 class OceanRuinPiece : public ::TemplateStructurePiece {
34 public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
38 ::ll::TypedStorage<8, 32, ::std::string> mTemplateName;
39 ::ll::TypedStorage<4, 4, ::OceanTempCategory> mBiomeType;
40 ::ll::TypedStorage<4, 4, float> mIntegrity;
41 ::ll::TypedStorage<1, 1, bool> mIsLarge;
42 ::ll::TypedStorage<1, 1, ::Rotation> mRotation;
43 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
44 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>>>
45 mPlaceArchySuspiciousBlocks;
46 // NOLINTEND
47
48 public:
49 // prevent constructor by default
50 OceanRuinPiece();
51
52 public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ::StructurePieceType getType() const /*override*/;
56
57 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
58
59 virtual void _handleDataMarker(
60 ::std::string const& markerId,
61 ::BlockPos const& position,
62 ::BlockSource& region,
63 ::Random& random,
64 ::BoundingBox const& chunkBB
65 ) /*override*/;
66
67 virtual ~OceanRuinPiece() /*override*/;
68 // NOLINTEND
69
70 public:
71 // member functions
72 // NOLINTBEGIN
73 MCAPI OceanRuinPiece(
74 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
75 ::std::string templateName,
76 ::BlockPos const& origin,
77 ::Rotation rotation,
78 float integrity,
79 bool isLarge,
80 ::OceanTempCategory type
81 );
82
83 MCAPI int _getHeight(::BlockPos& pos, ::BlockSource& region, ::BlockPos const& corner);
84
85 MCAPI ::Block const* getChestReplacer(::OceanTempCategory type, ::std::string const& location);
86 // NOLINTEND
87
88 public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCAPI void* $ctor(
92 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
93 ::std::string templateName,
94 ::BlockPos const& origin,
95 ::Rotation rotation,
96 float integrity,
97 bool isLarge,
98 ::OceanTempCategory type
99 );
100 // NOLINTEND
101
102 public:
103 // destructor thunk
104 // NOLINTBEGIN
105 MCAPI void $dtor();
106 // NOLINTEND
107
108 public:
109 // virtual function thunks
110 // NOLINTBEGIN
111 MCAPI ::StructurePieceType $getType() const;
112
113 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
114
115 MCAPI void $_handleDataMarker(
116 ::std::string const& markerId,
117 ::BlockPos const& position,
118 ::BlockSource& region,
119 ::Random& random,
120 ::BoundingBox const& chunkBB
121 );
122
123
124 // NOLINTEND
125
126 public:
127 // vftables
128 // NOLINTBEGIN
129 MCNAPI static void** $vftable();
130 // NOLINTEND
131 };
132
133public:
134 // static functions
135 // NOLINTBEGIN
136 MCAPI static void _addClusterRuins(
137 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
138 ::Random& random,
139 ::Rotation const& rotation,
140 ::BlockPos const& parentPos,
141 ::OceanRuinConfiguration const& configuration,
142 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces
143 );
144
145 MCAPI static void _addPiece(
146 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
147 ::BlockPos const& position,
148 ::Rotation const& rotation,
149 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
150 ::Random& random,
151 ::OceanRuinConfiguration const& configuration,
152 bool isLarge,
153 float baseIntegrity
154 );
155
156 MCAPI static ::std::vector<::BlockPos> _allPositions(::Random& random, int cornerX, int cornerY, int cornerZ);
157
158 MCAPI static void addPieces(
159 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
160 ::BlockPos const& position,
161 ::Rotation const& rotation,
162 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
163 ::Random& random,
164 ::OceanRuinConfiguration const& configuration
165 );
166 // NOLINTEND
167
168public:
169 // static variables
170 // NOLINTBEGIN
171 MCAPI static ::std::string_view& BIG_RUIN_LOOT();
172
173 MCAPI static ::std::string_view& RUIN_LOOT();
174
175 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN1_BRICK();
176
177 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN8_BRICK();
178
179 MCAPI static ::std::string_view& STRUCTURE_RUIN_2_BRICK();
180
181 MCAPI static ::std::string_view& STRUCTURE_RUIN_3_BRICK();
182
183 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsBrick();
184
185 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsCracked();
186
187 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsMossy();
188
189 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigWarmRuins();
190
191 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsBrick();
192
193 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsCracked();
194
195 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsMossy();
196
197 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> warmRuins();
198 // NOLINTEND
199};
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition BoundingBox.h:13
Definition OceanRuinPieces.h:33
static MCAPI void ** $vftable()
Definition OceanRuinPieces.h:25
Definition Random.h:10
Definition StructureManager.h:45
Definition StructurePiece.h:18
Definition StructurePoolBlockRule.h:13
Definition TemplateStructurePiece.h:18
Definition OceanRuinConfiguration.h:8