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 BlockSource;
16class BoundingBox;
17class Random;
19class StructurePiece;
22// clang-format on
23
25public:
26 // OceanRuinPieces inner types declare
27 // clang-format off
28 class OceanRuinPiece;
29 // clang-format on
30
31 // OceanRuinPieces inner types define
32 class OceanRuinPiece : public ::TemplateStructurePiece {
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
37 ::ll::TypedStorage<8, 32, ::std::string> mTemplateName;
38 ::ll::TypedStorage<4, 4, ::OceanTempCategory> mBiomeType;
39 ::ll::TypedStorage<4, 4, float> mIntegrity;
40 ::ll::TypedStorage<1, 1, bool> mIsLarge;
41 ::ll::TypedStorage<1, 1, ::Rotation> mRotation;
42 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
43 ::ll::TypedStorage<
44 8,
45 8,
46 ::std::unique_ptr<::std::vector<
47 ::std::unique_ptr<::StructurePoolBlockRule, ::std::default_delete<::StructurePoolBlockRule>>>>>
48 mPlaceArchySuspiciousBlocks;
49 // NOLINTEND
50
51 public:
52 // prevent constructor by default
53 OceanRuinPiece();
54
55 public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual ::StructurePieceType getType() const /*override*/;
59
60 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
61
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 // NOLINTEND
70
71 public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI OceanRuinPiece(
75 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
76 ::std::string templateName,
77 ::BlockPos const& origin,
78 ::Rotation rotation,
79 float integrity,
80 bool isLarge,
81 ::OceanTempCategory type
82 );
83 // NOLINTEND
84
85 public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(
89 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
90 ::std::string templateName,
91 ::BlockPos const& origin,
92 ::Rotation rotation,
93 float integrity,
94 bool isLarge,
95 ::OceanTempCategory type
96 );
97 // NOLINTEND
98
99 public:
100 // virtual function thunks
101 // NOLINTBEGIN
102 MCAPI ::StructurePieceType $getType() const;
103
104 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
105
106 MCAPI void $_handleDataMarker(
107 ::std::string const& markerId,
108 ::BlockPos const& position,
109 ::BlockSource& region,
110 ::Random& random,
111 ::BoundingBox const& chunkBB
112 );
113
114
115 // NOLINTEND
116 };
117
118public:
119 // static functions
120 // NOLINTBEGIN
121 MCAPI static void _addPiece(
122 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
123 ::BlockPos const& position,
124 ::Rotation const& rotation,
125 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
126 ::Random& random,
127 ::OceanRuinConfiguration const& configuration,
128 bool const isLarge,
129 float const baseIntegrity
130 );
131 // NOLINTEND
132
133public:
134 // static variables
135 // NOLINTBEGIN
136 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[4]> bigRuinsBrick();
137
138 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[4]> bigRuinsCracked();
139
140 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[4]> bigRuinsMossy();
141
142 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[4]> bigWarmRuins();
143
144 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[9]> ruinsBrick();
145
146 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[9]> ruinsCracked();
147
148 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[9]> ruinsMossy();
149
150 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[8]> warmRuins();
151 // NOLINTEND
152};
Definition BlockPos.h:21
Definition BlockSource.h:71
Definition BoundingBox.h:13
Definition OceanRuinPieces.h:32
Definition OceanRuinPieces.h:24
Definition Random.h:10
Definition StructureManager.h:37
Definition StructurePiece.h:18
Definition StructurePoolBlockRule.h:11
Definition OceanRuinConfiguration.h:8