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();
61 virtual ~CraftingContainerManagerModel() =
default;
63 virtual ::std::vector<::ItemStack> getItemCopies()
const ;
65 virtual void setSlot(
int,
::ItemStack const&,
bool) ;
67 virtual ::ItemStack
const& getSlot(
int)
const ;
69 virtual void setData(
int,
int) ;
71 virtual void broadcastChanges() ;
73 virtual bool isValid(
float pickRange) ;
77 virtual ::ContainerScreenContext _postInit() ;
84 MCAPI CraftingContainerManagerModel(
85 ::ContainerID containerId,
89 bool craftableFilterOn,
91 ::std::string
const& inventorySearch
94 MCAPI ::std::shared_ptr<::FilteredContainerModel> _createContainerModel(
95 ::ContainerEnumName containerEnumName,
101 MCAPI ::FilterResult _filterByInventory(
::ItemInstance const& item,
bool includeCursorItem)
const;
103 MCAPI ::FilterResult _filterByText(
::ItemInstance const& item, ::TextSearchMode searchMode)
const;
105 MCAPI
bool _foundInStartOfAnyWord(::std::string
const& itemName)
const;
109 MCAPI ::std::vector<::std::string>
const getCraftingTags()
const;
111 MCAPI
bool hasIngredientSetChanged(
::ItemStack const& inHand);
113 MCAPI
void setIsFiltering(
bool craftableFilterOn);
115 MCAPI
void setSearchString(::std::string
const& searchString);
124 ::ContainerID containerId,
128 bool craftableFilterOn,
130 ::std::string
const& inventorySearch
139 MCFOLD ::std::vector<::ItemStack> $getItemCopies()
const;
141 MCFOLD
void $setSlot(
int,
::ItemStack const&,
bool);
143 MCFOLD ::ItemStack
const& $getSlot(
int)
const;
145 MCFOLD
void $setData(
int,
int);
147 MCFOLD
void $broadcastChanges();
149 MCAPI
bool $isValid(
float pickRange);
153 MCAPI ::ContainerScreenContext $_postInit();
Definition ContainerScreenContext.h:16