3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/world/item/ItemStack.h"
7#include "mc/world/level/block/actor/DecoratedPotAnimation.h"
8#include "mc/world/level/block/actor/RandomizableBlockActorContainer.h"
23class DecoratedPotBlockActor :
public ::RandomizableBlockActorContainer {
26 enum class PotFace : uint64 {
33 using SherdList = ::std::array<::std::string, 4>;
38 ::ll::TypedStorage<8, 128, ::std::array<::std::string, 4>> mSherdItemNames;
39 ::ll::TypedStorage<8, 152, ::ItemStack> mContainedItem;
40 ::ll::TypedStorage<1, 1, ::DecoratedPotAnimation> mAnimation;
41 ::ll::TypedStorage<4, 4, int> mAnimationTick;
46 DecoratedPotBlockActor();
57 virtual void serverInitItemStackIds(
60 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
63 virtual int getContainerSize()
const ;
65 virtual int getMaxStackSize()
const ;
67 virtual ::ItemStack
const& getItem(
int)
const ;
69 virtual void setItem(
int,
::ItemStack const& item) ;
71 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource&) ;
79 MCAPI
explicit DecoratedPotBlockActor(
::BlockPos const& pos);
96 MCNAPI static ::std::string getDelimitedConcatenatedSherdNames(
::CompoundTag const* userData);
103 saveSherdsToItemForInventoryRendering(
::ItemStack& itemInstance, ::std::string
const& screenSherdNames);
134 $serverInitItemStackIds(
int containerSlot,
int, ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged);
Definition BlockActorDataPacket.h:19
Definition BlockSource.h:72
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
static MCAPI void ** $vftableForIVanillaMainBlockActorComponent()
MCAPI void $setItem(int, ::ItemStack const &item)
static MCAPI ::std::array<::std::string, 4 > const & DEFAULT_SHERD_LIST()
static MCAPI void saveSherdsToTag(::CompoundTag &tag, ::std::array<::std::string, 4 > const &sherds, bool forceSaveDefaultSherds)
static MCAPI ::std::optional<::std::array<::std::string, 4 > > tryGetSherdsFromTag(::CompoundTag const &tag)
static MCAPI void ** $vftableForBlockActor()
MCAPI void $tick(::BlockSource ®ion)
MCAPI void _setContainedItem(::ItemStack const &item)
MCAPI void $_onUpdatePacket(::CompoundTag const &data, ::BlockSource ®ion)
static MCAPI bool _areDefaultSherds(::std::array<::std::string, 4 > const &sherds)
static MCAPI void ** $vftable()
MCAPI::ItemStack const & $getItem(int) const
MCAPI int $getMaxStackSize() const
MCAPI bool $save(::CompoundTag &tag, ::SaveContext const &saveContext) const
static MCAPI void removeDefaultSherdsFromUserData(::ItemStackBase &itemInstance)
MCAPI ::std::unique_ptr<::BlockActorDataPacket > $_getUpdatePacket(::BlockSource &)
MCAPI void $load(::ILevel &level, ::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
MCAPI void tryAddItem(::Player &player)
MCAPI int $getContainerSize() const
static MCAPI void ** $vftableForIVanillaTickBlockActorComponent()
static MCAPI void ** $vftableForIVanillaRenderBlockActorComponent()
Definition ItemStackBase.h:45
Definition ItemStack.h:26
Definition SaveContext.h:5