31 ::ll::TypedStorage<1, 1, bool const> mIsClientSide;
32 ::ll::TypedStorage<8, 32, ::std::string> mContainerStringName;
33 ::ll::TypedStorage<4, 12, ::FullContainerName const> mFullContainerName;
38 ::SharedTypes::Legacy::ContainerType,
40 mTrackedOnContainerChangedCallbacks;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<void(
int,
::ItemStack const&,
::ItemStack const&)>>>
42 mOnContainerChangedCallbacks;
44 mPlayerNotificationCallbacks;
48 ::std::vector<::Bedrock::PubSub::
50 mContainerSlotChangePublishers;
51 ::ll::TypedStorage<4, 4, ::ContainerCategory> mContainerCategory;
52 ::ll::TypedStorage<8, 24, ::std::vector<::SlotData>> mItemSource;
53 ::ll::TypedStorage<8, 8, ::SparseContainerClient*> mClientUIContainer;
56 mContainerSizeChangePublisher;
57 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mItems;
67 virtual ~ContainerModel() ;
69 virtual void postInit();
71 virtual void releaseResources();
73 virtual void containerContentChanged(
int slot) ;
75 virtual int getContainerSize()
const;
77 virtual int getFilteredContainerSize()
const;
79 virtual void tick(
int selectedSlot);
81 virtual ::ContainerWeakRef getContainerWeakRef()
const;
83 virtual ::ItemStack
const& getItemStack(
int modelSlot)
const;
85 virtual ::std::vector<::ItemStack>
const& getItems()
const;
87 virtual ::ItemInstance
const& getItemInstance(
int modelSlot)
const;
89 virtual ::ItemStackBase
const& getItemStackBase(
int modelSlot)
const;
91 virtual bool isItemInstanceBased()
const;
93 virtual void setItem(
int modelSlot,
::ItemStack const& item);
95 virtual bool isValid();
99 virtual bool isExpanableItemFiltered(
int index)
const;
101 virtual ::ContainerExpandStatus getItemExpandStatus(
int itemId)
const;
103 virtual ::std::string
const& getItemGroupName(
int itemId)
const;
105 virtual void switchItemExpando(
int itemId);
107 virtual bool isSlotDisabled(
int slot)
const;
109 virtual void refreshContainer(
bool fullRefresh);
111 virtual ::Container* _getContainer()
const;
113 virtual int _getContainerOffset()
const;
115 virtual void _init();
123 MCAPI ContainerModel(
126 ::ContainerCategory containerCategory,
130 MCAPI
void _onClientUIItemNetworkChanged(
int containerSlot,
::ItemStack const& oldItem,
::ItemStack const& newItem);
133 MCAPI ::SlotData
const& getItemSource(
int slot)
const;
135 MCAPI
int getValidIngredientItemCount(
::ItemDescriptor const& descriptor)
const;
141 MCAPI ::Bedrock::PubSub::Subscription registerContainerSizeChangedListener(::std::function<
void(
int)> callback);
143 MCAPI ::Bedrock::PubSub::Subscription
144 registerContainerSlotChangedListener(
int slot, ::std::function<
void(
::ItemStackBase const&)> callback);
148 registerOnContainerChangedCallback(::std::function<
void(
int,
::ItemStack const&,
::ItemStack const&)> callback);
151 registerPlayerNotificationCallback(::std::function<
void(
int,
::ItemStack const&,
::ItemStack const&)> callback);
155 MCAPI
void setItemSource(
int slot,
::SlotData const& srcSlot);
158 MCAPI
void unregisterTrackedOnContainerChangedCallback(::SharedTypes::Legacy::ContainerType containerType);
168 ::ContainerCategory containerCategory,
182 MCFOLD
void $postInit();
184 MCAPI
void $releaseResources();
186 MCAPI
void $containerContentChanged(
int slot);
188 MCAPI
int $getContainerSize()
const;
190 MCFOLD
int $getFilteredContainerSize()
const;
192 MCFOLD
void $tick(
int selectedSlot);
194 MCAPI ::ContainerWeakRef $getContainerWeakRef()
const;
196 MCAPI ::ItemStack
const& $getItemStack(
int modelSlot)
const;
198 MCFOLD ::std::vector<::ItemStack>
const& $getItems()
const;
200 MCAPI ::ItemInstance
const& $getItemInstance(
int modelSlot)
const;
202 MCAPI ::ItemStackBase
const& $getItemStackBase(
int modelSlot)
const;
204 MCFOLD
bool $isItemInstanceBased()
const;
206 MCAPI
void $setItem(
int modelSlot,
::ItemStack const& item);
208 MCFOLD
bool $isValid();
212 MCFOLD
bool $isExpanableItemFiltered(
int index)
const;
214 MCFOLD ::ContainerExpandStatus $getItemExpandStatus(
int itemId)
const;
216 MCFOLD ::std::string
const& $getItemGroupName(
int itemId)
const;
218 MCFOLD
void $switchItemExpando(
int itemId);
220 MCFOLD
bool $isSlotDisabled(
int slot)
const;
222 MCFOLD
void $refreshContainer(
bool fullRefresh);
224 MCFOLD ::Container* $_getContainer()
const;
226 MCFOLD
int $_getContainerOffset()
const;
238 MCAPI
static void** $vftable();
Definition ContainerContentChangeListener.h:5