LeviLamina
Loading...
Searching...
No Matches
CraftingContainerManagerModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/ContainerID.h"
7#include "mc/world/containers/ContainerEnumName.h"
8#include "mc/world/containers/managers/models/ContainerManagerModel.h"
9#include "mc/world/containers/models/FilterResult.h"
10#include "mc/world/containers/models/TextSearchMode.h"
11#include "mc/world/item/ItemInstance.h"
12#include "mc/world/item/crafting/RecipeIngredientSet.h"
13#include "mc/world/level/BlockPos.h"
14
15// auto generated forward declare list
16// clang-format off
17class ContainerModel;
21class ItemStack;
22class Player;
23// clang-format on
24
25class CraftingContainerManagerModel : public ::ContainerManagerModel {
26public:
27 // CraftingContainerManagerModel inner types define
28 using FilterFunction = ::std::function<::FilterResult(::ItemInstance const&, bool)>;
29
30public:
31 // member variables
32 // NOLINTBEGIN
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;
49 // NOLINTEND
50
51#ifdef LL_PLAT_S
52#else // LL_PLAT_C
53public:
54 // prevent constructor by default
55 CraftingContainerManagerModel();
56
57#endif
58public:
59 // virtual functions
60 // NOLINTBEGIN
61#ifdef LL_PLAT_S
62 virtual ~CraftingContainerManagerModel() /*override*/ = default;
63#else // LL_PLAT_C
64 virtual ~CraftingContainerManagerModel() /*override*/;
65#endif
66
67 virtual ::std::vector<::ItemStack> getItemCopies() const /*override*/;
68
69 virtual void setSlot(int, ::ItemStack const&, bool) /*override*/;
70
71 virtual ::ItemStack const& getSlot(int) const /*override*/;
72
73 virtual void setData(int, int) /*override*/;
74
75 virtual void broadcastChanges() /*override*/;
76
77 virtual bool isValid(float pickRange) /*override*/;
78
79 virtual bool tick() /*override*/;
80
81 virtual ::ContainerScreenContext _postInit() /*override*/;
82 // NOLINTEND
83
84public:
85 // member functions
86 // NOLINTBEGIN
87#ifdef LL_PLAT_C
88 MCAPI CraftingContainerManagerModel(
89 ::ContainerID containerId,
90 ::Player& player,
91 bool workbench,
92 bool pocket,
93 bool craftableFilterOn,
94 ::BlockPos const& pos,
95 ::std::string const& inventorySearch
96 );
97
98 MCAPI ::std::shared_ptr<::FilteredContainerModel> _createContainerModel(
99 ::ContainerEnumName containerEnumName,
100 ::CreativeItemGroupCategory* const category,
101 bool doExpando,
102 ::std::function<::FilterResult(::ItemInstance const&, bool)> rule
103 );
104
105 MCAPI ::FilterResult _filterByInventory(::ItemInstance const& item, bool includeCursorItem) const;
106
107 MCAPI ::FilterResult _filterByText(::ItemInstance const& item, ::TextSearchMode searchMode) const;
108
109 MCAPI bool _foundInStartOfAnyWord(::std::string const& itemName) const;
110
111 MCAPI bool _hasUnlockedRecipes(::ItemInstance const& item) const;
112
113 MCAPI ::std::vector<::std::string> const getCraftingTags() const;
114
115 MCAPI bool hasIngredientSetChanged(::ItemStack const& inHand);
116
117 MCAPI void setIsFiltering(bool craftableFilterOn);
118
119 MCAPI void setSearchString(::std::string const& searchString);
120#endif
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126#ifdef LL_PLAT_C
127 MCAPI void* $ctor(
128 ::ContainerID containerId,
129 ::Player& player,
130 bool workbench,
131 bool pocket,
132 bool craftableFilterOn,
133 ::BlockPos const& pos,
134 ::std::string const& inventorySearch
135 );
136#endif
137 // NOLINTEND
138
139public:
140 // destructor thunk
141 // NOLINTBEGIN
142#ifdef LL_PLAT_C
143 MCAPI void $dtor();
144#endif
145 // NOLINTEND
146
147public:
148 // virtual function thunks
149 // NOLINTBEGIN
150#ifdef LL_PLAT_C
151 MCFOLD ::std::vector<::ItemStack> $getItemCopies() const;
152
153 MCFOLD void $setSlot(int, ::ItemStack const&, bool);
154
155 MCFOLD ::ItemStack const& $getSlot(int) const;
156
157 MCFOLD void $setData(int, int);
158
159 MCFOLD void $broadcastChanges();
160
161 MCAPI bool $isValid(float pickRange);
162
163 MCAPI bool $tick();
164
165 MCAPI ::ContainerScreenContext $_postInit();
166#endif
167
168
169 // NOLINTEND
170};
Definition BlockPos.h:21
Definition ContainerModel.h:24
Definition ContainerScreenContext.h:16
Definition CreativeItemGroupCategory.h:17
Definition FilteredContainerModel.h:19
Definition ItemInstance.h:15
Definition ItemStack.h:24
Definition Player.h:128