21class ExpandoContainerModel :
public ::ContainerModel {
24 using OnItemExpandedCallback = ::std::function<void(::std::string
const&,
int,
int)>;
29 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ItemInstance, uint>>> mItems;
30 ::ll::TypedStorage<8, 24, ::std::vector<::ExpandoModelElement>> mCurrentItems;
31 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry>> mCreativeItemRegistry;
32 ::ll::TypedStorage<8, 24, ::std::vector<::ExpandoModelElement>> mExpandedItems;
33 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string
const&,
int,
int)>> mOnItemExpanded;
38 ExpandoContainerModel();
43 virtual ~ExpandoContainerModel() ;
45 virtual void containerContentChanged(
int slot) ;
47 virtual ::ItemInstance
const& getItemInstance(
int modelSlot)
const ;
49 virtual void setItemInstance(
int modelSlot,
::ItemInstance const& item);
51 virtual bool isItemInstanceBased()
const ;
53 virtual void setItem(
int modelSlot,
::ItemStack const& item) ;
55 virtual ::ItemStack
const& getItemStack(
int modelSlot)
const ;
57 virtual ::std::vector<::ItemStack>
const& getItems()
const ;
59 virtual ::ItemStackBase
const& getItemStackBase(
int modelSlot)
const ;
61 virtual int getContainerSize()
const ;
63 virtual int getFilteredContainerSize()
const ;
65 virtual ::ContainerExpandStatus getItemExpandStatus(
int itemId)
const ;
67 virtual ::std::string
const& getItemGroupName(
int itemId)
const ;
69 virtual void switchItemExpando(
int itemId) ;
71 virtual void refreshContainer(
bool fullRefresh) ;
75 virtual void _init() ;
81 MCAPI ExpandoContainerModel(
84 ::ContainerCategory containerCategory,
85 ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry> creativeItemRegistry
88 MCAPI
void _generateCurrentItems();
90 MCAPI
void _refreshContainer(
bool fullRefresh);
99 ::ContainerCategory containerCategory,
100 ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry> creativeItemRegistry
113 MCAPI
void $containerContentChanged(
int slot);
115 MCAPI ::ItemInstance
const& $getItemInstance(
int modelSlot)
const;
117 MCAPI
void $setItemInstance(
int modelSlot,
::ItemInstance const& item);
119 MCFOLD
bool $isItemInstanceBased()
const;
121 MCFOLD
void $setItem(
int modelSlot,
::ItemStack const& item);
123 MCFOLD ::ItemStack
const& $getItemStack(
int modelSlot)
const;
125 MCFOLD ::std::vector<::ItemStack>
const& $getItems()
const;
127 MCAPI ::ItemStackBase
const& $getItemStackBase(
int modelSlot)
const;
129 MCFOLD
int $getContainerSize()
const;
131 MCFOLD
int $getFilteredContainerSize()
const;
133 MCAPI ::ContainerExpandStatus $getItemExpandStatus(
int itemId)
const;
135 MCAPI ::std::string
const& $getItemGroupName(
int itemId)
const;
137 MCAPI
void $switchItemExpando(
int itemId);
139 MCAPI
void $refreshContainer(
bool fullRefresh);