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;
20// clang-format on
21
23public:
24 // PillagerOutpostPieces inner types declare
25 // clang-format off
27 // clang-format on
28
29 // PillagerOutpostPieces inner types define
30 class PillagerOutpostPiece : public ::TemplateStructurePiece {
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mPillagerPositions;
35 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mAllayGroupPositions;
36 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mCaptainPositions;
37 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mIronGolemPositions;
38 ::ll::TypedStorage<8, 32, ::std::string> mTemplateName;
39 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
40 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
41 ::ll::TypedStorage<4, 4, float> mIntegrity;
42 ::ll::TypedStorage<1, 1, ::Rotation> mRotation;
43 ::ll::TypedStorage<1, 1, bool> mIsSatellite;
44 ::ll::TypedStorage<1, 1, bool> mHeightSet;
45 ::ll::TypedStorage<4, 4, int> mMaxNumberOfAllays;
46 // NOLINTEND
47
48 public:
49 // prevent constructor by default
50 PillagerOutpostPiece();
51
52 public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
56
57 virtual void
58 postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
59
60 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*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 PillagerOutpostPiece(
75 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
76 ::std::string templateName,
77 ::BlockPos const& origin,
78 ::Rotation rotation,
79 float integrity,
80 bool isSatellite,
81 ::Dimension& dimension
82 );
83 // NOLINTEND
84
85 public:
86 // static functions
87 // NOLINTBEGIN
88 MCAPI static void _addMobsFromPositions(
89 ::BoundingBox const& chunkBB,
90 ::ActorDefinitionIdentifier const& definition,
91 ::BlockSource& region,
92 ::std::vector<::BlockPos> const& entityPositions
93 );
94 // NOLINTEND
95
96 public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCAPI void* $ctor(
100 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
101 ::std::string templateName,
102 ::BlockPos const& origin,
103 ::Rotation rotation,
104 float integrity,
105 bool isSatellite,
106 ::Dimension& dimension
107 );
108 // NOLINTEND
109
110 public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
114
115 MCAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
116
117 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
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
127
128 // NOLINTEND
129 };
130
131public:
132 // static variables
133 // NOLINTBEGIN
134 MCAPI static ::std::array<::std::string_view, 7>& MSC_FEATURES();
135 // NOLINTEND
136};
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition BoundingBox.h:13
Definition Dimension.h:86
Definition LevelChunk.h:75
Definition PillagerOutpostPieces.h:30
Definition PillagerOutpostPieces.h:22
Definition Random.h:10
Definition StructureManager.h:37
Definition ActorDefinitionIdentifier.h:15