25class CraftingContainerManagerModel :
public ::ContainerManagerModel {
28 using FilterFunction = ::std::function<::FilterResult(
::ItemInstance const&,
bool)>;
33 ::ll::TypedStorage<4, 12, ::BlockPos> mBlockPos;
34 ::ll::TypedStorage<1, 1, bool> mWorkbench;
35 ::ll::TypedStorage<1, 1, bool> mPocket;
36 ::ll::TypedStorage<1, 1, bool> mCraftableFilterOn;
37 ::ll::TypedStorage<8, 32, ::std::string> mSearchString;
38 ::ll::TypedStorage<8, 32, ::std::string> mCaseFoldedSearchString;
39 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContainerModel>> mInventoryContainerModel;
40 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContainerModel>> mCraftingInputContainerModel;
41 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContainerModel>> mHotbarContainerModel;
42 ::ll::TypedStorage<8, 64, ::RecipeIngredientSet> mIngredientSet;
43 ::ll::TypedStorage<8, 128, ::ItemInstance> mLastCraftedItem;
44 ::ll::TypedStorage<4, 4, int> mContainerPopulationTabIndex;
45 ::ll::TypedStorage<8, 8, uint64> mContainerPopulationGroupIndex;
46 ::ll::TypedStorage<8, 8, uint64> mContainerPopulationGroupItemIndex;
47 ::ll::TypedStorage<8, 8, uint64> mContainerPopulationItemIndex;
48 ::ll::TypedStorage<8, 8, uint64> mContainerPopulationTotalItemCount;
55 CraftingContainerManagerModel();
62 virtual ~CraftingContainerManagerModel() =
default;
64 virtual ~CraftingContainerManagerModel() ;
67 virtual ::std::vector<::ItemStack> getItemCopies()
const ;
69 virtual void setSlot(
int,
::ItemStack const&,
bool) ;
71 virtual ::ItemStack
const& getSlot(
int)
const ;
73 virtual void setData(
int,
int) ;
75 virtual void broadcastChanges() ;
78 virtual bool isValid(
float) ;
80 virtual bool isValid(
float pickRange) ;
85 virtual ::ContainerScreenContext _postInit() ;
92 MCAPI CraftingContainerManagerModel(
93 ::ContainerID containerId,
97 bool craftableFilterOn,
99 ::std::string
const& inventorySearch
102 MCAPI ::std::shared_ptr<::FilteredContainerModel> _createContainerModel(
103 ::ContainerEnumName containerEnumName,
109 MCAPI ::std::shared_ptr<::FilteredContainerModel> _createContainerModel(
110 ::ContainerEnumName containerEnumName,
111 ::std::vector<::ItemInstance>
const& itemInstanceVector,
116 MCAPI ::FilterResult _filterByInventory(
::ItemInstance const& item,
bool includeCursorItem)
const;
118 MCAPI ::FilterResult _filterByText(
::ItemInstance const& item, ::TextSearchMode searchMode)
const;
120 MCAPI
bool _foundInStartOfAnyWord(::std::string
const& itemName)
const;
124 MCAPI
bool _populateContainers(uint64& count);
126 MCFOLD
void fireItemAcquiredEvent(
::ItemInstance const& itemInstance,
int count);
128 MCAPI ::std::vector<::std::string>
const getCraftingTags()
const;
130 MCAPI
bool hasIngredientSetChanged(
::ItemStack const& inHand);
132 MCAPI
void setIsFiltering(
bool craftableFilterOn);
134 MCAPI
void setSearchString(::std::string
const& searchString);
143 ::ContainerID containerId,
147 bool craftableFilterOn,
149 ::std::string
const& inventorySearch
164 MCFOLD ::std::vector<::ItemStack> $getItemCopies()
const;
166 MCFOLD
void $setSlot(
int,
::ItemStack const&,
bool);
168 MCFOLD ::ItemStack
const& $getSlot(
int)
const;
170 MCFOLD
void $setData(
int,
int);
172 MCFOLD
void $broadcastChanges();
174 MCAPI
bool $isValid(
float pickRange);
178 MCAPI ::ContainerScreenContext $_postInit();
Definition ContainerScreenContext.h:19