LeviLamina
Loading...
Searching...
No Matches
FlatWorldGenerator Class Reference
Inheritance diagram for FlatWorldGenerator:

Public Types

using LayerList = ::std::vector<::Block const*>
enum class  LoadMode : int { None = 0 , Deferred = 1 }

Public Member Functions

virtual void loadChunk (::LevelChunk &lc, bool forceImmediateReplacementDataLoad)
virtual bool structurePostProcessChunk (::ChunkViewSource &)
virtual bool decorationPostProcessChunk (::ChunkViewSource &neighborhood)
virtual::HashedString findStructureFeatureTypeAt (::BlockPos const &pos)
virtual bool isStructureFeatureTypeAt (::BlockPos const &pos, ::HashedString type) const
virtual bool findNearestStructureFeature (::HashedString feature, ::BlockPos const &origin, ::BlockPos &pos, bool mustBeInNewChunks, ::std::optional<::HashedString > biomeTag)
virtual void prepareHeights (::BlockVolume &box, ::ChunkPos const &, ::std::vector< short > *zxHeights, bool)
virtual void garbageCollectBlueprints (::buffer_span<::ChunkPos > activeChunks)
virtual::BiomeArea getBiomeArea (::BoundingBox const &area, uint scale) const
virtual::BlockPos findSpawnPosition () const
virtual::BiomeSource const & getBiomeSource () const
virtual::WorldGenerator::BlockVolumeDimensions getBlockVolumeDimensions () const
virtual void decorateWorldGenLoadChunk (::Biome const &, ::LevelChunk &, ::BlockVolumeTarget &, ::Random &, ::ChunkPos const &) const
virtual void decorateWorldGenPostProcess (::Biome const &, ::LevelChunk &, ::BlockSource &, ::Random &) const
MCAPI FlatWorldGenerator (::Dimension &dimension, uint, ::Json::Value const &generationOptionsJSON)
MCAPI void _generatePrototypeBlockValues (::FlatWorldOptions const &layersDesc, short minHeight)
MCAPI void * $ctor (::Dimension &dimension, uint, ::Json::Value const &generationOptionsJSON)
MCAPI void $loadChunk (::LevelChunk &lc, bool forceImmediateReplacementDataLoad)
MCFOLD bool $structurePostProcessChunk (::ChunkViewSource &)
MCAPI bool $decorationPostProcessChunk (::ChunkViewSource &neighborhood)
MCFOLD::HashedString $findStructureFeatureTypeAt (::BlockPos const &pos)
MCAPI bool $isStructureFeatureTypeAt (::BlockPos const &pos, ::HashedString type) const
MCAPI bool $findNearestStructureFeature (::HashedString feature, ::BlockPos const &origin, ::BlockPos &pos, bool mustBeInNewChunks, ::std::optional<::HashedString > biomeTag)
MCAPI void $prepareHeights (::BlockVolume &box, ::ChunkPos const &, ::std::vector< short > *zxHeights, bool)
MCFOLD void $garbageCollectBlueprints (::buffer_span<::ChunkPos > activeChunks)
MCAPI::BiomeArea $getBiomeArea (::BoundingBox const &area, uint scale) const
MCAPI::BlockPos $findSpawnPosition () const
MCAPI::BiomeSource const & $getBiomeSource () const
MCAPI::WorldGenerator::BlockVolumeDimensions $getBlockVolumeDimensions () const
MCFOLD void $decorateWorldGenLoadChunk (::Biome const &, ::LevelChunk &, ::BlockVolumeTarget &, ::Random &, ::ChunkPos const &) const
MCFOLD void $decorateWorldGenPostProcess (::Biome const &, ::LevelChunk &, ::BlockSource &, ::Random &) const
virtual::StructureFeature * getStructureFeatureOfType (::HashedString type) const
virtual void postProcessMobsAt (::BlockSource &region, int chunkWestBlock, int chunkNorthBlock, ::Random &random)
virtual void postProcessMobsAt (::BlockSource &region, ::BoundingBox const &chunkBB) const
virtual ::std::optional< short > getPreliminarySurfaceLevel (::DividedPos2d< 4 >) const
virtual void debugRender ()
virtual void propagateCombinedChunkSource (::ChunkSource *)
MCAPI void addHardcodedSpawnAreas (::LevelChunk &lc)
MCAPI ::std::vector< short > computeChunkHeightMap (::ChunkPos const &pos)
MCAPI void postProcessStructureFeatures (::BlockSource &region, ::Random &random, int chunkX, int chunkZ)
MCAPI void postProcessStructures (::BlockSource &region, ::Random &, int chunkX, int chunkZ)
MCAPI void preProcessStructures (::Dimension &dimension, ::ChunkPos const &cp, ::BiomeSource const &biomeSource)
MCAPI void prepareStructureFeatureBlueprints (::Dimension &dimension, ::ChunkPos const &cp, ::BiomeSource const &biomeSource, ::IPreliminarySurfaceProvider const &preliminarySurfaceProvider)
MCAPI void waitForStructures ()
MCAPI void * $ctor (::Dimension &dimension, ::std::unique_ptr<::StructureFeatureRegistry > structureFeatureRegistry)
MCAPI void * $ctor (::std::unique_ptr<::ChunkSource > parent)
MCFOLD void * $ctor ()
MCFOLD void * $ctor (::Bedrock::EnableNonOwnerReferences const &)
MCAPI void $dtor ()
MCAPI::StructureFeature * $getStructureFeatureOfType (::HashedString type) const
MCAPI void $postProcessMobsAt (::BlockSource &region, int chunkWestBlock, int chunkNorthBlock, ::Random &random)
MCAPI void $postProcessMobsAt (::BlockSource &region, ::BoundingBox const &chunkBB) const
MCAPI ::std::optional< short > $getPreliminarySurfaceLevel (::DividedPos2d< 4 >) const
MCFOLD void $debugRender ()
MCFOLD void $propagateCombinedChunkSource (::ChunkSource *)
virtual void shutdown ()
virtual bool isShutdownDone ()
virtual ::std::shared_ptr<::LevelChunkgetExistingChunk (::ChunkPos const &)
virtual ::std::shared_ptr<::LevelChunkgetRandomChunk (::Random &random)
virtual bool isChunkKnown (::ChunkPos const &chunkPos)
virtual bool isChunkSaved (::ChunkPos const &chunkPos)
virtual ::std::shared_ptr<::LevelChunkcreateNewChunk (::ChunkPos const &cp, ::ChunkSource::LoadMode lm, bool readOnly)
virtual ::std::shared_ptr<::LevelChunkgetOrLoadChunk (::ChunkPos const &cp, ::ChunkSource::LoadMode lm, bool readOnly)
virtual void checkAndReplaceChunk (::ChunkViewSource &, ::LevelChunk &)
virtual bool verifyChunkNeedsNeighborAwareUpgrade (::LevelChunk &)
virtual void neighborAwareChunkUpgrade (::LevelChunk &, ::ChunkViewSource &)
virtual bool saveLiveChunk (::LevelChunk &lc)
virtual void writeEntityChunkTransfer (::LevelChunk &levelChunk)
virtual void writeEntityChunkTransfersToUnloadedChunk (::ChunkKey const &chunkKey, ::std::vector<::ActorUnloadedChunkTransferEntry > const &transfers)
virtual void deserializeActorStorageToLevelChunk (::LevelChunk &levelChunk)
virtual void hintDiscardBatchBegin ()
virtual void hintDiscardBatchEnd ()
virtual void acquireDiscarded (::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter > ptr)
virtual void compact ()
virtual void flushPendingDiscardedChunkWrites ()
virtual void flushThreadBatch ()
virtual bool isWithinWorldLimit (::ChunkPos const &cp) const
virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk > > const * getChunkMap ()
virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk > > const & getStorage () const
virtual void clearDeletedEntities ()
virtual bool canCreateViews () const
virtual ::std::unique_ptr<::BlendingDataProvidertryGetBlendingDataProvider ()
virtual ::std::shared_ptr<::LevelChunkMetaDataDictionaryloadLevelChunkMetaDataDictionary ()
virtual void setLevelChunk (::std::shared_ptr<::LevelChunk >)
virtual bool canLaunchTasks () const
virtual bool chunkPosNeedsBlending (::ChunkPos const &cp)
MCAPI bool _checkAndDispatchTaskForLevelChunk (::std::pair<::ChunkPos, ::ChunkState > const &chunkPosAndExpectedState, bool areInTask)
MCAPI void _checkForReplacementDataTask (::LevelChunk &lc, ::ChunkViewSource &chunks)
MCAPI void _checkForUnblockingChunks (::LevelChunk const &lc)
MCAPI void _checkLevelChunkForNextStage (::LevelChunk const &lc, ::LevelChunkGridAreaElement<::std::weak_ptr<::LevelChunk > > &grid, ::ChunkState stateToCheck)
MCAPI void _checkSpecificLevelChunkForUnblocking (::LevelChunk const &lc, ::LevelChunkGridAreaElement<::std::weak_ptr<::LevelChunk > > &grid)
MCAPI bool _chunkAtStage (::std::weak_ptr<::LevelChunk > lcwp, ::ChunkState stateToCheck)
MCAPI void _createOrReplaceGridAreaMap (::std::shared_ptr<::LevelChunk > lc, bool createNeighbourGridsIfMissing)
MCAPI void _decorationPostProcessingTask (::LevelChunk &lc, ::ChunkViewSource &chunks)
MCAPI void _dispatchTaskForLevelChunk (::std::shared_ptr<::LevelChunk > const &lc, ::std::shared_ptr<::ChunkViewSource > const &chunks, bool areInTask)
MCAPI void _freeChunkGenerationGridMap (::ChunkPos const &cp, bool isLevelChunkDeletion)
MCAPI void _handleTaskFailure (::LevelChunk &levelChunk, ::ChunkState currentState, ::ChunkState previousState)
MCAPI void _launchChunkTask (::std::string_view taskName, ::ChunkPos const &chunkPos, bool areInTask, ::brstd::move_only_function<::TaskResult()> taskFunc)
MCAPI void _launchDecorationPostProcessingTask (::std::shared_ptr<::LevelChunk > const &lc, ::std::shared_ptr<::ChunkViewSource > const &chunks, bool areInTask)
MCAPI void _launchLightingTask (::std::shared_ptr<::LevelChunk > const &lc, ::std::shared_ptr<::ChunkViewSource > const &chunks, bool areInTask)
MCAPI void _launchNeighborAwareUpgradeTask (::std::shared_ptr<::LevelChunk > const &lc, ::std::shared_ptr<::ChunkViewSource > const &chunks, bool areInTask)
MCAPI void _launchReplacementDataTask (::std::shared_ptr<::LevelChunk > const &lc, ::std::shared_ptr<::ChunkViewSource > const &chunks, bool areInTask)
MCAPI void _launchStructurePostProcessingTask (::std::shared_ptr<::LevelChunk > const &lc, ::std::shared_ptr<::ChunkViewSource > const &chunks, bool areInTask)
MCAPI void _lightingTask (::std::shared_ptr<::LevelChunk > const &lc, ::ChunkViewSource &chunks)
MCAPI void _loadChunkTask (::LevelChunk &lc)
MCAPI void _neighborAwareUpgradeTask (::LevelChunk &lc, ::ChunkViewSource &chunks)
MCAPI void _saveDirtyChunks (::LevelStorage &)
MCAPI void _spawnChunkGenerationTasks (int numTasks, bool calledFromTask)
MCAPI_C void addEmptyChunkPosForProcessingNeighbours (::std::shared_ptr<::LevelChunk > lc)
MCAPI void checkAndLaunchChunkGenerationTasks (bool calledFromTask)
MCAPI ::GridArea<::std::shared_ptr<::LevelChunk > > createEmptyView (::ChunkSource::LoadMode lm, bool circle, ::std::function< void(::buffer_span_mut<::std::shared_ptr<::LevelChunk > >, ::buffer_span< uint >)> add, ::ChunkSourceViewGenerateMode chunkViewGenerateMode, float const *serverBuildRatio)
MCAPI ::std::shared_ptr<::LevelChunkgetAvailableChunk (::ChunkPos const &cp)
MCAPI_C ::std::shared_ptr<::LevelChunkgetAvailableChunkAt (::BlockPos const &pos)
MCAPI void initializeWithLevelStorageManagerConnector (::ILevelStorageManagerConnector &levelStorageManagerConnector)
MCAPI bool shouldServerGeneratePos (::ChunkPos const &chunkPos, float serverBuildRatio, int viewRadius)
MCAPI void $shutdown ()
MCAPI bool $isShutdownDone ()
MCFOLD ::std::shared_ptr<::LevelChunk$getExistingChunk (::ChunkPos const &)
MCFOLD ::std::shared_ptr<::LevelChunk$getRandomChunk (::Random &random)
MCAPI bool $isChunkKnown (::ChunkPos const &chunkPos)
MCAPI bool $isChunkSaved (::ChunkPos const &chunkPos)
MCAPI ::std::shared_ptr<::LevelChunk$createNewChunk (::ChunkPos const &cp, ::ChunkSource::LoadMode lm, bool readOnly)
MCAPI ::std::shared_ptr<::LevelChunk$getOrLoadChunk (::ChunkPos const &cp, ::ChunkSource::LoadMode lm, bool readOnly)
MCFOLD void $checkAndReplaceChunk (::ChunkViewSource &, ::LevelChunk &)
MCFOLD bool $verifyChunkNeedsNeighborAwareUpgrade (::LevelChunk &)
MCFOLD void $neighborAwareChunkUpgrade (::LevelChunk &, ::ChunkViewSource &)
MCAPI bool $saveLiveChunk (::LevelChunk &lc)
MCAPI void $writeEntityChunkTransfer (::LevelChunk &levelChunk)
MCAPI void $writeEntityChunkTransfersToUnloadedChunk (::ChunkKey const &chunkKey, ::std::vector<::ActorUnloadedChunkTransferEntry > const &transfers)
MCAPI void $deserializeActorStorageToLevelChunk (::LevelChunk &levelChunk)
MCAPI void $hintDiscardBatchBegin ()
MCAPI void $hintDiscardBatchEnd ()
MCAPI void $acquireDiscarded (::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter > ptr)
MCAPI void $compact ()
MCAPI void $flushPendingDiscardedChunkWrites ()
MCAPI void $flushThreadBatch ()
MCFOLD bool $isWithinWorldLimit (::ChunkPos const &cp) const
MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk > > const * $getChunkMap ()
MCAPI ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk > > const & $getStorage () const
MCFOLD void $clearDeletedEntities ()
MCFOLD bool $canCreateViews () const
MCAPI ::std::unique_ptr<::BlendingDataProvider$tryGetBlendingDataProvider ()
MCAPI ::std::shared_ptr<::LevelChunkMetaDataDictionary$loadLevelChunkMetaDataDictionary ()
MCFOLD void $setLevelChunk (::std::shared_ptr<::LevelChunk >)
MCAPI bool $canLaunchTasks () const
MCAPI bool $chunkPosNeedsBlending (::ChunkPos const &cp)

