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

Public Types

enum  : int { SlotIngredient = 0 , SlotFuel = 1 , SlotResult = 2 , NumItems = 3 }
enum class  Property : uchar {
  Changed = 0 , Movable = 1 , ClientSideOnly = 2 , SaveCustomName = 3 ,
  CanRenderCustomName = 4 , Count = 5
}
using MapIdType = ::std::unordered_map<::std::string, ::BlockActorType>
using MapTypeId = ::std::unordered_map<::BlockActorType, ::std::string>
using Properties = ::Bedrock::EnumSet<::BlockActor::Property, 5>
using ItemStackNetIdChangedCallback = ::std::function<void(int, ::ItemStack const&)>
using TransactionContext = std::function<void(::Container&, int, ::ItemStack const&, ::ItemStack const&)>
using Iterator = ContainerIterator<Container>
using ConstIterator = ContainerIterator<Container const>
using ReverseIterator = std::reverse_iterator<Iterator>
using ConstReverseIterator = std::reverse_iterator<ConstIterator>

Public Member Functions

FurnaceBlockActoroperator= (FurnaceBlockActor const &)
 FurnaceBlockActor (FurnaceBlockActor const &)
virtual::ItemStack const & getItem (int index) const
virtual void setItem (int slot, ::ItemStack const &item)
virtual::std::string getName () const
virtual int getMaxStackSize () const
virtual int getContainerSize () const
virtual void onRemoved (::BlockSource &)
virtual void startOpen (::Actor &actor)
virtual void stopOpen (::Actor &actor)
virtual bool canPushInItem (int slot, int face, ::ItemStack const &item) const
virtual bool canPullOutItem (int slot, int face, ::ItemStack const &item) const
virtual::Container * getContainer ()
virtual::Container const * getContainer () const
virtual void load (::ILevel &level, ::CompoundTag const &base, ::DataLoadHelper &dataLoadHelper)
virtual void onCustomTagLoadDone (::BlockSource &region)
virtual bool save (::CompoundTag &tag, ::SaveContext const &saveContext) const
virtual void tick (::BlockSource &region)
virtual void onNeighborChanged (::BlockSource &region, ::BlockPos const &position)
virtual void onMove ()
virtual void serverInitItemStackIds (int containerSlot, int count, ::std::function< void(int, ::ItemStack const &)> onNetIdChanged)
virtual void fixupOnLoad (::LevelChunk &lc)
virtual ::std::unique_ptr<::BlockActorDataPacket_getUpdatePacket (::BlockSource &region)
virtual void _onUpdatePacket (::CompoundTag const &data, ::BlockSource &region)
MCAPI FurnaceBlockActor (::BlockActorType blockActorType, ::BlockPos const &pos, ::HashedString const &recipeTag, ::SharedTypes::Legacy::LevelSoundEvent smeltSound, ::SharedTypes::Legacy::ContainerType containerType, int burnInterval, ::Block const &unlitFurnace, ::Block const &litFurnace)
MCAPI void _tryBroadcastBurnSound (::BlockSource &region)
MCAPI void burn (::Recipes const &recipes)
MCAPI bool canBurn (::Recipes const &recipes)
MCAPI void checkForAlternativeFuelAchievement (::BlockSource &region, ::ItemStack const &item)
MCAPI void checkForSmeltEverythingAchievement (::BlockSource &region)
MCAPI int withdrawStoredXPReward ()
MCAPI void * $ctor (::BlockActorType blockActorType, ::BlockPos const &pos, ::HashedString const &recipeTag, ::SharedTypes::Legacy::LevelSoundEvent smeltSound, ::SharedTypes::Legacy::ContainerType containerType, int burnInterval, ::Block const &unlitFurnace, ::Block const &litFurnace)
MCAPI void $dtor ()
MCFOLD::ItemStack const & $getItem (int index) const
MCAPI void $setItem (int slot, ::ItemStack const &item)
MCAPI::std::string $getName () const
MCFOLD int $getMaxStackSize () const
MCFOLD int $getContainerSize () const
MCFOLD void $onRemoved (::BlockSource &)
MCAPI void $startOpen (::Actor &actor)
MCAPI void $stopOpen (::Actor &actor)
MCAPI bool $canPushInItem (int slot, int face, ::ItemStack const &item) const
MCAPI bool $canPullOutItem (int slot, int face, ::ItemStack const &item) const
MCFOLD::Container * $getContainer ()
MCFOLD::Container const * $getContainer () const
MCAPI void $load (::ILevel &level, ::CompoundTag const &base, ::DataLoadHelper &dataLoadHelper)
MCAPI void $onCustomTagLoadDone (::BlockSource &region)
MCAPI bool $save (::CompoundTag &tag, ::SaveContext const &saveContext) const
MCAPI void $tick (::BlockSource &region)
MCAPI void $onNeighborChanged (::BlockSource &region, ::BlockPos const &position)
MCFOLD void $onMove ()
MCAPI void $serverInitItemStackIds (int containerSlot, int count, ::std::function< void(int, ::ItemStack const &)> onNetIdChanged)
MCAPI void $fixupOnLoad (::LevelChunk &lc)
MCAPI ::std::unique_ptr<::BlockActorDataPacket$_getUpdatePacket (::BlockSource &region)
MCAPI void $_onUpdatePacket (::CompoundTag const &data, ::BlockSource &region)
LLAPI void refresh (optional_ref< class BlockSource > blockSource=std::nullopt)
virtual bool saveItemInstanceData (::CompoundTag &tag, ::SaveContext const &saveContext) const
virtual void saveBlockData (::CompoundTag &, ::BlockSource &) const
virtual void loadBlockData (::CompoundTag const &, ::BlockSource &, ::DataLoadHelper &)
virtual bool isPermanentlyRendered () const
virtual bool isWithinRenderDistance (::Vec3 const &cameraPosition) const
virtual void onChanged (::BlockSource &)
virtual void onPlace (::BlockSource &)
virtual bool isPreserved (::BlockSource &) const
virtual bool shouldPreserve (::BlockSource &)
virtual void triggerEvent (int, int)
virtual void executeEvent (::BlockSource &, ::BlockPos const &, ::Block const &, ::std::string const &, ::Actor &)
virtual float getShadowRadius (::BlockSource &) const
virtual bool hasAlphaLayer () const
virtual::BlockActor * getCrackEntity (::BlockSource &, ::BlockPos const &)
virtual::AABB getCollisionShape (::IConstBlockSource const &) const
virtual void getDebugText (::std::vector<::std::string > &outputInfo, ::BlockPos const &debugPos, ::BlockSource const *region) const
virtual::Bedrock::Safety::RedactableString const & getCustomName () const
virtual void setCustomName (::Bedrock::Safety::RedactableString const &name)
virtual::std::string getImmersiveReaderText (::BlockSource &)
virtual::PistonBlockActor * getOwningPiston (::BlockSource &)
virtual::PistonBlockActor const * getOwningPiston (::BlockSource &) const
virtual void eraseLootTable ()
virtual void onChunkLoaded (::LevelChunk &)
virtual void onChunkUnloaded (::LevelChunk &)
virtual void onSubChunkLoaded (::LevelChunk &, short, bool)
virtual ::std::vector<::std::string > getUgcStrings (::CompoundTag const &) const
virtual ::std::vector<::std::string > getFilteredUgcStrings (::CompoundTag const &) const
virtual void setUgcStrings (::CompoundTag &, ::std::vector<::std::string > const &) const
virtual void setFilteredUgcStrings (::CompoundTag &, ::std::vector<::std::string > const &) const
virtual bool validateData (::CompoundTag const &) const
virtual bool _playerCanUpdate (::Player const &) const
MCAPI_C::Bedrock::Safety::RedactableString getDisplayName () const
MCAPI bool onUpdatePacket (::CompoundTag const &data, ::BlockSource &region, ::Player const *fromPlayer)
MCAPI void * $ctor (::BlockActorType type, ::BlockPos const &pos, ::BlockActorRendererId rendererId)
MCAPI bool $saveItemInstanceData (::CompoundTag &tag, ::SaveContext const &saveContext) const
MCFOLD void $saveBlockData (::CompoundTag &, ::BlockSource &) const
MCFOLD void $loadBlockData (::CompoundTag const &, ::BlockSource &, ::DataLoadHelper &)
MCFOLD bool $isPermanentlyRendered () const
MCAPI bool $isWithinRenderDistance (::Vec3 const &cameraPosition) const
MCFOLD void $onChanged (::BlockSource &)
MCFOLD void $onPlace (::BlockSource &)
MCFOLD bool $isPreserved (::BlockSource &) const
MCFOLD bool $shouldPreserve (::BlockSource &)
MCFOLD void $triggerEvent (int, int)
MCFOLD void $executeEvent (::BlockSource &, ::BlockPos const &, ::Block const &, ::std::string const &, ::Actor &)
MCFOLD float $getShadowRadius (::BlockSource &) const
MCFOLD bool $hasAlphaLayer () const
MCFOLD::BlockActor * $getCrackEntity (::BlockSource &, ::BlockPos const &)
MCAPI::AABB $getCollisionShape (::IConstBlockSource const &) const
MCAPI void $getDebugText (::std::vector<::std::string > &outputInfo, ::BlockPos const &debugPos, ::BlockSource const *region) const
MCFOLD::Bedrock::Safety::RedactableString const & $getCustomName () const
MCAPI void $setCustomName (::Bedrock::Safety::RedactableString const &name)
MCFOLD::std::string $getImmersiveReaderText (::BlockSource &)
MCFOLD::PistonBlockActor * $getOwningPiston (::BlockSource &)
MCFOLD::PistonBlockActor const * $getOwningPiston (::BlockSource &) const
MCFOLD void $eraseLootTable ()
MCFOLD void $onChunkLoaded (::LevelChunk &)
MCFOLD void $onChunkUnloaded (::LevelChunk &)
MCFOLD void $onSubChunkLoaded (::LevelChunk &, short, bool)
MCFOLD ::std::vector<::std::string > $getUgcStrings (::CompoundTag const &) const
MCFOLD ::std::vector<::std::string > $getFilteredUgcStrings (::CompoundTag const &) const
MCFOLD void $setUgcStrings (::CompoundTag &, ::std::vector<::std::string > const &) const
MCFOLD void $setFilteredUgcStrings (::CompoundTag &, ::std::vector<::std::string > const &) const
MCFOLD bool $validateData (::CompoundTag const &) const
MCFOLD bool $_playerCanUpdate (::Player const &) const
std::string const & getTypeName () const
LLNDAPI optional_ref< ItemStackgetItemNonConst (int index)
ItemStackoperator[] (int index)
ItemStack const & operator[] (int index) const
constexpr Iterator begin () noexcept
constexpr ConstIterator cbegin () const noexcept
constexpr Iterator end () noexcept
constexpr ConstIterator cend () const noexcept
constexpr ReverseIterator rbegin () noexcept
constexpr ConstReverseIterator crbegin () const noexcept
constexpr ReverseIterator rend () noexcept
constexpr ConstReverseIterator crend () const noexcept
virtual void init ()
virtual void addContentChangeListener (::ContainerContentChangeListener *listener)
virtual void removeContentChangeListener (::ContainerContentChangeListener *listener)
virtual ::Bedrock::PubSub::Connector< void()> * getContainerRemovedConnector ()
virtual bool hasRemovedSubscribers () const
virtual bool hasRoomForItem (::ItemStack const &item) const
virtual bool addItem (::ItemStack &item)
virtual bool addItemWithForceBalance (::ItemStack &item)
virtual bool addItemToFirstEmptySlot (::ItemStack const &item)
virtual void setItemWithForceBalance (int slot, ::ItemStack const &item, bool forceBalanced)
virtual void removeItem (int slot, int count)
virtual void removeAllItems ()
virtual void removeAllItemsWithForceBalance ()
virtual void containerRemoved ()
virtual void dropSlotContent (::BlockSource &region, ::Vec3 const &pos, bool randomizeDrop, int slot)
virtual void dropContents (::BlockSource &region, ::Vec3 const &pos, bool randomizeDrop)
virtual ::std::vector<::ItemStackgetSlotCopies () const
virtual ::std::vector<::ItemStack const * > const getSlots () const
virtual int getEmptySlotsCount () const
virtual int getItemCount (::ItemStack const &compare) const
MCAPI int getItemCount (::std::function< bool(::ItemStack const &)> comparator) const
virtual int firstEmptySlot () const
virtual int firstItem () const
virtual int findFirstSlotForItem (::ItemStack const &item) const
virtual int reverseFindFirstSlotForItem (::ItemStack const &item) const
virtual void setContainerChanged (int slot)
virtual void setContainerMoved ()
virtual void setCustomName (::Bedrock::Safety::RedactableString const &name)
virtual bool hasCustomName () const
virtual void readAdditionalSaveData (::CompoundTag const &tag)
virtual void addAdditionalSaveData (::CompoundTag &tag)
virtual void createTransactionContext (::std::function< void(::Container &, int, ::ItemStack const &, ::ItemStack const &)> callback, ::std::function< void()> execute)
virtual void initializeContainerContents (::BlockSource &region)
virtual bool isEmpty () const
virtual bool isSlotDisabled (int) const
MCAPI void _dropSlotContent (::BlockSource &region, ::Random &random, ::Vec3 const &pos, bool randomizeDrop, int slot)
MCAPI void _serverInitId (int slot, ::ItemStack &item, ::std::function< void(int, ::ItemStack const &)> onNetIdChanged)
MCAPI int getRedstoneSignalFromContainer (::BlockSource &region)
MCAPI void removeCloseListener (::ContainerCloseListener *listener)
MCAPI void triggerTransactionChange (int slot, ::ItemStack const &oldItem, ::ItemStack const &newItem)
MCAPI void * $ctor (::Container const &)
MCAPI void * $ctor (::SharedTypes::Legacy::ContainerType type)
MCAPI void * $ctor (::SharedTypes::Legacy::ContainerType type, ::std::string const &name, bool customName)
MCAPI_C void * $ctor (::SharedTypes::Legacy::ContainerType type, ::Bedrock::Safety::RedactableString const &name, bool customName)
MCFOLD void $init ()
MCAPI void $addContentChangeListener (::ContainerContentChangeListener *listener)
MCAPI void $removeContentChangeListener (::ContainerContentChangeListener *listener)
MCFOLD ::Bedrock::PubSub::Connector< void()> * $getContainerRemovedConnector ()
MCAPI bool $hasRemovedSubscribers () const
MCAPI bool $hasRoomForItem (::ItemStack const &item) const
MCAPI bool $addItem (::ItemStack &item)
MCAPI bool $addItemWithForceBalance (::ItemStack &item)
MCAPI bool $addItemToFirstEmptySlot (::ItemStack const &item)
MCFOLD void $setItemWithForceBalance (int slot, ::ItemStack const &item, bool forceBalanced)
MCAPI void $removeItem (int slot, int count)
MCAPI void $removeAllItems ()
MCAPI void $removeAllItemsWithForceBalance ()
MCAPI void $containerRemoved ()
MCAPI void $dropSlotContent (::BlockSource &region, ::Vec3 const &pos, bool randomizeDrop, int slot)
MCAPI void $dropContents (::BlockSource &region, ::Vec3 const &pos, bool randomizeDrop)
MCAPI ::std::vector<::ItemStack$getSlotCopies () const
MCAPI ::std::vector<::ItemStack const * > const $getSlots () const
MCFOLD int $getEmptySlotsCount () const
MCAPI int $getItemCount (::ItemStack const &compare) const
MCAPI int $firstEmptySlot () const
MCAPI int $firstItem () const
MCAPI int $findFirstSlotForItem (::ItemStack const &item) const
MCAPI int $reverseFindFirstSlotForItem (::ItemStack const &item) const
MCAPI void $setContainerChanged (int slot)
MCAPI void $setContainerMoved ()
MCAPI void $setCustomName (::Bedrock::Safety::RedactableString const &name)
MCAPI bool $hasCustomName () const
MCAPI void $readAdditionalSaveData (::CompoundTag const &tag)
MCAPI void $addAdditionalSaveData (::CompoundTag &tag)
MCAPI void $createTransactionContext (::std::function< void(::Container &, int, ::ItemStack const &, ::ItemStack const &)> callback, ::std::function< void()> execute)
MCFOLD void $initializeContainerContents (::BlockSource &region)
MCAPI bool $isEmpty () const
MCFOLD bool $isSlotDisabled (int) const

