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() ;
77 virtual bool isValid(
float pickRange) ;
81 virtual ::ContainerScreenContext _postInit() ;
88 MCAPI CraftingContainerManagerModel(
89 ::ContainerID containerId,
93 bool craftableFilterOn,
95 ::std::string
const& inventorySearch
98 MCAPI ::std::shared_ptr<::FilteredContainerModel> _createContainerModel(
99 ::ContainerEnumName containerEnumName,
105 MCAPI ::std::shared_ptr<::FilteredContainerModel> _createContainerModel(
106 ::ContainerEnumName containerEnumName,
107 ::std::vector<::ItemInstance>
const& itemInstanceVector,
112 MCAPI ::FilterResult _filterByInventory(
::ItemInstance const& item,
bool includeCursorItem)
const;
114 MCAPI ::FilterResult _filterByText(
::ItemInstance const& item, ::TextSearchMode searchMode)
const;
116 MCAPI
bool _foundInStartOfAnyWord(::std::string
const& itemName)
const;
120 MCAPI
bool _populateContainers(uint64& count);
122 MCFOLD
void fireItemAcquiredEvent(
::ItemInstance const& itemInstance,
int count);
124 MCAPI ::std::vector<::std::string>
const getCraftingTags()
const;
126 MCAPI
bool hasIngredientSetChanged(
::ItemStack const& inHand);
128 MCAPI
void setIsFiltering(
bool craftableFilterOn);
130 MCAPI
void setSearchString(::std::string
const& searchString);
139 ::ContainerID containerId,
143 bool craftableFilterOn,
145 ::std::string
const& inventorySearch
160 MCFOLD ::std::vector<::ItemStack> $getItemCopies()
const;
162 MCFOLD
void $setSlot(
int,
::ItemStack const&,
bool);
164 MCFOLD ::ItemStack
const& $getSlot(
int)
const;
166 MCFOLD
void $setData(
int,
int);
168 MCFOLD
void $broadcastChanges();
170 MCAPI
bool $isValid(
float pickRange);
174 MCAPI ::ContainerScreenContext $_postInit();
Definition ContainerScreenContext.h:17