LeviLamina
Loading...
Searching...
No Matches
FurnaceContainerManagerController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/containers/ContainerEnumName.h"
7#include "mc/world/containers/SlotData.h"
8#include "mc/world/containers/managers/controllers/ContainerManagerController.h"
9
10// auto generated forward declare list
11// clang-format off
14class HashedString;
15class ItemInstance;
16class ItemStackBase;
17struct AutoPlaceItem;
18struct ItemStateData;
19struct SelectedSlotInfo;
20// clang-format on
21
22class FurnaceContainerManagerController : public ::ContainerManagerController {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::FurnaceContainerManagerModel>> mFurnaceContainerManagerModel;
27 ::ll::TypedStorage<1, 1, ::ContainerEnumName const> mIngredientName;
28 ::ll::TypedStorage<1, 1, bool> mClearInputGridOnChange;
29 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStateData>> mSavedInventoryState;
30 ::ll::TypedStorage<8, 40, ::SlotData const> mCreativeItemOutputSlot;
31 // NOLINTEND
32
33#ifdef LL_PLAT_S
34#else // LL_PLAT_C
35public:
36 // prevent constructor by default
37 FurnaceContainerManagerController();
38
39#endif
40public:
41 // virtual functions
42 // NOLINTBEGIN
43#ifdef LL_PLAT_S
44 virtual ~FurnaceContainerManagerController() /*override*/ = default;
45#else // LL_PLAT_C
46 virtual ~FurnaceContainerManagerController() /*override*/;
47#endif
48
49#ifdef LL_PLAT_S
50 virtual void handlePlaceAll(::SelectedSlotInfo const&, ::SlotData const&) /*override*/;
51#else // LL_PLAT_C
52 virtual void handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot) /*override*/;
53#endif
54
55#ifdef LL_PLAT_S
56 virtual void handlePlaceOne(::SlotData const&, ::SlotData const&) /*override*/;
57#else // LL_PLAT_C
58 virtual void handlePlaceOne(::SlotData const& srcSlot, ::SlotData const& dstSlot) /*override*/;
59#endif
60
61#ifdef LL_PLAT_S
62 virtual void handlePlaceAmount(::SlotData const&, int, ::SlotData const&) /*override*/;
63#else // LL_PLAT_C
64 virtual void handlePlaceAmount(::SlotData const& srcSlot, int amount, ::SlotData const& dstSlot) /*override*/;
65#endif
66
67#ifdef LL_PLAT_S
68 virtual bool isOutputSlot(::std::string const&) const /*override*/;
69#else // LL_PLAT_C
70 virtual bool isOutputSlot(::std::string const& collectionName) const /*override*/;
71#endif
72
73#ifdef LL_PLAT_S
74 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const&) const /*override*/;
75#else // LL_PLAT_C
76 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const& slot) const /*override*/;
77#endif
78
79#ifdef LL_PLAT_S
80 virtual void _onItemAcquired(::ItemInstance const&, ::SlotData const&) /*override*/;
81#else // LL_PLAT_C
82 virtual void _onItemAcquired(::ItemInstance const& itemInstance, ::SlotData const& srcSlot) /*override*/;
83#endif
84
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
90#ifdef LL_PLAT_C
91 MCNAPI explicit FurnaceContainerManagerController(
92 ::std::weak_ptr<::FurnaceContainerManagerModel> containerManagerModel
93 );
94
95 MCNAPI FurnaceContainerManagerController(
96 ::std::weak_ptr<::FurnaceContainerManagerModel> containerManagerModel,
97 ::HashedString const& recipeTag
98 );
99
100 MCNAPI void clearAllRecipes();
101
102 MCNAPI void clearGhostRecipe(::ContainerEnumName container, int slot);
103
104 MCNAPI void
105 evacuateContainerToInventory(::ContainerController* container, ::std::vector<::AutoPlaceItem> const& autoPlace);
106
107 MCNAPI void evacuateResultToInventory(::std::vector<::AutoPlaceItem> const& autoPlace);
108
109 MCNAPI int getBackgroundStyle(::std::string const& containerName, int collectionIndex) const;
110
111 MCNAPI int getBurnProgress(int max);
112
113 MCNAPI ::std::string const& getExpandoItemGroupName(::std::string const& collectionName, int collectionIndex);
114
115 MCNAPI ::ItemInstance const& getGhostItem(::std::string const& collectionName, int) const;
116
117 MCNAPI int getLitProgress(int max);
118
119 MCNAPI int getNumBlocksRecipes() const;
120
121 MCNAPI int getNumFoodRecipes() const;
122
123 MCNAPI int getNumItemsRecipes() const;
124
125 MCNAPI ::std::string const& getOutputName() const;
126
127 MCNAPI ::ItemInstance const& getRecipeItem(::std::string const& collectionName, int collectionIndex) const;
128
129 MCNAPI ::std::string const& getSearchString() const;
130
131 MCNAPI void handleRecipeSelect(
132 ::std::string const& collectionName,
133 int collectionIndex,
134 bool displayOnly,
135 ::std::vector<::AutoPlaceItem> const& autoPlace
136 );
137
138 MCNAPI bool isCreativeContainer(::std::string const& containerName) const;
139
140 MCNAPI bool isExpandableItemFiltered(::std::string const& collectionName, int collectionIndex) const;
141
142 MCNAPI bool isFinished(::std::string& outputName, int& outputId, int& outputAuxValue);
143
144 MCNAPI bool isRecipeContainer(::std::string const& containerName) const;
145
146 MCNAPI bool isRecipeIngredient(
147 ::std::string const& collectionName,
148 int collectionIndex,
149 ::ItemStackBase const& ingredient
150 ) const;
151
152 MCNAPI bool isTakeableContainer(::std::string const& containerName) const;
153
154 MCNAPI void setIsFiltering(bool filtering);
155
156 MCNAPI void setSearchString(::std::string const& searchString);
157#endif
158 // NOLINTEND
159
160public:
161 // constructor thunks
162 // NOLINTBEGIN
163#ifdef LL_PLAT_C
164 MCNAPI void* $ctor(::std::weak_ptr<::FurnaceContainerManagerModel> containerManagerModel);
165
166 MCNAPI void*
167 $ctor(::std::weak_ptr<::FurnaceContainerManagerModel> containerManagerModel, ::HashedString const& recipeTag);
168#endif
169 // NOLINTEND
170
171public:
172 // destructor thunk
173 // NOLINTBEGIN
174 MCNAPI void $dtor();
175 // NOLINTEND
176
177public:
178 // virtual function thunks
179 // NOLINTBEGIN
180#ifdef LL_PLAT_C
181 MCNAPI void $handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot);
182
183 MCNAPI void $handlePlaceOne(::SlotData const& srcSlot, ::SlotData const& dstSlot);
184
185 MCNAPI void $handlePlaceAmount(::SlotData const& srcSlot, int amount, ::SlotData const& dstSlot);
186
187 MCNAPI bool $isOutputSlot(::std::string const& collectionName) const;
188
189 MCNAPI ::ItemStackBase const& $getTakeableItemStackBase(::SlotData const& slot) const;
190
191 MCNAPI void $_onItemAcquired(::ItemInstance const& itemInstance, ::SlotData const& srcSlot);
192#endif
193
194
195 // NOLINTEND
196
197public:
198 // vftables
199 // NOLINTBEGIN
200 MCNAPI static void** $vftable();
201 // NOLINTEND
202};
Definition ContainerController.h:21
static MCAPI void ** $vftable()
Definition FurnaceContainerManagerModel.h:29
Definition HashedString.h:5
Definition ItemInstance.h:15
Definition ItemStackBase.h:52
Definition AutoPlaceItem.h:5
Definition ItemStateData.h:10
Definition SelectedSlotInfo.h:10
Definition SlotData.h:10