LeviLamina
Loading...
Searching...
No Matches
StrongholdFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/threading/Mutex.h"
7#include "mc/world/level/ChunkPos.h"
8#include "mc/world/level/levelgen/structure/StructureFeature.h"
9
10// auto generated forward declare list
11// clang-format off
12class BiomeSource;
13class BlockPos;
14class Dimension;
15class HashedString;
17class Random;
18class StructureStart;
19class VillageFeature;
20// clang-format on
21
22class StrongholdFeature : public ::StructureFeature {
23public:
24 // StrongholdFeature inner types declare
25 // clang-format off
26 struct StrongholdResult;
27 // clang-format on
28
29 // StrongholdFeature inner types define
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<1, 1, bool> success;
35 ::ll::TypedStorage<8, 8, ::ChunkPos> location;
36 // NOLINTEND
37 };
38
39public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<1, 1, bool> mIsSpotSelected;
43 ::ll::TypedStorage<8, 24, ::std::vector<::ChunkPos>> mSelectedChunks;
44 ::ll::TypedStorage<8, 8, ::VillageFeature*> mVillages;
45 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mPositionMutex;
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 StrongholdFeature();
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual bool isFeatureChunk(
56 ::BiomeSource const& biomeSource,
57 ::Random& random,
58 ::ChunkPos const& pos,
59 uint levelSeed,
60 ::IPreliminarySurfaceProvider const& preliminarySurfaceLevel,
61 ::Dimension const& dimension
62 ) /*override*/;
63
64 virtual bool getNearestGeneratedFeature(
65 ::Dimension& dimension,
66 ::BiomeSource const& biomeSource,
67 ::BlockPos const& origin,
68 ::BlockPos& pos,
69 ::IPreliminarySurfaceProvider const& preliminarySurfaceLevel,
70 bool mustBeInNewChunks,
71 ::std::optional<::HashedString> const& biomeTag
72 ) /*override*/;
73
74 virtual ::std::unique_ptr<::StructureStart> createStructureStart(
75 ::Dimension& generator,
76 ::BiomeSource const& random,
77 ::Random& cp,
78 ::ChunkPos const&,
80 ) /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI StrongholdFeature(::VillageFeature* villages, uint seed);
87
88 MCAPI ::StrongholdFeature::StrongholdResult const _generateStronghold(uint levelSeed, ::ChunkPos const& cp);
89
90 MCAPI bool _getNearestStronghold(
91 ::Dimension const& dimension,
92 uint levelSeed,
93 ::BlockPos const& origin,
94 ::BlockPos& pos,
95 bool mustBeInNewChunks
96 );
97
98 MCAPI void generatePositions(
99 ::Random& random,
100 ::BiomeSource const& biomeSource,
101 uint levelSeed,
102 ::IPreliminarySurfaceProvider const& preliminarySurfaceLevel,
103 ::Dimension const& dimension
104 );
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(::VillageFeature* villages, uint seed);
111 // NOLINTEND
112
113public:
114 // virtual function thunks
115 // NOLINTBEGIN
116 MCAPI bool $isFeatureChunk(
117 ::BiomeSource const& biomeSource,
118 ::Random& random,
119 ::ChunkPos const& pos,
120 uint levelSeed,
121 ::IPreliminarySurfaceProvider const& preliminarySurfaceLevel,
122 ::Dimension const& dimension
123 );
124
125 MCAPI bool $getNearestGeneratedFeature(
126 ::Dimension& dimension,
127 ::BiomeSource const& biomeSource,
128 ::BlockPos const& origin,
129 ::BlockPos& pos,
130 ::IPreliminarySurfaceProvider const& preliminarySurfaceLevel,
131 bool mustBeInNewChunks,
132 ::std::optional<::HashedString> const& biomeTag
133 );
134
135 MCAPI ::std::unique_ptr<::StructureStart> $createStructureStart(
136 ::Dimension& generator,
137 ::BiomeSource const& random,
138 ::Random& cp,
139 ::ChunkPos const&,
141 );
142
143
144 // NOLINTEND
145
146public:
147 // vftables
148 // NOLINTBEGIN
149 MCAPI static void** $vftable();
150 // NOLINTEND
151};
Definition BiomeSource.h:24
Definition BlockPos.h:21
Definition ChunkPos.h:11
Definition Dimension.h:88
Definition HashedString.h:5
Definition IPreliminarySurfaceProvider.h:8
Definition Random.h:10
static MCAPI void ** $vftable()
Definition StructureStart.h:15
Definition VillageFeature.h:27
Definition StrongholdFeature.h:30