3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/util/MultidimensionalArray.h"
7#include "mc/world/level/DividedPos2d.h"
8#include "mc/world/level/levelgen/synth/AquiferNoises.h"
9#include "mc/world/level/levelgen/synth/CavifierNoises.h"
10#include "mc/world/level/levelgen/synth/LegacyBlendedNoise.h"
11#include "mc/world/level/levelgen/synth/OverworldNoises3d.h"
12#include "mc/world/level/levelgen/synth/PerlinSimplexNoise.h"
13#include "mc/world/level/levelgen/v1/DepthBasedBlockSupplier.h"
14#include "mc/world/level/levelgen/v1/NoodleCavifierNoises.h"
15#include "mc/world/level/levelgen/v1/OreVeinifierNoises.h"
16#include "mc/world/level/levelgen/v1/OverworldGenerator.h"
61 ::ll::TypedStorage<8, 8, ::Block const*> block;
62 ::ll::TypedStorage<1, 1, bool const> shouldTickUpdate;
70 ::ll::TypedStorage<8, 120, ::LegacyBlendedNoise const> mTerrainNoise;
71 ::ll::TypedStorage<8, 896, ::CavifierNoises const> mCavifierNoises;
72 ::ll::TypedStorage<8, 248, ::AquiferNoises const> mAquiferNoises;
73 ::ll::TypedStorage<8, 224, ::NoodleCavifierNoises const> mNoodleCavifierNoises;
74 ::ll::TypedStorage<8, 248, ::OreVeinifierNoises const> mOreVeinifierNoises;
75 ::ll::TypedStorage<8, 40, ::PerlinSimplexNoise const> mBlendNoise;
76 ::ll::TypedStorage<8, 40, ::PerlinSimplexNoise const> mSurfaceNoise;
77 ::ll::TypedStorage<8, 904, ::OverworldNoises3d const> mCommonNoise;
78 ::ll::TypedStorage<8, 32, ::DepthBasedBlockSupplier const> mDeepslateSupplier;
84 MCNAPI static ::OverworldGeneratorMultinoise::Noises
92 ::ll::TypedStorage<8, 2760, ::std::optional<::OverworldGeneratorMultinoise::Noises>> mNoises;
93 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeSource>> mBiomeSource;
94 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Cavifier>> mCavifier;
95 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinSimplexNoise>> mMaterialAdjNoise;
96 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ChunkBlender>> mFixedChunkBlender;
97 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ChunkBlenderFactory>> mChunkBlenderFactory;
102 OverworldGeneratorMultinoise();
107 virtual ~OverworldGeneratorMultinoise() =
default;
109 virtual ::BiomeSource
const& getBiomeSource() const ;
111 virtual ::
BlockPos findSpawnPosition() const ;
113 virtual ::
std::optional<
short> getPreliminarySurfaceLevel(::
DividedPos2d<4> worldQuartPos) const ;
115 virtual
int getLevelGenHeight() const ;
117 virtual ::Util::MultidimensionalArray<
float, 5, 5, 41>
118 generateDensityCellsForChunk(::
ChunkPos const& chunkPos) const ;
120 virtual
void propagateCombinedChunkSource(::ChunkSource* chunkSource) ;
122 virtual
bool chunkPosNeedsBlending(::
ChunkPos const& cp) ;
134 virtual
void _prepareHeights(
139 ::
std::function<
void(::
BlockPos const&, ::
Block const&,
int)>&& tickUpdateFn,
140 bool factorInBeardsAndShavers,
141 ::
std::vector<
short>* ZXheights
144 virtual ::
std::unique_ptr<::
Aquifer> tryMakeAquifer(
148 short levelGenHeight,
155 virtual
void _clearBlendingCache() ;
191 ::
Biome const* overrideBiome,
217 MCNAPI ::Util::MultidimensionalArray<
float, 5, 5, 41>
238 ::
std::function<
void(::
BlockPos const&, ::
Block const&,
int)>&& tickUpdateFn,
239 bool factorInBeardsAndShavers,
240 ::
std::vector<
short>* ZXheights
247 short levelGenHeight,
Definition BaseGameVersion.h:8
Definition BiomeRegistry.h:37
Definition BiomeSource.h:23
Definition BlockSource.h:72
Definition BlockVolume.h:14
Definition ChunkBlenderFactory.h:17
Definition ChunkBlender.h:19
Definition ChunkLocalNoiseCache.h:8
Definition ChunkSource.h:37
Definition DimensionHeightRange.h:5
Definition Dimension.h:86
Definition DividedPos2d.h:7
Definition Experiments.h:14
Definition LevelChunk.h:76
Definition LevelSeed64.h:5
Definition NoodleCavifier.h:14
Definition OreVeinifier.h:15
MCAPI ::std::optional< short > $getPreliminarySurfaceLevel(::DividedPos2d< 4 > worldQuartPos) const
MCAPI ::std::optional<::XoroshiroPositionalRandomFactory > $getXoroshiroPositionalRandomFactory() const
MCAPI::BiomeSource const & $getBiomeSource() const
MCAPI void $_clearBlendingCache()
static MCAPI ::TerrainInfo _attenuateOffsetAndFactor(::DividedPos2d< 4 > worldQuartPos, ::TerrainInfo defaultTerrainInfo, ::ChunkBlender const *testFixedChunkBlender, ::ChunkBlenderFactory &chunkBlenderFactory)
MCAPI ::std::unique_ptr<::PerlinSimplexNoise > const & $getMaterialAdjNoise() const
MCAPI ::Util::MultidimensionalArray< float, 5, 5, 41 > _generateDensityCellsForChunk(::ChunkPos const &chunkPos, ::ChunkLocalNoiseCache const &chunkLocalNoiseCache, ::NoodleCavifier *noodleCavifier, ::OreVeinifier *oreVeinifier) const
MCAPI ::Util::MultidimensionalArray< float, 5, 5, 41 > $generateDensityCellsForChunk(::ChunkPos const &chunkPos) const
MCAPI void $propagateCombinedChunkSource(::ChunkSource *chunkSource)
MCAPI int $getLevelGenHeight() const
MCAPI void $_prepareHeights(::BlockVolume &box, ::ChunkPos const &chunkPos, ::ChunkLocalNoiseCache const &chunkLocalNoiseCache, ::Aquifer *aquiferPtr, ::std::function< void(::BlockPos const &, ::Block const &, int)> &&tickUpdateFn, bool factorInBeardsAndShavers, ::std::vector< short > *ZXheights)
MCAPI::ChunkLocalNoiseCache $createNoiseCache(::ChunkPos chunkPos) const
MCAPI::BlockPos $findSpawnPosition() const
MCAPI::PerlinSimplexNoise const & $getSurfaceNoise()
MCAPI ::std::unique_ptr<::Aquifer > $tryMakeAquifer(::ChunkPos const &chunkPos, ::SurfaceLevelCache const &surfaceLevelCache, short minHeight, short levelGenHeight, short seaLevel) const
MCAPI bool $chunkPosNeedsBlending(::ChunkPos const &cp)
Definition OverworldGenerator.h:33
Definition PerlinSimplexNoise.h:10
Definition SurfaceLevelCache.h:9
Definition XoroshiroPositionalRandomFactory.h:15
Definition OverworldGeneratorMultinoise.h:57
Definition OverworldGeneratorMultinoise.h:66
static MCAPI ::OverworldGeneratorMultinoise::Noises make(::XoroshiroPositionalRandomFactory const &randomFactory)
Definition OverworldNoises3d.h:19
Definition TerrainInfo.h:5