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
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
51
52 public:
53 // virtual functions
54 // NOLINTBEGIN
55 // vIndex: 2
56 virtual ::StructurePieceType getType() const /*override*/;
57
58 // vIndex: 4
59 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
60
61 // vIndex: 13
62 virtual void _handleDataMarker(
63 ::std::string const& markerId,
64 ::BlockPos const& position,
65 ::BlockSource& region,
66 ::Random& random,
67 ::BoundingBox const& chunkBB
68 ) /*override*/;
69
70 // vIndex: 0
71 virtual ~OceanRuinPiece() /*override*/;
72 // NOLINTEND
73
74 public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI OceanRuinPiece(
78 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
79 ::std::string templateName,
80 ::BlockPos const& origin,
81 ::Rotation rotation,
82 float integrity,
83 bool isLarge,
84 ::OceanTempCategory type
85 );
86
87 MCAPI int _getHeight(::BlockPos& pos, ::BlockSource& region, ::BlockPos const& corner);
88
89 MCAPI ::Block const* getChestReplacer(::OceanTempCategory type, ::std::string const& location);
90 // NOLINTEND
91
92 public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCAPI void* $ctor(
96 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
97 ::std::string templateName,
98 ::BlockPos const& origin,
99 ::Rotation rotation,
100 float integrity,
101 bool isLarge,
102 ::OceanTempCategory type
103 );
104 // NOLINTEND
105
106 public:
107 // destructor thunk
108 // NOLINTBEGIN
109 MCAPI void $dtor();
110 // NOLINTEND
111
112 public:
113 // virtual function thunks
114 // NOLINTBEGIN
115 MCAPI ::StructurePieceType $getType() const;
116
117 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
118
119 MCAPI void $_handleDataMarker(
120 ::std::string const& markerId,
121 ::BlockPos const& position,
122 ::BlockSource& region,
123 ::Random& random,
124 ::BoundingBox const& chunkBB
125 );
126 // NOLINTEND
127
128 public:
129 // vftables
130 // NOLINTBEGIN
131 MCNAPI static void** $vftable();
132 // NOLINTEND
133 };
134
135public:
136 // static functions
137 // NOLINTBEGIN
138 MCAPI static void _addClusterRuins(
139 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
140 ::Random& random,
141 ::Rotation const& rotation,
142 ::BlockPos const& parentPos,
143 ::OceanRuinConfiguration const& configuration,
144 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces
145 );
146
147 MCAPI static void _addPiece(
148 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
149 ::BlockPos const& position,
150 ::Rotation const& rotation,
151 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
152 ::Random& random,
153 ::OceanRuinConfiguration const& configuration,
154 bool isLarge,
155 float baseIntegrity
156 );
157
158 MCAPI static ::std::vector<::BlockPos> _allPositions(::Random& random, int cornerX, int cornerY, int cornerZ);
159
160 MCAPI static void addPieces(
161 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
162 ::BlockPos const& position,
163 ::Rotation const& rotation,
164 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
165 ::Random& random,
166 ::OceanRuinConfiguration const& configuration
167 );
168 // NOLINTEND
169
170public:
171 // static variables
172 // NOLINTBEGIN
173 MCAPI static ::std::string_view& BIG_RUIN_LOOT();
174
175 MCAPI static ::std::string_view& RUIN_LOOT();
176
177 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN1_BRICK();
178
179 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN8_BRICK();
180
181 MCAPI static ::std::string_view& STRUCTURE_RUIN_2_BRICK();
182
183 MCAPI static ::std::string_view& STRUCTURE_RUIN_3_BRICK();
184
185 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsBrick();
186
187 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsCracked();
188
189 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsMossy();
190
191 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigWarmRuins();
192
193 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsBrick();
194
195 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsCracked();
196
197 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsMossy();
198
199 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> warmRuins();
200 // NOLINTEND
201};
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition Block.h:37
Definition BoundingBox.h:13
Definition OceanRuinPieces.h:33
static MCAPI void ** $vftable()
Definition OceanRuinPieces.h:25
Definition Random.h:10
Definition StructureManager.h:43
Definition StructurePiece.h:18
Definition StructurePoolBlockRule.h:13
Definition TemplateStructurePiece.h:18
Definition OceanRuinConfiguration.h:8