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 BlockLookupMap = ::std::map<::HashedString, ::SharedPtr<::BlockType>>
 
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 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 void checkBlockPermutationCap () const
 
MCAPI uint64 computeBlockTypeRegistryChecksum (::BaseGameVersion const &worldBaseGameVersion) const
 
MCAPI void finalizeBlockComponentStorage ()
 
MCAPI void finalizeBlockCustomComponentEvents (::ServerScriptManager const &scriptManager)
 
MCAPI 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 void initHardCodedBlockComponents (::Experiments const &experiments)
 
MCAPI bool isComplexAliasBlock (::HashedString const &blockName) 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 ::BlockTypeRegistryget ()
 
static MCAPI ::Bedrock::NotNullNonOwnerPtr<::BlockTypeRegistrygetNonOwner ()
 
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: