LeviLamina
Loading...
Searching...
No Matches
PillagerOutpostPieces.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/levelgen/structure/TemplateStructurePiece.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockSource;
14class BoundingBox;
15class Dimension;
16class LevelChunk;
17class Random;
19class StructurePiece;
21// clang-format on
22
24public:
25 // PillagerOutpostPieces inner types declare
26 // clang-format off
28 // clang-format on
29
30 // PillagerOutpostPieces inner types define
31 class PillagerOutpostPiece : public ::TemplateStructurePiece {
32 public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mPillagerPositions;
36 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mAllayGroupPositions;
37 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mCaptainPositions;
38 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mIronGolemPositions;
39 ::ll::TypedStorage<8, 32, ::std::string> mTemplateName;
40 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
41 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
42 ::ll::TypedStorage<4, 4, float> mIntegrity;
43 ::ll::TypedStorage<1, 1, ::Rotation> mRotation;
44 ::ll::TypedStorage<1, 1, bool> mIsSatellite;
45 ::ll::TypedStorage<1, 1, bool> mHeightSet;
46 ::ll::TypedStorage<4, 4, int> mMaxNumberOfAllays;
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
51 PillagerOutpostPiece();
52
53 public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
57
58 virtual void
59 postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
60
61 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*override*/;
62
63 virtual void _handleDataMarker(
64 ::std::string const& markerId,
65 ::BlockPos const& position,
66 ::BlockSource& region,
67 ::Random& random,
68 ::BoundingBox const& chunkBB
69 ) /*override*/;
70
71 virtual ~PillagerOutpostPiece() /*override*/;
72 // NOLINTEND
73
74 public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI PillagerOutpostPiece(
78 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
79 ::std::string templateName,
80 ::BlockPos const& origin,
81 ::Rotation rotation,
82 float integrity,
83 bool isSatellite,
84 ::Dimension& dimension
85 );
86
87 MCAPI void _addMobsFromPositions(
88 ::BoundingBox const& chunkBB,
89 ::ActorDefinitionIdentifier const& definition,
90 ::BlockSource& region,
91 ::std::vector<::BlockPos> const& entityPositions
92 );
93 // NOLINTEND
94
95 public:
96 // constructor thunks
97 // NOLINTBEGIN
98 MCAPI void* $ctor(
99 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
100 ::std::string templateName,
101 ::BlockPos const& origin,
102 ::Rotation rotation,
103 float integrity,
104 bool isSatellite,
105 ::Dimension& dimension
106 );
107 // NOLINTEND
108
109 public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCAPI void $dtor();
113 // NOLINTEND
114
115 public:
116 // virtual function thunks
117 // NOLINTBEGIN
118 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
119
120 MCAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
121
122 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
123
124 MCAPI void $_handleDataMarker(
125 ::std::string const& markerId,
126 ::BlockPos const& position,
127 ::BlockSource& region,
128 ::Random& random,
129 ::BoundingBox const& chunkBB
130 );
131
132
133 // NOLINTEND
134
135 public:
136 // vftables
137 // NOLINTBEGIN
138 MCNAPI static void** $vftable();
139 // NOLINTEND
140 };
141
142public:
143 // static functions
144 // NOLINTBEGIN
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 ::Dimension& dimension
152 );
153
154 MCAPI static void _addScatteredPieces(
155 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
156 ::Random& random,
157 ::Rotation const& rotation,
158 ::BlockPos const& parentPos,
159 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
160 ::Dimension& dimension
161 );
162 // NOLINTEND
163
164public:
165 // static variables
166 // NOLINTBEGIN
167 MCAPI static ::std::array<::std::string_view, 7>& MSC_FEATURES();
168
169 MCAPI static ::std::string_view& PILLAGER_LOOT();
170
171 MCAPI static ::std::string_view& STRUCTURE_WATCHTOWER();
172
173 MCAPI static ::std::string_view& STRUCTURE_WATCHTOWER_OVERGROWN();
174 // NOLINTEND
175};
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BoundingBox.h:13
Definition Dimension.h:85
Definition LevelChunk.h:79
Definition PillagerOutpostPieces.h:31
Definition PillagerOutpostPieces.h:23
Definition Random.h:10
Definition StructureManager.h:45
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition ActorDefinitionIdentifier.h:15