LeviLamina
Loading...
Searching...
No Matches
CompoundCreatorContainerManagerController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/containers/SlotData.h"
7#include "mc/world/containers/controllers/ItemTakeType.h"
8#include "mc/world/containers/managers/controllers/ContainerManagerController.h"
9#include "mc/world/item/ItemInstance.h"
10
11// auto generated forward declare list
12// clang-format off
15class ItemStackBase;
16struct AutoPlaceItem;
17struct AutoPlaceResult;
20// clang-format on
21
22class CompoundCreatorContainerManagerController : public ::ContainerManagerController {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CompoundCreatorContainerManagerModel>> mModel;
27 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CraftableCompounds>> mCraftableCompounds;
28 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
29 ::ll::TypedStorage<8, 128, ::ItemInstance> mResultItemPreview;
30 // NOLINTEND
31
32#ifdef LL_PLAT_S
33#else // LL_PLAT_C
34public:
35 // prevent constructor by default
36 CompoundCreatorContainerManagerController();
37
38#endif
39public:
40 // virtual functions
41 // NOLINTBEGIN
42#ifdef LL_PLAT_S
43 virtual ~CompoundCreatorContainerManagerController() /*override*/ = default;
44#else // LL_PLAT_C
45 virtual ~CompoundCreatorContainerManagerController() /*override*/;
46#endif
47
48#ifdef LL_PLAT_S
49 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const&) const /*override*/;
50#else // LL_PLAT_C
51 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const& slot) const /*override*/;
52#endif
53
54#ifdef LL_PLAT_S
55 virtual void handleTakeAmount(::SlotData const&, int, ::SlotData const&) /*override*/;
56#else // LL_PLAT_C
57 virtual void handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot) /*override*/;
58#endif
59
60#ifdef LL_PLAT_S
61 virtual void handleTakeAll(::SlotData const&, ::SlotData const&) /*override*/;
62#else // LL_PLAT_C
63 virtual void handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
64#endif
65
66#ifdef LL_PLAT_S
67 virtual void handleTakeHalf(::SlotData const&, ::SlotData const&) /*override*/;
68#else // LL_PLAT_C
69 virtual void handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
70#endif
71
72#ifdef LL_PLAT_S
73 virtual int handleAutoPlace(
74 ::SlotData const&,
75 int,
76 ::std::vector<::AutoPlaceItem> const&,
77 ::std::vector<::AutoPlaceResult>&
78 ) /*override*/;
79#else // LL_PLAT_C
80 virtual int handleAutoPlace(
81 ::SlotData const& srcSlot,
82 int amount,
83 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
84 ::std::vector<::AutoPlaceResult>& destinations
85 ) /*override*/;
86#endif
87
88#ifdef LL_PLAT_S
89 virtual void handleAddToStack(::SlotData const&, ::SlotData const&, ::ItemTakeType) /*override*/;
90#else // LL_PLAT_C
91 virtual void
92 handleAddToStack(::SlotData const& dstSlot, ::SlotData const& srcSlot, ::ItemTakeType type) /*override*/;
93#endif
94
95#ifdef LL_PLAT_S
96 virtual bool isOutputSlot(::std::string const&) const /*override*/;
97#else // LL_PLAT_C
98 virtual bool isOutputSlot(::std::string const& collectionName) const /*override*/;
99#endif
100
101#ifdef LL_PLAT_S
102 virtual void _onItemAcquired(::ItemInstance const&, ::SlotData const&) /*override*/;
103#else // LL_PLAT_C
104 virtual void _onItemAcquired(::ItemInstance const& stack, ::SlotData const& srcSlot) /*override*/;
105#endif
106
107#ifdef LL_PLAT_S
108 virtual ::CreateContainerItemScope
109 _makeCreateItemScope(::SlotData const&, ::ItemTransferAmount const&) /*override*/;
110#else // LL_PLAT_C
111 virtual ::CreateContainerItemScope
112 _makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const& amount) /*override*/;
113#endif
114
115 // NOLINTEND
116
117public:
118 // member functions
119 // NOLINTBEGIN
120#ifdef LL_PLAT_C
121 MCNAPI explicit CompoundCreatorContainerManagerController(
122 ::std::weak_ptr<::CompoundCreatorContainerManagerModel> containerManagerModel
123 );
124
125 MCNAPI bool _handleTransferCraft(::SlotData const& srcSlot, ::SlotData const& dstSlot, ::ItemTransferAmount amount);
126
127 MCNAPI void _setupCallbacks();
128
129 MCNAPI void _updateResultPreview();
130
131 MCNAPI ::std::string getOutputFormula();
132
133 MCNAPI bool isStillValid(float pickRange);
134#endif
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140#ifdef LL_PLAT_C
141 MCNAPI void* $ctor(::std::weak_ptr<::CompoundCreatorContainerManagerModel> containerManagerModel);
142#endif
143 // NOLINTEND
144
145public:
146 // destructor thunk
147 // NOLINTBEGIN
148 MCNAPI void $dtor();
149 // NOLINTEND
150
151public:
152 // virtual function thunks
153 // NOLINTBEGIN
154#ifdef LL_PLAT_C
155 MCNAPI ::ItemStackBase const& $getTakeableItemStackBase(::SlotData const& slot) const;
156
157 MCNAPI void $handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot);
158
159 MCNAPI void $handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot);
160
161 MCNAPI void $handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot);
162
163 MCNAPI int $handleAutoPlace(
164 ::SlotData const& srcSlot,
165 int amount,
166 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
167 ::std::vector<::AutoPlaceResult>& destinations
168 );
169
170 MCNAPI void $handleAddToStack(::SlotData const& dstSlot, ::SlotData const& srcSlot, ::ItemTakeType type);
171
172 MCNAPI bool $isOutputSlot(::std::string const& collectionName) const;
173
174 MCNAPI void $_onItemAcquired(::ItemInstance const& stack, ::SlotData const& srcSlot);
175
176 MCNAPI ::CreateContainerItemScope
177 $_makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const& amount);
178#endif
179
180
181 // NOLINTEND
182
183public:
184 // vftables
185 // NOLINTBEGIN
186 MCNAPI static void** $vftable();
187 // NOLINTEND
188};
Definition CompoundCreatorContainerManagerModel.h:17
Definition CraftableCompounds.h:17
Definition ItemInstance.h:15
Definition ItemStackBase.h:52
Definition AutoPlaceItem.h:5
Definition AutoPlaceResult.h:5
Definition CreateContainerItemScope.h:18
Definition ItemTransferAmount.h:9
Definition SlotData.h:10