LeviLamina
Loading...
Searching...
No Matches
SmithingTableContainerManagerController.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/containers/managers/controllers/ItemResultPreview.h"
9#include "mc/world/inventory/network/TypedServerNetId.h"
10
11// auto generated forward declare list
12// clang-format off
13class ItemInstance;
14class ItemStackBase;
16struct AutoPlaceItem;
17struct AutoPlaceResult;
21struct RecipeNetIdTag;
22// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::SmithingTableContainerManagerModel>>
29 mSmithingTableContainerManagerModel;
30 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
31 ::ll::TypedStorage<8, 136, ::ItemResultPreview> mResultPreview;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ~SmithingTableContainerManagerController() /*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 int handleAutoPlace(
50 ::SlotData const& srcSlot,
51 int amount,
52 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
53 ::std::vector<::AutoPlaceResult>& destinations
54 ) /*override*/;
55
56 virtual void _onItemAcquired(::ItemInstance const& stack, ::SlotData const& srcSlot) /*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 void _consumeItems();
66
67 MCNAPI_C void _createCraftItem(::ItemInstance& stack, ::ItemStackRequestScope const& requestScope);
68
69 MCNAPI_C ::std::pair<::ItemInstance, ::RecipeNetId> _getResult();
70
71 MCNAPI_C bool _handleTransferCraft(::SlotData const& srcSlot, ::SlotData const& dstSlot);
72
73 MCNAPI_C void _setupCallbacks();
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCNAPI_C void* $ctor(::std::weak_ptr<::SmithingTableContainerManagerModel> containerManagerModel);
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85#ifdef LL_PLAT_C
86 MCNAPI bool $isOutputSlot(::std::string const& collectionName) const;
87
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 $_onItemAcquired(::ItemInstance const& stack, ::SlotData const& srcSlot);
104
105 MCNAPI ::CreateContainerItemScope $_makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const&);
106#endif
107
108
109 // NOLINTEND
110
111public:
112 // vftables
113 // NOLINTBEGIN
114 MCNAPI static void** $vftable();
115 // NOLINTEND
116};
Definition ContainerManagerController.h:47
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition SmithingTableContainerManagerController.h:24
Definition SmithingTableContainerManagerModel.h:20
Definition AutoPlaceItem.h:5
Definition AutoPlaceResult.h:5
Definition CreateContainerItemScope.h:18
Definition ItemStackRequestScope.h:14
Definition ItemTransferAmount.h:5
Definition RecipeNetIdTag.h:5
Definition SlotData.h:5