LeviLamina
Loading...
Searching...
No Matches
BlockTypeRegistry Class Reference

Classes

struct  BlockComplexAliasBlockState
class  BlockComplexAliasContent
struct  DirectAccessBlocks
struct  LookupByNameImplReturnType

Public Types

enum class  LookupByNameImplResolve : int { BlockType = 0 , Block = 1 }
using BlockAliasLookupMap = ::std::unordered_map<::HashedString, ::HashedString>
using BlockComplexAliasCallback = ::std::function<::Block const*(int)>
using BlockComplexAliasLookupMap = ::entt::dense_map<::HashedString, ::BlockTypeRegistry::BlockComplexAliasContent>
using BlockComplexAliasPostSplitBlockNames = ::std::vector<::std::reference_wrapper<::HashedString const>>
using BlockComplexAliasPostSplitBlockNamesList
using BlockComplexAliasPostSplitBlockNamesLookupMap = ::entt::dense_map<uint64, uint64>
using BlockLookupMap = ::std::map<::HashedString, ::SharedPtr<::BlockType>>
using BlockNameHashToHashedStringMap = ::entt::dense_map<uint64, ::HashedString>

Public Member Functions

MCAPI::BlockTypeRegistryReadLock _lockAgainstRegistryModifications () const
MCAPI::BlockTypeRegistryModificationsLock _lockForRegistryModifications () const
MCAPI::BlockTypeRegistry::LookupByNameImplReturnType _lookupByNameImpl (::HashedString const &name, int data, ::BlockTypeRegistry::LookupByNameImplResolve resolve, bool logNotFound=false) const
MCAPI_C void addBlocksToValidator (::LinkedAssetValidator &validator, ::BaseGameVersion const &baseGameVersion) const
MCAPI void checkBlockPermutationCap () const
MCAPI uint64 computeBlockTypeRegistryChecksum (::BaseGameVersion const &worldBaseGameVersion) const
MCAPI void finalizeBlockComponentStorage ()
MCAPI_C void finalizeBlockComponentStorageForRendering (::brstd::function_ref< void(::BlockType &)> finalizer)
MCAPI void finalizeBlockCustomComponentEvents (::ServerScriptManager const &scriptManager)
MCFOLD_C void forEachBlockDEPRECATED (::brstd::function_ref< bool(::BlockType &)> callback)
MCFOLD void forEachBlockType (::brstd::function_ref< bool(::BlockType const &)> callback) const
MCAPI::HashedString const & getBlockNameFromNameHash (uint64 hash) const
MCAPI ::std::vector<::std::reference_wrapper<::HashedString const > > const & getComplexAliasPostSplitBlockNames (::HashedString const &oldName) const
MCAPI::Block const & getDefaultBlockState (::HashedString const &name, bool logNotFound=false) const
MCAPI::BlockTypeRegistry::DirectAccessBlocks const & getDirectAccessBlocks () const
MCAPI_C int getStartVariantForComplexAliasBlock (::HashedString const &blockName) const
MCAPI void initHardCodedBlockComponents (::Experiments const &experiments)
MCAPI bool isComplexAliasBlock (::HashedString const &blockName) const
MCAPI_C bool isExpectFlattenedInBlocksJson (::HashedString const &blockName, ::SemVersion const &currentVersion) const
MCAPI ::WeakPtr<::BlockTypelookupByName (::HashedString const &name, bool logNotFound=false) const
MCAPI void prepareBlocks (uint latestUpdaterVersion)
MCAPI void registerAlias (::HashedString const &alias, ::HashedString const &name)
MCAPI void registerComplexAlias (::HashedString const &alias, ::std::function<::Block const *(int)> callback, ::std::vector<::std::reference_wrapper<::HashedString const > > const &postSplitBlockNames, ::BaseGameVersion const &minRequiredVersion, ::SemVersion const &blocksJsonFormatVersion, ::HashedString defaultNewBlockName, int startVariant)
MCAPI void setupDirectAccessBlocks ()
MCAPI void setupVoxelShapeRegistryAccessOnAllBlocks (::std::shared_ptr<::VoxelShapes::VoxelShapeRegistry > const &voxelShapeRegistry) const
MCAPI void unregisterBlock (::HashedString const &name)
MCAPI void unregisterBlocks ()
MCAPI void * $ctor ()
MCAPI void $dtor ()

Static Public Member Functions

static MCAPI ::BlockTypeRegistry & get ()
static MCAPI ::Bedrock::Owner<::BlockTypeRegistry > & mBlockTypeRegistry ()

Public Attributes

::ll::TypedStorage< 8, 16, ::std::map<::HashedString, ::SharedPtr<::BlockType > > > mBlockLookupMap
::ll::TypedStorage< 8, 64, ::std::unordered_map<::HashedString, ::HashedString > > mBlockAliasLookupMap
::ll::TypedStorage< 8, 72, ::entt::dense_map<::HashedString, ::BlockTypeRegistry::BlockComplexAliasContent > > mBlockComplexAliasLookupMap
::ll::TypedStorage< 8, 24, ::std::vector<::std::vector<::std::reference_wrapper<::HashedString const > > > > mBlockComplexAliasPostSplitBlockNamesList
::ll::TypedStorage< 8, 72, ::entt::dense_map< uint64, uint64 > > mBlockComplexAliasPostSplitBlockNamesLookupMap
::ll::TypedStorage< 8, 16, ::std::map<::HashedString, ::HashedString > > mBlockComplexAliasPreSplitBlockNamesLookupMap
::ll::TypedStorage< 8, 16, ::std::set<::std::string > > mKnownNamespaces
::ll::TypedStorage< 8, 72, ::entt::dense_map< uint64, ::HashedString > > mBlockNameHashToStringMap
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::BlockTypeRegistry::DirectAccessBlocks > > mDirectAccessBlocks
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::BlockTypeRegistryRWLock > > mRWLock

Member Typedef Documentation

◆ BlockComplexAliasPostSplitBlockNamesList

using BlockTypeRegistry::BlockComplexAliasPostSplitBlockNamesList
Initial value:
::std::vector<::std::vector<::std::reference_wrapper<::HashedString const>>>

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