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;
35 SimpleSparseContainer& operator=(SimpleSparseContainer
const&);
36 SimpleSparseContainer(SimpleSparseContainer
const&);
37 SimpleSparseContainer();
42 virtual ~SimpleSparseContainer() =
default;
44 virtual ::ItemStack
const& getItem(
int slot)
const ;
46 virtual void setItem(
int slot,
::ItemStack const& item) ;
48 virtual void startOpen(
::Actor& actor) ;
50 virtual void stopOpen(
::Actor& actor) ;
52 virtual int getContainerSize()
const ;
54 virtual int getMaxStackSize()
const ;
56 virtual void containerContentChanged(
int slot) ;
58 virtual void serverInitItemStackIds(
61 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
68 MCAPI SimpleSparseContainer(
69 ::Container& backingContainer,
70 ::SparseContainerBackingSetType backingSetType,
71 ::std::unique_ptr<::ISparseContainerSetListener> sparseContainerSetListener,
72 ::std::unique_ptr<::IPlayerContainerSetter> playerSetter
75 MCAPI
void pushAllToBackingContainer();
78 MCAPI
void setCreatedItem(
int slot,
::ItemStack const& item);
86 ::Container& backingContainer,
87 ::SparseContainerBackingSetType backingSetType,
88 ::std::unique_ptr<::ISparseContainerSetListener> sparseContainerSetListener,
89 ::std::unique_ptr<::IPlayerContainerSetter> playerSetter
96 MCAPI ::ItemStack
const& $getItem(
int slot)
const;
98 MCAPI
void $setItem(
int slot,
::ItemStack const& item);
100 MCAPI
void $startOpen(
::Actor& actor);
102 MCAPI
void $stopOpen(
::Actor& actor);
104 MCAPI
int $getContainerSize()
const;
106 MCAPI
int $getMaxStackSize()
const;
109 MCAPI
void $containerContentChanged(
int slot);
111 MCFOLD
void $containerContentChanged(
int slot);
114 MCFOLD
void $serverInitItemStackIds(
117 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
126 MCAPI
static void** $vftableForContainerContentChangeListener();
128 MCAPI
static void** $vftableForContainer();
Definition ContainerContentChangeListener.h:5