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
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
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual ~CompoundCreatorContainerManagerController() /*override*/ = default;
36
37 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const& slot) const /*override*/;
38
39 virtual void handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot) /*override*/;
40
41 virtual void handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
42
43 virtual void handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
44
45 virtual int handleAutoPlace(
46 ::SlotData const& srcSlot,
47 int amount,
48 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
49 ::std::vector<::AutoPlaceResult>& destinations
50 ) /*override*/;
51
52 virtual void
53 handleAddToStack(::SlotData const& dstSlot, ::SlotData const& srcSlot, ::ItemTakeType type) /*override*/;
54
55 virtual bool isOutputSlot(::std::string const& collectionName) const /*override*/;
56
57 virtual void _onItemAcquired(::ItemInstance const& stack, ::SlotData const& srcSlot) /*override*/;
58
59 virtual ::CreateContainerItemScope
60 _makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const& amount) /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCNAPI_C bool
67 _handleTransferCraft(::SlotData const& srcSlot, ::SlotData const& dstSlot, ::ItemTransferAmount amount);
68
69 MCNAPI_C void _setupCallbacks();
70
71 MCNAPI_C void _updateResultPreview();
72
73 MCNAPI_C ::std::string getOutputFormula();
74
75 MCNAPI_C bool isStillValid(float pickRange);
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCNAPI_C void* $ctor(::std::weak_ptr<::CompoundCreatorContainerManagerModel> containerManagerModel);
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87#ifdef LL_PLAT_C
88 MCNAPI ::ItemStackBase const& $getTakeableItemStackBase(::SlotData const& slot) const;
89
90 MCNAPI void $handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot);
91
92 MCNAPI void $handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot);
93
94 MCNAPI void $handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot);
95
96 MCNAPI int $handleAutoPlace(
97 ::SlotData const& srcSlot,
98 int amount,
99 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
100 ::std::vector<::AutoPlaceResult>& destinations
101 );
102
103 MCNAPI void $handleAddToStack(::SlotData const& dstSlot, ::SlotData const& srcSlot, ::ItemTakeType type);
104
105 MCNAPI bool $isOutputSlot(::std::string const& collectionName) const;
106
107 MCNAPI void $_onItemAcquired(::ItemInstance const& stack, ::SlotData const& srcSlot);
108
109 MCNAPI ::CreateContainerItemScope
110 $_makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const& amount);
111#endif
112
113
114 // NOLINTEND
115
116public:
117 // vftables
118 // NOLINTBEGIN
119 MCNAPI static void** $vftable();
120 // NOLINTEND
121};
Definition CompoundCreatorContainerManagerController.h:22
Definition CompoundCreatorContainerManagerModel.h:17
Definition ContainerManagerController.h:47
Definition CraftableCompounds.h:17
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition AutoPlaceItem.h:5
Definition AutoPlaceResult.h:5
Definition CreateContainerItemScope.h:18
Definition ItemTransferAmount.h:5
Definition SlotData.h:5