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)
const;
109 virtual void refreshContainer(
bool);
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);
132 MCAPI_C ::SlotData
const& getItemSource(
int slot)
const;
134 MCAPI_C
int getValidIngredientItemCount(
::ItemDescriptor const& descriptor)
const;
138 MCAPI_C ::Bedrock::PubSub::Subscription registerContainerSizeChangedListener(::std::function<
void(
int)> callback);
140 MCAPI_C ::Bedrock::PubSub::Subscription
141 registerContainerSlotChangedListener(
int slot, ::std::function<
void(
::ItemStackBase const&)> callback);
144 registerOnContainerChangedCallback(::std::function<
void(
int,
::ItemStack const&,
::ItemStack const&)> callback);
147 registerPlayerNotificationCallback(::std::function<
void(
int,
::ItemStack const&,
::ItemStack const&)> callback);
151 MCAPI
void setItemSource(
int slot,
::SlotData const& srcSlot);
153 MCAPI_C
void unregisterTrackedOnContainerChangedCallback(::SharedTypes::Legacy::ContainerType containerType);
162 ::ContainerCategory containerCategory,
176 MCFOLD
void $postInit();
178 MCAPI
void $releaseResources();
180 MCAPI
void $containerContentChanged(
int slot);
182 MCAPI
int $getContainerSize()
const;
184 MCFOLD
int $getFilteredContainerSize()
const;
186 MCFOLD
void $tick(
int selectedSlot);
188 MCAPI ::ContainerWeakRef $getContainerWeakRef()
const;
190 MCAPI ::ItemStack
const& $getItemStack(
int modelSlot)
const;
192 MCAPI ::std::vector<::ItemStack>
const& $getItems()
const;
194 MCAPI ::ItemInstance
const& $getItemInstance(
int modelSlot)
const;
196 MCAPI ::ItemStackBase
const& $getItemStackBase(
int modelSlot)
const;
198 MCFOLD
bool $isItemInstanceBased()
const;
200 MCAPI
void $setItem(
int modelSlot,
::ItemStack const& item);
202 MCFOLD
bool $isValid();
206 MCFOLD
bool $isExpanableItemFiltered(
int index)
const;
208 MCFOLD ::ContainerExpandStatus $getItemExpandStatus(
int itemId)
const;
210 MCFOLD ::std::string
const& $getItemGroupName(
int itemId)
const;
212 MCFOLD
void $switchItemExpando(
int itemId);
214 MCFOLD
bool $isSlotDisabled(
int)
const;
216 MCFOLD
void $refreshContainer(
bool);
218 MCFOLD ::Container* $_getContainer()
const;
220 MCFOLD
int $_getContainerOffset()
const;
232 MCAPI
static void** $vftable();
Definition ContainerContentChangeListener.h:5