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

Public Member Functions

virtual ::std::unique_ptr<::ListTagserializeContainerContent (::FullContainerName const &name, ::SaveContext const &saveContext)
virtual ::std::optional< int > getDynamicContainerWeight (::FullContainerName const &name)
virtual bool hasContainer (::FullContainerName const &name) const
virtual ::std::shared_ptr<::StorageItemContainerModelgetModel (::FullContainerName const &name)
virtual ::std::shared_ptr<::FillingContainergetBackingContainer (::FullContainerName const &name)
virtual void tryCreateEntry (::StorageItemComponent *storageItemComponent, ::StorageWeightLimitItemComponent *storageWeightLimitItemComponent, ::FullContainerName const &name)
virtual ::std::unique_ptr<::DynamicContainerManagercreateContainerManager (::FullContainerName const &id, ::ItemStack const &storageItem, ::StorageItemComponent *storageItemComponent, ::StorageWeightLimitItemComponent *storageWeightLimitItemComponent)
virtual uint generateNewID ()
virtual void tryLoadSavedStorageItem (::ListTag const &contentData, ::FullContainerName const &name)
virtual void setExpired (::std::vector<::FullContainerName > const &removedContainers)
virtual uint64 getSize ()
MCAPI ContainerRegistry (bool isClientSide)
MCAPI::DynamicTrackedContainer & _getOrCreate (::FullContainerName const &id, ::StorageItemComponent *storageItemComponent, ::StorageWeightLimitItemComponent *storageWeightLimitItemComponent)
MCAPI void _serverCleanUp (::std::function< void(::Packet &)> broadcastPacketFunction)
MCAPI void tick (::std::function< void(::Packet &)> broadcastPacketFunction)
MCAPI void * $ctor (bool isClientSide)
MCAPI ::std::unique_ptr<::ListTag$serializeContainerContent (::FullContainerName const &name, ::SaveContext const &saveContext)
MCAPI ::std::optional< int > $getDynamicContainerWeight (::FullContainerName const &name)
MCAPI bool $hasContainer (::FullContainerName const &name) const
MCAPI ::std::shared_ptr<::StorageItemContainerModel$getModel (::FullContainerName const &name)
MCAPI ::std::shared_ptr<::FillingContainer$getBackingContainer (::FullContainerName const &name)
MCAPI void $tryCreateEntry (::StorageItemComponent *storageItemComponent, ::StorageWeightLimitItemComponent *storageWeightLimitItemComponent, ::FullContainerName const &name)
MCAPI ::std::unique_ptr<::DynamicContainerManager$createContainerManager (::FullContainerName const &id, ::ItemStack const &storageItem, ::StorageItemComponent *storageItemComponent, ::StorageWeightLimitItemComponent *storageWeightLimitItemComponent)
MCAPI uint $generateNewID ()
MCAPI void $tryLoadSavedStorageItem (::ListTag const &contentData, ::FullContainerName const &name)
MCAPI void $setExpired (::std::vector<::FullContainerName > const &removedContainers)
MCFOLD uint64 $getSize ()
MCAPI void $dtor ()
MCAPI void $dtor ()
MCAPI void $dtor ()

Static Public Member Functions

static MCAPI void sendCleanupPackets (::std::function< void(::Packet &)> const &broadcastPacketFunction, ::std::vector<::FullContainerName > const &removedContainers)
static MCAPI void ** $vftableForIDynamicContainerSerialization ()
static MCAPI void ** $vftableForIContainerRegistryTracker ()
static MCAPI void ** $vftableForIContainerRegistryAccess ()
static MCAPI void ** $vftable ()
static MCAPI void ** $vftable ()
static MCAPI void ** $vftable ()

Public Attributes

::ll::TypedStorage< 4, 4, uint > mNextDynamicId
::ll::TypedStorage< 8, 64, ::std::unordered_map<::FullContainerName, ::DynamicTrackedContainer > > mContainers
::ll::TypedStorage< 1, 1, bool const > mIsClientSide
::ll::TypedStorage< 4, 4, int > mTicksSinceLastCleanup
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::Bedrock::Threading::SharedRecursiveMutex > > mContainerContextMutex

Member Function Documentation

◆ serializeContainerContent()

virtual ::std::unique_ptr<::ListTag > ContainerRegistry::serializeContainerContent ( ::FullContainerName const & name,
::SaveContext const & saveContext )
virtual

◆ getDynamicContainerWeight()

virtual ::std::optional< int > ContainerRegistry::getDynamicContainerWeight ( ::FullContainerName const & name)
virtual

◆ hasContainer()

virtual bool ContainerRegistry::hasContainer ( ::FullContainerName const & name) const
virtual

◆ getModel()

virtual ::std::shared_ptr<::StorageItemContainerModel > ContainerRegistry::getModel ( ::FullContainerName const & name)
virtual

◆ getBackingContainer()

virtual ::std::shared_ptr<::FillingContainer > ContainerRegistry::getBackingContainer ( ::FullContainerName const & name)
virtual

◆ tryCreateEntry()

virtual void ContainerRegistry::tryCreateEntry ( ::StorageItemComponent * storageItemComponent,
::StorageWeightLimitItemComponent * storageWeightLimitItemComponent,
::FullContainerName const & name )
virtual

◆ createContainerManager()

virtual ::std::unique_ptr<::DynamicContainerManager > ContainerRegistry::createContainerManager ( ::FullContainerName const & id,
::ItemStack const & storageItem,
::StorageItemComponent * storageItemComponent,
::StorageWeightLimitItemComponent * storageWeightLimitItemComponent )
virtual

◆ generateNewID()

virtual uint ContainerRegistry::generateNewID ( )
virtual

◆ tryLoadSavedStorageItem()

virtual void ContainerRegistry::tryLoadSavedStorageItem ( ::ListTag const & contentData,
::FullContainerName const & name )
virtual

◆ setExpired()

virtual void ContainerRegistry::setExpired ( ::std::vector<::FullContainerName > const & removedContainers)
virtual

◆ getSize()

virtual uint64 ContainerRegistry::getSize ( )
virtual

◆ $dtor() [1/3]

MCAPI void IDynamicContainerSerialization::$dtor ( )
inherited
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() [1/3]

MCAPI void ** IDynamicContainerSerialization::$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.

◆ $dtor() [2/3]

MCAPI void IContainerRegistryAccess::$dtor ( )
inherited
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/3]

MCAPI void ** IContainerRegistryAccess::$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.

◆ $dtor() [3/3]

MCAPI void IContainerRegistryTracker::$dtor ( )
inherited
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() [3/3]

MCAPI void ** IContainerRegistryTracker::$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: