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
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
52
53 public:
54 // virtual functions
55 // NOLINTBEGIN
56 // vIndex: 4
57 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
58
59 // vIndex: 5
60 virtual void
61 postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
62
63 // vIndex: 12
64 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*override*/;
65
66 // vIndex: 13
67 virtual void _handleDataMarker(
68 ::std::string const& markerId,
69 ::BlockPos const& position,
70 ::BlockSource& region,
71 ::Random& random,
72 ::BoundingBox const& chunkBB
73 ) /*override*/;
74
75 // vIndex: 0
76 virtual ~PillagerOutpostPiece() /*override*/;
77 // NOLINTEND
78
79 public:
80 // member functions
81 // NOLINTBEGIN
83 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
84 ::std::string templateName,
85 ::BlockPos const& origin,
86 ::Rotation rotation,
87 float integrity,
88 bool isSatellite,
89 ::Dimension& dimension
90 );
91
92 MCAPI void _addMobsFromPositions(
93 ::BoundingBox const& chunkBB,
94 ::ActorDefinitionIdentifier const& definition,
95 ::BlockSource& region,
96 ::std::vector<::BlockPos> const& entityPositions
97 );
98 // NOLINTEND
99
100 public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCAPI void* $ctor(
104 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
105 ::std::string templateName,
106 ::BlockPos const& origin,
107 ::Rotation rotation,
108 float integrity,
109 bool isSatellite,
110 ::Dimension& dimension
111 );
112 // NOLINTEND
113
114 public:
115 // destructor thunk
116 // NOLINTBEGIN
117 MCAPI void $dtor();
118 // NOLINTEND
119
120 public:
121 // virtual function thunks
122 // NOLINTBEGIN
123 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
124
125 MCAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
126
127 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
128
129 MCAPI void $_handleDataMarker(
130 ::std::string const& markerId,
131 ::BlockPos const& position,
132 ::BlockSource& region,
133 ::Random& random,
134 ::BoundingBox const& chunkBB
135 );
136 // NOLINTEND
137
138 public:
139 // vftables
140 // NOLINTBEGIN
141 MCNAPI static void** $vftable();
142 // NOLINTEND
143 };
144
145public:
146 // static functions
147 // NOLINTBEGIN
148 MCAPI static void _addPiece(
149 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
150 ::BlockPos const& position,
151 ::Rotation const& rotation,
152 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
153 ::Random& random,
154 ::Dimension& dimension
155 );
156
157 MCAPI static void _addScatteredPieces(
158 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
159 ::Random& random,
160 ::Rotation const& rotation,
161 ::BlockPos const& parentPos,
162 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
163 ::Dimension& dimension
164 );
165 // NOLINTEND
166
167public:
168 // static variables
169 // NOLINTBEGIN
170 MCAPI static ::std::array<::std::string_view, 7>& MSC_FEATURES();
171
172 MCAPI static ::std::string_view& PILLAGER_LOOT();
173
174 MCAPI static ::std::string_view& STRUCTURE_WATCHTOWER();
175
176 MCAPI static ::std::string_view& STRUCTURE_WATCHTOWER_OVERGROWN();
177 // NOLINTEND
178};
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BoundingBox.h:13
Definition Dimension.h:83
Definition LevelChunk.h:77
Definition PillagerOutpostPieces.h:31
Definition PillagerOutpostPieces.h:23
Definition Random.h:10
Definition StructureManager.h:43
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition ActorDefinitionIdentifier.h:15