43 ::ll::TypedStorage<4, 4, uint> mWidth;
44 ::ll::TypedStorage<4, 4, uint> mDepth;
45 ::ll::TypedStorage<4, 4, uint> mHeight;
52 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::StructureFeatureRegistry>> mStructureFeatureRegistry;
53 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mCreateStructuresAndVisitedPositionsMutex;
54 ::ll::TypedStorage<8, 72, ::std::condition_variable> mStructureInstanceWaitVar;
55 ::ll::TypedStorage<4, 4, ::std::atomic<int>> mActiveStructureInstanceCreateCount;
56 ::ll::TypedStorage<8, 64, ::std::unordered_set<::ChunkPos>> mVisitedPositions;
66 virtual ~WorldGenerator() ;
68 virtual ::HashedString findStructureFeatureTypeAt(
::BlockPos const& pos);
72 virtual bool findNearestStructureFeature(
76 bool mustBeInNewChunks,
77 ::std::optional<::HashedString> biomeTag
80 virtual ::StructureFeature* getStructureFeatureOfType(
::HashedString type)
const;
86 virtual ::BiomeArea getBiomeArea(
::BoundingBox const&, uint)
const = 0;
88 virtual ::BiomeSource
const& getBiomeSource()
const = 0;
90 virtual ::WorldGenerator::BlockVolumeDimensions getBlockVolumeDimensions()
const = 0;
92 virtual ::BlockPos findSpawnPosition()
const = 0;
99 virtual ::std::optional<short> getPreliminarySurfaceLevel(
::DividedPos2d<4>)
const ;
101 virtual void debugRender();
103 virtual void propagateCombinedChunkSource(::ChunkSource*);
105 virtual void decorateWorldGenLoadChunk(
120 WorldGenerator(
::Dimension& dimension, ::std::unique_ptr<::StructureFeatureRegistry> structureFeatureRegistry);
124 MCAPI ::std::vector<short> computeChunkHeightMap(
::ChunkPos const& pos);
126 MCAPI
void postProcessStructureFeatures(
::BlockSource& region,
::Random& random,
int chunkX,
int chunkZ);
132 MCAPI
void prepareStructureFeatureBlueprints(
139 MCAPI
void waitForStructures();
145 MCAPI
static uint64
const& TICKING_QUEUE_PASS_LIMIT();
151 MCAPI
void* $ctor(
::Dimension& dimension, ::std::unique_ptr<::StructureFeatureRegistry> structureFeatureRegistry);
163 MCAPI ::HashedString $findStructureFeatureTypeAt(
::BlockPos const& pos);
167 MCAPI
bool $findNearestStructureFeature(
171 bool mustBeInNewChunks,
172 ::std::optional<::HashedString> biomeTag
175 MCAPI ::StructureFeature* $getStructureFeatureOfType(
::HashedString type)
const;
179 MCAPI
void $postProcessMobsAt(
::BlockSource& region,
int chunkWestBlock,
int chunkNorthBlock,
::Random& random);
183 MCAPI ::std::optional<short> $getPreliminarySurfaceLevel(
::DividedPos2d<4>)
const;
185 MCFOLD
void $debugRender();
187 MCFOLD
void $propagateCombinedChunkSource(::ChunkSource*);