Static Public Member Functions

static MCAPI float _getXPRewardMultiplier (::ItemStackBase const &item)
static MCAPI int getAvailableFuelSetCount (int slot, ::ItemStackBase const &item)
static MCAPI float getBurnDuration (::ItemStackBase const &itemInstance, float burnInterval)
static MCAPI float getItemBurnDuration (::Item const &item, float burnInterval)
static MCAPI int getXPRewardFromSmeltingItems (::ItemStackBase const &item, int numItemsSmelted)
static MCAPI_C bool isItemAllowedInFuelSlot (int slot, ::ItemStackBase const &item, int amount)
static MCAPI ::std::string const & BURN_DURATION_KEY ()
static MCAPI int const & BURN_INTERVAL ()
static MCAPI ::std::string const & BURN_TIME_KEY ()
static MCAPI ::std::string const & COOK_TIME_KEY ()
static MCAPI ::std::string const & CUSTOM_NAME_KEY ()
static MCAPI float const & DEFAULT_SMELTING_TIME ()
static MCAPI ::std::string const & FILTERED_CUSTOM_NAME_KEY ()
static MCAPI ::std::string const & ITEMS_LIST_KEY ()
static MCAPI ::std::string const & LAST_FUEL_KEY ()
static MCAPI ::std::string const & SLOT_KEY ()
static MCAPI ::std::string const & STORED_XP_DEPRECATED_KEY ()
static MCAPI ::std::string const & STORED_XP_KEY ()
static MCAPI void ** $vftableForContainer ()
static MCAPI void ** $vftableForBlockActor ()
static LLNDAPI std::shared_ptr< BlockActorcreate (class CompoundTag const &nbt)
static LLNDAPI std::shared_ptr< BlockActorcreate (class CompoundTag const &nbt, class BlockPos const &pos)
static MCAPI ::std::unordered_map<::BlockActorType, ::std::string > const & _getClassIdMap ()
static MCAPI ::std::shared_ptr<::BlockActor > loadStatic (::ILevel &level, ::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
static MCAPI void ** $vftable ()
static MCAPI ::SharedTypes::Legacy::ContainerType getContainerTypeId (::std::string const &name)
static MCAPI ::std::function< bool(::ItemStack const &)> sameItemAndAuxComparator (::ItemDescriptor const &descriptor)
static MCAPI ::BidirectionalUnorderedMap<::SharedTypes::Legacy::ContainerType, ::std::string > const & containerTypeMap ()
static MCAPI void ** $vftable ()

Public Attributes

::ll::TypedStorage< 4, 4, int > mLitTime
::ll::TypedStorage< 4, 4, int > mLitDuration
::ll::TypedStorage< 4, 4, int > mCookingProgress
::ll::TypedStorage< 4, 4, uint > mStoredXP
::ll::TypedStorage< 8, 456, ::ItemStack[3]> mItems
::ll::TypedStorage< 1, 3, bool[3]> mDirty
::ll::TypedStorage< 8, 64, ::std::unordered_set<::ActorUniqueID > > mActors
::ll::TypedStorage< 8, 48, ::HashedString const > mRecipeTag
::ll::TypedStorage< 4, 4, int const > mBurnInterval
::ll::TypedStorage< 1, 1, bool > mOpenByLocalPlayer
::ll::TypedStorage< 4, 4, ::SharedTypes::Legacy::LevelSoundEvent > mSmeltSoundEvent
::ll::TypedStorage< 4, 4, int > mSoundTick
::ll::TypedStorage< 4, 4, int > mSoundTickTarget
::ll::TypedStorage< 8, 8, ::Block const & > mUnlitFurnace
::ll::TypedStorage< 8, 8, ::Block const & > mLitFurnace
::ll::TypedStorage< 8, 128, ::ItemInstancemLastFuelItem
::ll::TypedStorage< 1, 1, bool > mNoDrop
::ll::TypedStorage< 1, 1, bool > mNeedsLitStateFixup
::ll::TypedStorage< 4, 4, int > mTickCount
::ll::TypedStorage< 4, 4, int > mRepairCost
::ll::TypedStorage< 4, 12, ::BlockPosmPosition
::ll::TypedStorage< 4, 24, ::AABBmBB
::ll::TypedStorage< 1, 1, ::BlockActorRendererId > mRendererId
::ll::TypedStorage< 1, 1, ::BlockActorType const > mType
::ll::TypedStorage< 1, 1, ::Bedrock::EnumSet<::BlockActor::Property, 5 > > mProperties
::ll::TypedStorage< 8, 72, ::Bedrock::Safety::RedactableStringmCustomName
::ll::TypedStorage< 8, 24, ::ActorTerrainInterlockDatamTerrainInterlockData
::SharedTypes::Legacy::ContainerType mContainerType
::SharedTypes::Legacy::ContainerType mGameplayContainerType
::std::unordered_set<::ContainerContentChangeListener * > mContentChangeListeners
::std::unordered_set<::ContainerSizeChangeListener * > mSizeChangeListeners
::std::unordered_set<::ContainerCloseListener * > mCloseListeners
::Container::PublisherWrapper mRemovedPublisher
::std::deque< TransactionContext > mTransactionContextStack
::Bedrock::Safety::RedactableString mName
bool mCustomName
::ContainerOwner mContainerOwner
::ContainerRuntimeId mContainerRuntimeId

Member Function Documentation

◆ getItem()

virtual::ItemStack const & FurnaceBlockActor::getItem ( int index) const
virtual

Implements Container.

◆ setItem()

virtual void FurnaceBlockActor::setItem ( int slot,
::ItemStack const & item )
virtual

Implements Container.

◆ getMaxStackSize()

virtual int FurnaceBlockActor::getMaxStackSize ( ) const
virtual

Implements Container.

◆ getContainerSize()

virtual int FurnaceBlockActor::getContainerSize ( ) const
virtual

Implements Container.

◆ onRemoved()

virtual void FurnaceBlockActor::onRemoved ( ::BlockSource & )
virtual

Reimplemented from BlockActor.

◆ startOpen()

virtual void FurnaceBlockActor::startOpen ( ::Actor & actor)
virtual

Implements Container.

◆ stopOpen()

virtual void FurnaceBlockActor::stopOpen ( ::Actor & actor)
virtual

Reimplemented from Container.

◆ canPushInItem()

virtual bool FurnaceBlockActor::canPushInItem ( int slot,
int face,
::ItemStack const & item ) const
virtual

Reimplemented from Container.

◆ canPullOutItem()

virtual bool FurnaceBlockActor::canPullOutItem ( int slot,
int face,
::ItemStack const & item ) const
virtual

Reimplemented from Container.

◆ load()

virtual void FurnaceBlockActor::load ( ::ILevel & level,
::CompoundTag const & base,
::DataLoadHelper & dataLoadHelper )
virtual

Reimplemented from BlockActor.

◆ onCustomTagLoadDone()

virtual void FurnaceBlockActor::onCustomTagLoadDone ( ::BlockSource & region)
virtual

Reimplemented from BlockActor.

◆ save()

virtual bool FurnaceBlockActor::save ( ::CompoundTag & tag,
::SaveContext const & saveContext ) const
virtual

Reimplemented from BlockActor.

◆ tick()

virtual void FurnaceBlockActor::tick ( ::BlockSource & region)
virtual

Reimplemented from BlockActor.

◆ onNeighborChanged()

virtual void FurnaceBlockActor::onNeighborChanged ( ::BlockSource & region,
::BlockPos const & position )
virtual

Reimplemented from BlockActor.

◆ onMove()

virtual void FurnaceBlockActor::onMove ( )
virtual

Reimplemented from BlockActor.

◆ serverInitItemStackIds()

virtual void FurnaceBlockActor::serverInitItemStackIds ( int containerSlot,
int count,
::std::function< void(int, ::ItemStack const &)> onNetIdChanged )
virtual

Implements Container.

◆ fixupOnLoad()

virtual void FurnaceBlockActor::fixupOnLoad ( ::LevelChunk & lc)
virtual

Reimplemented from BlockActor.

◆ _onUpdatePacket()

virtual void FurnaceBlockActor::_onUpdatePacket ( ::CompoundTag const & data,
::BlockSource & region )
virtual

Reimplemented from BlockActor.


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