LeviLamina
Loading...
Searching...
No Matches
ReplacementBiomeSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/flat_set.h"
7#include "mc/world/level/biome/source/BiomeSource.h"
8#include "mc/world/level/biome/source/BiomeSourceType.h"
9#include "mc/world/level/levelgen/synth/SimplexNoise.h"
10
11// auto generated forward declare list
12// clang-format off
13class Biome;
14class BiomeArea;
15class BiomeSource3d;
16class BlockPos;
17class BoundingBox;
19class LevelChunk;
21struct BiomeHashType;
22struct BiomeIdType;
23struct BiomeReplacement;
24struct GetBiomeOptions;
25// clang-format on
26
28public:
29 // ReplacementBiomeSource inner types declare
30 // clang-format off
33 // clang-format on
34
35 // ReplacementBiomeSource inner types define
37 public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<4, 2060, ::SimplexNoise const> mNoise;
41 ::ll::TypedStorage<4, 4, float> mAmount;
42 ::ll::TypedStorage<4, 4, float> mNoiseFrequencyScale;
43 // NOLINTEND
44 };
45
47 public:
48 // member variables
49 // NOLINTBEGIN
50 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Biome const*>> mBiome;
51 ::ll::TypedStorage<8, 16, ::std::optional<uint64>> mNoiseIndex;
52 // NOLINTEND
53 };
54
55public:
56 // member variables
57 // NOLINTBEGIN
58 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeSource3d>> mWrappedBiomeSource;
59 ::ll::TypedStorage<
60 8,
61 64,
62 ::std::unordered_map<::BiomeIdType, ::std::vector<::ReplacementBiomeSource::BiomeReplacementIndex>>>
63 mVanillaBiomeToReplacementNoiseIndex;
64 ::ll::
65 TypedStorage<8, 40, ::brstd::flat_set<::BiomeIdType, ::std::less<::BiomeIdType>, ::std::vector<::BiomeIdType>>>
66 mFullyReplacedBiomeIds;
67 ::ll::TypedStorage<
68 8,
69 40,
71 mFullyReplacedBiomeNameHashes;
72 ::ll::TypedStorage<8, 24, ::std::vector<::ReplacementBiomeSource::BiomeReplacementNoise>> mNoiseEntries;
73 // NOLINTEND
74
75public:
76 // prevent constructor by default
78
79public:
80 // virtual functions
81 // NOLINTBEGIN
82 // vIndex: 1
83 virtual void fillBiomes(::LevelChunk& levelChunk, ::ChunkLocalNoiseCache const* chunkLocalNoiseCache) const
84 /*override*/;
85
86 // vIndex: 3
87 virtual ::BiomeArea getBiomeArea(::BoundingBox const& area, uint scale) const /*override*/;
88
89 // vIndex: 2
90 virtual ::BiomeArea
91 getBiomeArea(::BoundingBox const& area, uint scale, ::GetBiomeOptions const& getBiomeOptionsIn) const /*override*/;
92
93 // vIndex: 4
94 virtual bool containsOnly(int xo, int yo, int zo, int r, ::gsl::span<::BiomeIdType const> allowed) const
95 /*override*/;
96
97 // vIndex: 5
98 virtual bool hasBiomeById(::BiomeIdType id) const /*override*/;
99
100 // vIndex: 6
101 virtual bool hasBiomeByNameHash(::BiomeHashType hash) const /*override*/;
102
103 // vIndex: 7
104 virtual ::BiomeSourceType const getType() const /*override*/;
105
106 // vIndex: 8
107 virtual ::Biome const* _getBiome(::GetBiomeOptions const& getBiomeOptions) const /*override*/;
108
109 // vIndex: 0
110 virtual ~ReplacementBiomeSource() /*override*/;
111 // NOLINTEND
112
113public:
114 // member functions
115 // NOLINTBEGIN
117 ::XoroshiroPositionalRandomFactory const& random,
118 ::std::vector<::BiomeReplacement> const& biomeReplacements,
119 ::std::unique_ptr<::BiomeSource3d> wrappedBiomeSource
120 );
121
122 MCAPI bool fullyReplacesBiomeById(::BiomeIdType id) const;
123
124 MCAPI bool fullyReplacesBiomeByNameHash(::BiomeHashType hash) const;
125
126 MCAPI ::Biome const* tryReplace(::Biome const* targetBiome, ::BlockPos const& position) const;
127 // NOLINTEND
128
129public:
130 // constructor thunks
131 // NOLINTBEGIN
132 MCAPI void* $ctor(
133 ::XoroshiroPositionalRandomFactory const& random,
134 ::std::vector<::BiomeReplacement> const& biomeReplacements,
135 ::std::unique_ptr<::BiomeSource3d> wrappedBiomeSource
136 );
137 // NOLINTEND
138
139public:
140 // destructor thunk
141 // NOLINTBEGIN
142 MCAPI void $dtor();
143 // NOLINTEND
144
145public:
146 // virtual function thunks
147 // NOLINTBEGIN
148 MCAPI void $fillBiomes(::LevelChunk& levelChunk, ::ChunkLocalNoiseCache const* chunkLocalNoiseCache) const;
149
150 MCFOLD ::BiomeArea $getBiomeArea(::BoundingBox const& area, uint scale) const;
151
152 MCAPI ::BiomeArea
153 $getBiomeArea(::BoundingBox const& area, uint scale, ::GetBiomeOptions const& getBiomeOptionsIn) const;
154
155 MCAPI bool $containsOnly(int xo, int yo, int zo, int r, ::gsl::span<::BiomeIdType const> allowed) const;
156
157 MCAPI bool $hasBiomeById(::BiomeIdType id) const;
158
159 MCAPI bool $hasBiomeByNameHash(::BiomeHashType hash) const;
160
161 MCFOLD ::BiomeSourceType const $getType() const;
162
163 MCAPI ::Biome const* $_getBiome(::GetBiomeOptions const& getBiomeOptions) const;
164 // NOLINTEND
165
166public:
167 // vftables
168 // NOLINTBEGIN
169 MCNAPI static void** $vftable();
170 // NOLINTEND
171};
Definition BiomeArea.h:11
Definition BiomeSource3d.h:24
Definition BiomeSource.h:20
Definition Biome.h:23
Definition BlockPos.h:17
Definition BoundingBox.h:13
Definition ChunkLocalNoiseCache.h:8
Definition LevelChunk.h:78
Definition ReplacementBiomeSource.h:27
static MCAPI void ** $vftable()
Definition XoroshiroPositionalRandomFactory.h:16
Definition flat_set.h:8
STL namespace.
Definition BiomeHashType.h:8
Definition BiomeIdType.h:8
Definition BiomeReplacement.h:10
Definition GetBiomeOptions.h:8
Definition ReplacementBiomeSource.h:46
Definition ReplacementBiomeSource.h:36