Static Public Member Functions

static MCAPI void ** $vftableForIPreliminarySurfaceProvider ()
static MCAPI void ** $vftableForChunkSource ()
static MCAPI uint64 const & TICKING_QUEUE_PASS_LIMIT ()
static MCAPI bool & gPerfIsClientSide ()
static MCAPI void ** $vftable ()
static MCAPI void ** $vftable ()

Public Attributes

::ll::TypedStorage< 8, 24, ::std::vector<::Block const * > > mPrototypeBlocks
::ll::TypedStorage< 8, 40, ::BlockVolumemPrototype
::ll::TypedStorage< 1, 1, bool > mIsVoidWorld
::ll::TypedStorage< 8, 8, ::Biome const * > mBiome
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::FixedBiomeSource > > mBiomeSource
::ll::TypedStorage< 2, 2, short > mMaxHeight
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::StructureFeatureRegistry > > mStructureFeatureRegistry
::ll::TypedStorage< 8, 80, ::Bedrock::Threading::MutexmCreateStructuresAndVisitedPositionsMutex
::ll::TypedStorage< 8, 72, ::std::condition_variable > mStructureInstanceWaitVar
::ll::TypedStorage< 4, 4, ::std::atomic< int > > mActiveStructureInstanceCreateCount
::ll::TypedStorage< 8, 64, ::std::unordered_set<::ChunkPos > > mVisitedPositions
::ll::TypedStorage< 4, 4, int > mChunkSide
::ll::TypedStorage< 8, 8, ::Level * > mLevel
::ll::TypedStorage< 8, 8, ::Dimension * > mDimension
::ll::TypedStorage< 8, 8, ::ChunkSource * > mParent
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::ChunkSource > > mOwnedParent
::ll::TypedStorage< 8, 8, ::LevelChunkBuilderData * > mLevelChunkBuilderData
::ll::TypedStorage< 1, 1, ::std::atomic< bool > > mShuttingDown
::ll::TypedStorage< 8, 16, ::Bedrock::PubSub::SubscriptionmOnSaveSubscription
::ll::TypedStorage< 8, 16, ::Bedrock::PubSub::SubscriptionmOnLevelStorageAppSuspendSubscription
::std::shared_ptr<::Bedrock::EnableNonOwnerReferences::ControlBlockmControlBlock

