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

Public Types

enum class  LoadMode : int { None = 0 , Deferred = 1 }
 

Public Member Functions

LegacyChunkStorageoperator= (LegacyChunkStorage const &)
 
 LegacyChunkStorage (LegacyChunkStorage const &)
 
virtual void loadChunk (::LevelChunk &lc, bool forceImmediateReplacementDataLoad)
 
virtual bool saveLiveChunk (::LevelChunk &lc)
 
virtual void acquireDiscarded (::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter > ptr)
 
MCAPI LegacyChunkStorage (::std::unique_ptr<::ChunkSource > parent, ::LevelStorage &levelStorage, ::StorageVersion v, ::Biome &defaultBiome)
 
MCAPI bool _isImported (::ChunkPos const &pos)
 
MCAPI bool _loadChunk (::LevelChunk &lc)
 
MCAPI void _loadEntities ()
 
MCAPI void _markChunkAsImported (::ChunkPos const &pos)
 
MCAPI void * $ctor (::std::unique_ptr<::ChunkSource > parent, ::LevelStorage &levelStorage, ::StorageVersion v, ::Biome &defaultBiome)
 
MCAPI void $dtor ()
 
MCAPI void $loadChunk (::LevelChunk &lc, bool forceImmediateReplacementDataLoad)
 
MCAPI bool $saveLiveChunk (::LevelChunk &lc)
 
MCAPI void $acquireDiscarded (::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter > ptr)
 
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 bool postProcess (::ChunkViewSource &neighborhood)
 
virtual void checkAndReplaceChunk (::ChunkViewSource &neighborhood, ::LevelChunk &lc)
 
virtual void postProcessMobsAt (::BlockSource &region, int chunkWestBlock, int chunkNorthBlock, ::Random &random)
 
virtual void postProcessMobsAt (::BlockSource &region, ::BoundingBox const &chunkBB) const
 
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 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 _checkLevelChunkForPostProcessing (::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 _freeChunkGenerationGridMap (::ChunkPos const &cp, bool isLevelChunkDeletion)
 
MCAPI void _launchGenerationTask (::std::shared_ptr<::LevelChunk > const &lc, bool areInTask)
 
MCAPI void _launchLightingTask (::std::shared_ptr<::LevelChunk > const &lc, ::std::shared_ptr<::ChunkViewSource > const &chunks, bool areInTask)
 
MCAPI void _launchPostProcessingTask (::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 _lightingTask (::std::shared_ptr<::LevelChunk > const &lc, ::ChunkViewSource &chunks)
 
MCAPI void _loadChunkTask (::LevelChunk &lc)
 
MCAPI void _postProcessingTask (::LevelChunk &lc, ::ChunkViewSource &chunks)
 
MCAPI void _saveDirtyChunks (::LevelStorage &)
 
MCAPI void _spawnChunkGenerationTasks (int numTasks, bool calledFromTask)
 
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 void initializeWithLevelStorageManagerConnector (::ILevelStorageManagerConnector &levelStorageManagerConnector)
 
MCAPI bool shouldServerGeneratePos (::ChunkPos const &chunkPos, float serverBuildRatio, int viewRadius)
 
MCAPI void * $ctor (::std::unique_ptr<::ChunkSource > parent)
 
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 bool $postProcess (::ChunkViewSource &neighborhood)
 
MCFOLD void $checkAndReplaceChunk (::ChunkViewSource &neighborhood, ::LevelChunk &lc)
 
MCAPI void $postProcessMobsAt (::BlockSource &region, int chunkWestBlock, int chunkNorthBlock, ::Random &random)
 
MCAPI void $postProcessMobsAt (::BlockSource &region, ::BoundingBox const &chunkBB) const
 
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 $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 ** $vftable ()
 
static MCAPI bool & gPerfIsClientSide ()
 

Public Attributes

::ll::TypedStorage< 1, 1, bool > mDone
 
::ll::TypedStorage< 8, 40, ::PerlinSimplexNoise const > mGrassNoise
 
::ll::TypedStorage< 8, 32, ::Core::PathBuffer<::std::string > const > mLevelPath
 
::ll::TypedStorage< 8, 32, ::Core::PathBuffer<::std::string > const > mImportedChunksPath
 
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::RegionFile > > mRegionFile
 
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::RegionFile > > mEntitiesFile
 
::ll::TypedStorage< 4, 4, ::StorageVersion > mLoadedStorageVersion
 
::ll::TypedStorage< 8, 8, ::Biome & > mDefaultBiome
 
::ll::TypedStorage< 8, 64, ::std::unordered_map<::ChunkPos, ::std::string > > mChunkEntities
 
::ll::TypedStorage< 8, 64, ::std::unordered_map<::ChunkPos, ::std::string > > mChunkBlockEntities
 
::ll::TypedStorage< 8, 80, ::Bedrock::Threading::MutexmRegionFileMutex
 
::ll::TypedStorage< 8, 80, ::Bedrock::Threading::MutexmChunkMapMutex
 
::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
 

Constructor & Destructor Documentation

◆ LegacyChunkStorage()

MCAPI LegacyChunkStorage::LegacyChunkStorage ( ::std::unique_ptr<::ChunkSource > parent,
::LevelStorage & levelStorage,
::StorageVersion v,
::Biome & defaultBiome )
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.

Member Function Documentation

◆ loadChunk()

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

Reimplemented from ChunkSource.

◆ saveLiveChunk()

virtual bool LegacyChunkStorage::saveLiveChunk ( ::LevelChunk & lc)
virtual

Reimplemented from ChunkSource.

◆ acquireDiscarded()

virtual void LegacyChunkStorage::acquireDiscarded ( ::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter > ptr)
virtual

Reimplemented from ChunkSource.

◆ _isImported()

MCAPI bool LegacyChunkStorage::_isImported ( ::ChunkPos const & pos)
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.

◆ _loadChunk()

MCAPI bool LegacyChunkStorage::_loadChunk ( ::LevelChunk & lc)
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.

◆ _loadEntities()

MCAPI void LegacyChunkStorage::_loadEntities ( )
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.

◆ _markChunkAsImported()

MCAPI void LegacyChunkStorage::_markChunkAsImported ( ::ChunkPos const & pos)
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.

◆ $ctor()

MCAPI void * LegacyChunkStorage::$ctor ( ::std::unique_ptr<::ChunkSource > parent,
::LevelStorage & levelStorage,
::StorageVersion v,
::Biome & defaultBiome )
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.

◆ $dtor()

MCAPI void LegacyChunkStorage::$dtor ( )
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.

◆ $loadChunk()

MCAPI void LegacyChunkStorage::$loadChunk ( ::LevelChunk & lc,
bool forceImmediateReplacementDataLoad )
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.

◆ $saveLiveChunk()

MCAPI bool LegacyChunkStorage::$saveLiveChunk ( ::LevelChunk & lc)
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.

◆ $acquireDiscarded()

MCAPI void LegacyChunkStorage::$acquireDiscarded ( ::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter > ptr)
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()

static MCAPI void ** LegacyChunkStorage::$vftable ( )
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.

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