22 using FilterFunction = ::std::function<::FilterResult(
::ItemInstance const&,
bool)>;
27 ::ll::TypedStorage<1, 1, bool> mDoExpandoGroups;
28 ::ll::TypedStorage<1, 1, bool> mIsFiltering;
29 ::ll::TypedStorage<4, 4, int> mFilteredItemCount;
30 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ItemInstance, uint>>> mSavedItems;
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ItemInstance, uint>>> mActiveFilteredExpandableSetHeads;
32 ::ll::TypedStorage<8, 64, ::std::function<::FilterResult(
::ItemInstance const&,
bool)>> mFilterRule;
37 FilteredContainerModel();
42 virtual ~FilteredContainerModel() =
default;
44 virtual void containerContentChanged(
int slot) ;
46 virtual ::ItemInstance
const& getItemInstance(
int modelSlot)
const ;
48 virtual void setItemInstance(
int modelSlot,
::ItemInstance const& item) ;
50 virtual void refreshContainer(
bool fullRefresh) ;
52 virtual int getContainerSize()
const ;
54 virtual int getFilteredContainerSize()
const ;
56 virtual bool isExpanableItemFiltered(
int index)
const ;
58 virtual int getIndexForCreativeItem(
::ItemStackBase const& item)
const ;
60 virtual void _init() ;
69 ::ContainerCategory containerCategory,
70 ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry> creativeItemRegistry,
85 ::ContainerCategory containerCategory,
86 ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry> creativeItemRegistry,
MCAPI void * $ctor(::FullContainerName const &containerName, int size, ::ContainerCategory containerCategory, ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry > creativeItemRegistry, bool doExpandoGroups, bool filter, ::std::function<::FilterResult(::ItemInstance const &, bool)> rule)
MCAPI FilteredContainerModel(::FullContainerName const &containerName, int size, ::ContainerCategory containerCategory, ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry > creativeItemRegistry, bool doExpandoGroups, bool filter, ::std::function<::FilterResult(::ItemInstance const &, bool)> rule)