Member Function Documentation

◆ loadChunk()

virtual void FlatWorldGenerator::loadChunk ( ::LevelChunk & lc,
bool forceImmediateReplacementDataLoad )
virtual

Reimplemented from ChunkSource.

◆ structurePostProcessChunk()

virtual bool FlatWorldGenerator::structurePostProcessChunk ( ::ChunkViewSource & )
virtual

Reimplemented from ChunkSource.

◆ decorationPostProcessChunk()

virtual bool FlatWorldGenerator::decorationPostProcessChunk ( ::ChunkViewSource & neighborhood)
virtual

Reimplemented from ChunkSource.

◆ isStructureFeatureTypeAt()

virtual bool FlatWorldGenerator::isStructureFeatureTypeAt ( ::BlockPos const & pos,
::HashedString type ) const
virtual

Reimplemented from WorldGenerator.

◆ findNearestStructureFeature()

virtual bool FlatWorldGenerator::findNearestStructureFeature ( ::HashedString feature,
::BlockPos const & origin,
::BlockPos & pos,
bool mustBeInNewChunks,
::std::optional<::HashedString > biomeTag )
virtual

Reimplemented from WorldGenerator.

◆ prepareHeights()

virtual void FlatWorldGenerator::prepareHeights ( ::BlockVolume & box,
::ChunkPos const & ,
::std::vector< short > * zxHeights,
bool  )
virtual

