LeviLamina
Loading...
Searching...
No Matches
GrindstoneContainerManagerController.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/managers/controllers/ContainerManagerController.h"
8#include "mc/world/inventory/network/ItemStackNetIdVariant.h"
9#include "mc/world/item/ItemInstance.h"
10
11// auto generated forward declare list
12// clang-format off
14class ItemStack;
15class ItemStackBase;
16struct AutoPlaceItem;
17struct AutoPlaceResult;
21struct SelectedSlotInfo;
22// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::GrindstoneContainerManagerModel>> mGrindstoneContainerManagerModel;
29 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
30 ::ll::TypedStorage<8, 128, ::ItemInstance> mResultItemPreview;
31 ::ll::TypedStorage<4, 24, ::ItemStackNetIdVariant> mSrcItemNetId;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ~GrindstoneContainerManagerController() /*override*/ = default;
38
39 virtual bool isOutputSlot(::std::string const& collectionName) const /*override*/;
40
41 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const& slot) const /*override*/;
42
43 virtual void handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot) /*override*/;
44
45 virtual void handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
46
47 virtual void handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
48
49 virtual void handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot) /*override*/;
50
51 virtual int handleAutoPlace(
52 ::SlotData const& srcSlot,
53 int amount,
54 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
55 ::std::vector<::AutoPlaceResult>& destinations
56 ) /*override*/;
57
58 virtual ::CreateContainerItemScope
59 _makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const&) /*override*/;
60 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
65 MCNAPI_C bool _createCraftItem(::ItemInstance& instance, ::ItemStackRequestScope const& requestScope);
66
67 MCNAPI_C void _grantExperience(::ItemStack const& input, ::ItemStack const& additional) const;
68
69 MCNAPI_C bool _handleTransferCraft(::SlotData const& srcSlot, ::SlotData const& dstSlot);
70
71 MCNAPI_C void _setupCallbacks();
72
73 MCNAPI_C void _updateResult(::ItemInstance const& oldItem);
74
75 MCNAPI_C void _updateResultPreview();
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCNAPI_C void* $ctor(::std::weak_ptr<::GrindstoneContainerManagerModel> containerManagerModel);
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87#ifdef LL_PLAT_C
88 MCNAPI bool $isOutputSlot(::std::string const& collectionName) const;
89
90 MCNAPI ::ItemStackBase const& $getTakeableItemStackBase(::SlotData const& slot) const;
91
92 MCNAPI void $handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot);
93
94 MCNAPI void $handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot);
95
96 MCNAPI void $handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot);
97
98 MCNAPI void $handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot);
99
100 MCNAPI int $handleAutoPlace(
101 ::SlotData const& srcSlot,
102 int amount,
103 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
104 ::std::vector<::AutoPlaceResult>& destinations
105 );
106
107 MCNAPI ::CreateContainerItemScope $_makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const&);
108#endif
109
110
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCNAPI static void** $vftable();
117 // NOLINTEND
118};
Definition ContainerManagerController.h:47
Definition GrindstoneContainerManagerController.h:24
static MCAPI void ** $vftable()
Definition GrindstoneContainerManagerModel.h:18
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition AutoPlaceItem.h:5
Definition AutoPlaceResult.h:5
Definition CreateContainerItemScope.h:18
Definition ItemStackRequestScope.h:14
Definition ItemTransferAmount.h:5
Definition SelectedSlotInfo.h:5
Definition SlotData.h:5