32 ::ll::TypedStorage<1, 1, bool const> mIsClientSide;
33 ::ll::TypedStorage<8, 32, ::std::string> mContainerStringName;
34 ::ll::TypedStorage<4, 12, ::FullContainerName const> mFullContainerName;
39 ::SharedTypes::Legacy::ContainerType,
41 mTrackedOnContainerChangedCallbacks;
42 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<void(
int,
::ItemStack const&,
::ItemStack const&)>>>
43 mOnContainerChangedCallbacks;
45 mPlayerNotificationCallbacks;
46 ::ll::TypedStorage<4, 4, ::ContainerCategory> mContainerCategory;
47 ::ll::TypedStorage<8, 24, ::std::vector<::SlotData>> mItemSource;
48 ::ll::TypedStorage<8, 8, ::SparseContainerClient*> mClientUIContainer;
49 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mItems;
59 virtual ~ContainerModel() ;
61 virtual void postInit();
63 virtual void releaseResources();
65 virtual void containerContentChanged(
int slot) ;
67 virtual int getContainerSize()
const;
69 virtual int getFilteredContainerSize()
const;
71 virtual void tick(
int);
73 virtual ::ContainerWeakRef getContainerWeakRef()
const;
75 virtual ::ItemStack
const& getItemStack(
int modelSlot)
const;
77 virtual ::std::vector<::ItemStack>
const& getItems()
const;
79 virtual ::ItemInstance
const& getItemInstance(
int modelSlot)
const;
81 virtual ::ItemStackBase
const& getItemStackBase(
int modelSlot)
const;
83 virtual bool isItemInstanceBased()
const;
85 virtual void setItem(
int modelSlot,
::ItemStack const& item);
87 virtual bool isValid();
91 virtual bool isExpanableItemFiltered(
int index)
const;
93 virtual ::ContainerExpandStatus getItemExpandStatus(
int itemId)
const;
95 virtual ::std::string
const& getItemGroupName(
int itemId)
const;
97 virtual void switchItemExpando(
int itemId);
99 virtual bool isSlotDisabled(
int slot)
const;
101 virtual void refreshContainer(
bool fullRefresh);
103 virtual ::Container* _getContainer()
const;
105 virtual int _getContainerOffset()
const;
107 virtual void _init();
115 MCAPI ContainerModel(
118 ::ContainerCategory containerCategory,
123 MCAPI
void _clearCreatedItem(
int modelSlot);
126 MCAPI
void _onClientUIItemNetworkChanged(
int containerSlot,
::ItemStack const& oldItem,
::ItemStack const& newItem);
129 MCAPI
void _setCreatedItem(::ItemStackRequestId
const& currentRequestId,
int modelSlot,
::ItemStack const& newItem);
131 MCAPI
bool _useLegacyTransactions()
const;
133 MCFOLD ::SparseContainerClient
const* getClientUIContainer()
const;
135 MCFOLD ::ContainerCategory getContainerCategory()
const;
137 MCFOLD ::ContainerEnumName getContainerEnumName()
const;
139 MCAPI
int getContainerSlot(
int modelSlot)
const;
142 MCFOLD ::std::string
const& getContainerStringName()
const;
144 MCFOLD ::FullContainerName getFullContainerName()
const;
149 MCAPI ::SlotData
const& getItemSource(
int slot)
const;
152 MCAPI
int getModelSlot(
int containerSlot)
const;
155 MCAPI
int getValidIngredientItemCount(
::ItemDescriptor const& descriptor)
const;
158 MCAPI
void initContainerRuntimeId();
161 MCAPI
bool isIntermediaryCategory()
const;
169 registerOnContainerChangedCallback(::std::function<
void(
int,
::ItemStack const&,
::ItemStack const&)> callback);
172 registerPlayerNotificationCallback(::std::function<
void(
int,
::ItemStack const&,
::ItemStack const&)> callback);
175 MCAPI
void registerTrackedOnContainerChangedCallback(
177 ::SharedTypes::Legacy::ContainerType containerType
181 MCAPI
void serverInitItemStackIds();
186 MCAPI
void setItemSource(
int slot,
::SlotData const& srcSlot);
188 MCAPI
void unregisterTrackedOnContainerChangedCallback(::SharedTypes::Legacy::ContainerType containerType);
198 ::ContainerCategory containerCategory,
212 MCFOLD
void $postInit();
214 MCAPI
void $releaseResources();
216 MCAPI
void $containerContentChanged(
int slot);
218 MCAPI
int $getContainerSize()
const;
220 MCAPI
int $getFilteredContainerSize()
const;
222 MCFOLD
void $tick(
int);
224 MCAPI ::ContainerWeakRef $getContainerWeakRef()
const;
226 MCAPI ::ItemStack
const& $getItemStack(
int modelSlot)
const;
228 MCFOLD ::std::vector<::ItemStack>
const& $getItems()
const;
230 MCAPI ::ItemInstance
const& $getItemInstance(
int modelSlot)
const;
232 MCAPI ::ItemStackBase
const& $getItemStackBase(
int modelSlot)
const;
234 MCFOLD
bool $isItemInstanceBased()
const;
236 MCAPI
void $setItem(
int modelSlot,
::ItemStack const& item);
238 MCFOLD
bool $isValid();
242 MCFOLD
bool $isExpanableItemFiltered(
int index)
const;
244 MCFOLD ::ContainerExpandStatus $getItemExpandStatus(
int itemId)
const;
246 MCFOLD ::std::string
const& $getItemGroupName(
int itemId)
const;
248 MCFOLD
void $switchItemExpando(
int itemId);
250 MCFOLD
bool $isSlotDisabled(
int slot)
const;
252 MCFOLD
void $refreshContainer(
bool fullRefresh);
254 MCFOLD ::Container* $_getContainer()
const;
256 MCFOLD
int $_getContainerOffset()
const;
268 MCAPI
static void** $vftable();
Definition ContainerContentChangeListener.h:5