Implements WorldGenerator.

◆ garbageCollectBlueprints()

virtual void FlatWorldGenerator::garbageCollectBlueprints ( ::buffer_span<::ChunkPos > activeChunks)
virtual

Reimplemented from WorldGenerator.

◆ getBiomeArea()

virtual::BiomeArea FlatWorldGenerator::getBiomeArea ( ::BoundingBox const & area,
uint scale ) const
virtual

Implements WorldGenerator.

◆ findSpawnPosition()

virtual::BlockPos FlatWorldGenerator::findSpawnPosition ( ) const
virtual

Implements WorldGenerator.

◆ getBiomeSource()

virtual::BiomeSource const & FlatWorldGenerator::getBiomeSource ( ) const
virtual

Implements WorldGenerator.

◆ getBlockVolumeDimensions()

virtual::WorldGenerator::BlockVolumeDimensions FlatWorldGenerator::getBlockVolumeDimensions ( ) const
virtual

Implements WorldGenerator.

◆ decorateWorldGenLoadChunk()

virtual void FlatWorldGenerator::decorateWorldGenLoadChunk ( ::Biome const & ,
::LevelChunk & ,
::BlockVolumeTarget & ,
::Random & ,
::ChunkPos const &  ) const
virtual

Implements WorldGenerator.

