3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/ecs/WeakEntityRef.h"
7#include "mc/world/Container.h"
8#include "mc/world/item/ClockSpriteCalculator.h"
9#include "mc/world/item/CompassSpriteCalculator.h"
10#include "mc/world/level/block/actor/VanillaBlockActor.h"
25class ShelfBlockActor :
public ::VanillaBlockActor,
public ::Container {
29 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
30 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
31 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
32 ::ll::TypedStorage<1, 1, bool> mUpdateCalculators;
33 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mItems;
34 ::ll::TypedStorage<1, 1, bool> mIgnoreLighting;
35 ::ll::TypedStorage<8, 24, ::WeakEntityRef> mDisplayEntity;
36 ::ll::TypedStorage<1, 1, bool> mEmitSingleItemSwapVibration;
46 virtual ::std::string getName()
const ;
54 virtual ::Container* getContainer() ;
56 virtual ::Container
const* getContainer()
const ;
58 virtual ::ItemStack
const& getItem(
int slot)
const ;
60 virtual void setItem(
int slot,
::ItemStack const& item) ;
62 virtual int getMaxStackSize()
const ;
64 virtual int getContainerSize()
const ;
66 virtual void startOpen(
::Actor&) ;
68 virtual void stopOpen(
::Actor& actor) ;
70 virtual void serverInitItemStackIds(
73 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
80 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource&) ;
116 MCNAPI ::ItemStack
const&
$getItem(
int slot)
const;
131 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
Definition BlockActorDataPacket.h:19
Definition BlockSource.h:72
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition ItemStack.h:26
Definition SaveContext.h:5
MCAPI int $getMaxStackSize() const
MCAPI void $startOpen(::Actor &)
MCAPI void $stopOpen(::Actor &actor)
MCAPI void $onChanged(::BlockSource ®ion)
MCAPI void * $ctor(::BlockPos const &pos)
MCAPI::std::string $getName() const
MCAPI bool $save(::CompoundTag &tag, ::SaveContext const &saveContext) const
MCAPI void $onRemoved(::BlockSource ®ion)
MCAPI::ItemStack const & $getItem(int slot) const
MCAPI void updateItemCalculators(::ItemStack const &item, ::BlockSource const ®ion)
MCAPI void $serverInitItemStackIds(int containerSlot, int count, ::std::function< void(int, ::ItemStack const &)> onNetIdChanged)
MCAPI ShelfBlockActor(::BlockPos const &pos)
MCAPI int $getContainerSize() const
MCAPI void $setItem(int slot, ::ItemStack const &item)
MCAPI void _setItemInternal(int slot, ::ItemStack const &item, bool isLoading, bool emitVibrations)
MCAPI void $_onUpdatePacket(::CompoundTag const &data, ::BlockSource ®ion)
MCAPI void $tick(::BlockSource ®ion)
MCAPI::Container const * $getContainer() const
MCAPI::Container * $getContainer()
MCAPI ::std::unique_ptr<::BlockActorDataPacket > $_getUpdatePacket(::BlockSource &)
MCAPI void $load(::ILevel &level, ::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)