21 using SparseContainerData = ::std::unordered_map<int, ::ItemStack>;
26 ::ll::TypedStorage<8, 8, ::Container&> mBackingContainer;
27 ::ll::TypedStorage<4, 4, ::SparseContainerBackingSetType const> mBackingSetType;
28 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::ItemStack>> mItems;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ISparseContainerSetListener>> mSparseContainerSetListener;
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IPlayerContainerSetter>> mPlayerSetter;
46 virtual ::ItemStack
const& getItem(
int slot)
const ;
49 virtual void setItem(
int slot,
::ItemStack const& item) ;
52 virtual void startOpen(
::Actor& actor) ;
55 virtual void stopOpen(
::Actor& actor) ;
58 virtual int getContainerSize()
const ;
61 virtual int getMaxStackSize()
const ;
64 virtual void containerContentChanged(
int slot) ;
67 virtual void serverInitItemStackIds(
70 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
79 ::SparseContainerBackingSetType backingSetType,
80 ::std::unique_ptr<::ISparseContainerSetListener> sparseContainerSetListener,
81 ::std::unique_ptr<::IPlayerContainerSetter> playerSetter
84 MCAPI
void _setBackingContainerSlot(
int slot,
::ItemStack const& newItem);
92 ::SparseContainerBackingSetType backingSetType,
93 ::std::unique_ptr<::ISparseContainerSetListener> sparseContainerSetListener,
94 ::std::unique_ptr<::IPlayerContainerSetter> playerSetter
101 MCAPI ::ItemStack
const& $getItem(
int slot)
const;
103 MCAPI
void $setItem(
int slot,
::ItemStack const& item);
105 MCAPI
void $startOpen(
::Actor& actor);
107 MCAPI
void $stopOpen(
::Actor& actor);
109 MCAPI
int $getContainerSize()
const;
111 MCAPI
int $getMaxStackSize()
const;
113 MCAPI
void $containerContentChanged(
int slot);
115 MCFOLD
void $serverInitItemStackIds(
118 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
125 MCAPI
static void** $vftableForContainerContentChangeListener();
127 MCAPI
static void** $vftableForContainer();
Definition ContainerContentChangeListener.h:5