◆ decorateWorldGenPostProcess()

virtual void FlatWorldGenerator::decorateWorldGenPostProcess ( ::Biome const & ,
::LevelChunk & ,
::BlockSource & ,
::Random &  ) const
virtual

Implements WorldGenerator.

◆ $vftableForIPreliminarySurfaceProvider()

MCAPI void ** FlatWorldGenerator::$vftableForIPreliminarySurfaceProvider ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $vftableForChunkSource()

MCAPI void ** FlatWorldGenerator::$vftableForChunkSource ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ postProcessMobsAt() [1/2]

virtual void WorldGenerator::postProcessMobsAt ( ::BlockSource & region,
int chunkWestBlock,
int chunkNorthBlock,
::Random & random )
virtualinherited

Reimplemented from ChunkSource.

◆ postProcessMobsAt() [2/2]

virtual void WorldGenerator::postProcessMobsAt ( ::BlockSource & region,
::BoundingBox const & chunkBB ) const
virtualinherited

Reimplemented from ChunkSource.

◆ getPreliminarySurfaceLevel()

virtual ::std::optional< short > WorldGenerator::getPreliminarySurfaceLevel ( ::DividedPos2d< 4 > ) const
virtualinherited

◆ $vftable() [1/2]

MCAPI void ** ChunkSource::$vftable ( )
staticinherited
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $vftable() [2/2]

MCAPI void ** IPreliminarySurfaceProvider::$vftable ( )
staticinherited
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

The documentation for this class was generated from the following file: