3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/threading/InstancedThreadLocal.h"
7#include "mc/util/MultidimensionalArray.h"
8#include "mc/util/Random.h"
9#include "mc/world/level/levelgen/WorldGenerator.h"
10#include "mc/world/level/levelgen/feature/CanyonFeature.h"
11#include "mc/world/level/levelgen/feature/MonsterRoomFeature.h"
12#include "mc/world/level/levelgen/feature/UnderwaterCanyonFeature.h"
51 ::ll::TypedStorage<4, 4096, ::std::array<float, 1024>>
buffer;
52 ::ll::TypedStorage<4, 1024, ::std::array<float, 256>> depthBuffer;
53 ::ll::TypedStorage<4, 1024, ::std::array<float, 256>> dataBuffer;
54 ::ll::TypedStorage<8, 655360, ::std::array<::Block const*, 81920>> blockBuffer;
55 ::ll::TypedStorage<8, 8, float*> fi;
56 ::ll::TypedStorage<8, 8, float*> fis;
57 ::ll::TypedStorage<8, 2568, ::Random> random;
64 ::ll::TypedStorage<4, 36, float[9]> mBiomeBlendKernel;
65 ::ll::TypedStorage<1, 1, bool const> mIsLegacyWorld;
69 ::Bedrock::Threading::
70 InstancedThreadLocal<::OverworldGenerator::ThreadData, ::std::allocator<::OverworldGenerator::ThreadData>>>
72 ::ll::TypedStorage<8, 32, ::MonsterRoomFeature> monsterRoomFeature;
73 ::ll::TypedStorage<2, 16, ::CanyonFeature> canyonFeature;
74 ::ll::TypedStorage<2, 16, ::UnderwaterCanyonFeature> underwaterCanyonFeature;
88 virtual void loadChunk(
::LevelChunk& lc,
bool forceImmediateReplacementDataLoad) ;
94 virtual ::Util::MultidimensionalArray<float, 5, 5, 41>
95 generateDensityCellsForChunk(
::ChunkPos const& chunkPos)
const = 0;
98 virtual ::WorldGenerator::BlockVolumeDimensions getBlockVolumeDimensions() const ;
102 prepareHeights(::
BlockVolume& box, ::
ChunkPos const& chunkPos,
bool factorInBeardsAndShavers) ;
105 virtual
void prepareAndComputeHeights(
108 ::
std::vector<
short>& ZXheights,
109 bool factorInBeardsAndShavers,
117 virtual
int getLevelGenHeight() const = 0;
127 virtual
void decorateWorldGenLoadChunk(
128 ::
Biome const& biome,
148 virtual
void _prepareHeights(
155 ::
std::vector<
short>*,
207 ::
std::vector<
short>& ZXheights,
208 bool factorInBeardsAndShavers,
218 ::
Biome const& biome,
Definition BiomeArea.h:11
Definition BlockSource.h:67
Definition BlockTickingQueue.h:26
Definition BlockVolume.h:13
Definition BoundingBox.h:13
Definition ChunkLocalNoiseCache.h:8
Definition ChunkViewSource.h:22
Definition Dimension.h:83
Definition LevelChunk.h:74
Definition OverworldGenerator.h:37
MCAPI void $prepareHeights(::BlockVolume &box, ::ChunkPos const &chunkPos, bool factorInBeardsAndShavers)
MCAPI::ChunkLocalNoiseCache $createNoiseCache(::ChunkPos chunkPos) const
MCAPI::BiomeArea $getBiomeArea(::BoundingBox const &area, uint scale) const
MCAPI void $loadChunk(::LevelChunk &lc, bool forceImmediateReplacementDataLoad)
MCAPI void buildSurfaces(::OverworldGenerator::ThreadData &thread, ::BlockVolume &blocks, ::LevelChunk &levelChunk, ::ChunkPos const &chunkPos, ::SurfaceLevelCache const &surfaceLevelCache)
MCAPI bool $postProcess(::ChunkViewSource &neighborhood)
static MCAPI void ** $vftableForIPreliminarySurfaceProvider()
MCAPI ::std::unique_ptr<::Aquifer > $tryMakeAquifer(::ChunkPos const &, ::SurfaceLevelCache const &, short, short, short) const
MCAPI::WorldGenerator::BlockVolumeDimensions $getBlockVolumeDimensions() const
MCAPI::WorldGenCache $createWorldGenCache(::ChunkPos chunkPos) const
static MCAPI void ** $vftableForChunkSource()
static MCAPI void _fixWaterAlongEdges(::LevelChunk const &lc, ::BlockSource &source, ::BlockTickingQueue &instaTickQueue)
MCAPI void $decorateWorldGenLoadChunk(::Biome const &biome, ::LevelChunk &lc, ::BlockVolumeTarget &target, ::Random &random, ::ChunkPos const &pos) const
MCAPI void $prepareAndComputeHeights(::BlockVolume &box, ::ChunkPos const &chunkPos, ::std::vector< short > &ZXheights, bool factorInBeardsAndShavers, int skipTopN)
MCAPI void * $ctor(::Dimension &dimension, bool isLegacyWorld)
Definition PerlinSimplexNoise.h:13
Definition SurfaceLevelCache.h:9
Definition MultidimensionalArray.h:12
Definition WorldGenCache.h:11
Definition WorldGenerator.h:30
Definition XoroshiroPositionalRandomFactory.h:16
Definition OverworldGenerator.h:47
Definition WorldGenerator.h:38