LeviLamina
Loading...
Searching...
No Matches
CartographyContainerManagerController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/safety/RedactableString.h"
7#include "mc/world/containers/SlotData.h"
8#include "mc/world/containers/managers/controllers/ContainerManagerController.h"
9#include "mc/world/containers/managers/controllers/ItemResultPreview.h"
10#include "mc/world/containers/managers/controllers/MapOutputType.h"
11#include "mc/world/inventory/simulation/ContainerScreenRequestActionType.h"
12
13// auto generated forward declare list
14// clang-format off
16class ItemInstance;
17class ItemStackBase;
18struct AutoPlaceItem;
19struct AutoPlaceResult;
24struct SelectedSlotInfo;
25// clang-format on
26
27class CartographyContainerManagerController : public ::ContainerManagerController {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CartographyContainerManagerModel>> mCartographyContainerManagerModel;
32 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mPreviewName;
33 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mItemName;
34 ::ll::TypedStorage<8, 32, ::std::string> mItemResultLocName;
35 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
36 ::ll::TypedStorage<1, 1, bool> mCurrentlyCrafting;
37 ::ll::TypedStorage<1, 1, bool> mIsCurrentlyRenaming;
38 ::ll::TypedStorage<1, 1, bool> mWasPreviouslyRenaming;
39 ::ll::TypedStorage<4, 4, ::MapOutputType> mMapOutputType;
40 ::ll::TypedStorage<8, 136, ::ItemResultPreview> mResultPreview;
41 // NOLINTEND
42
43#ifdef LL_PLAT_S
44#else // LL_PLAT_C
45public:
46 // prevent constructor by default
47 CartographyContainerManagerController();
48
49#endif
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 virtual ~CartographyContainerManagerController() /*override*/ = default;
54
55 virtual void postInit(::std::weak_ptr<::ContainerManagerController> self) /*override*/;
56
57 virtual bool isOutputSlot(::std::string const& collectionName) const /*override*/;
58
59 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const& slot) const /*override*/;
60
61 virtual void setPreviewItemName(::Bedrock::Safety::RedactableString const& name) /*override*/;
62
63 virtual void setItemName(::Bedrock::Safety::RedactableString const& name) /*override*/;
64
65 virtual ::Bedrock::Safety::RedactableString const& getPreviewItemName() const /*override*/;
66
67 virtual ::Bedrock::Safety::RedactableString const& getItemName() const /*override*/;
68
69 virtual void updatePreviewItem() /*override*/;
70
71 virtual void handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot) /*override*/;
72
73 virtual void handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
74
75 virtual void handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot) /*override*/;
76
77 virtual void handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot) /*override*/;
78
79 virtual void handlePlaceOne(::SlotData const& srcSlot, ::SlotData const& dstSlot) /*override*/;
80
81 virtual int handleAutoPlace(
82 ::SlotData const& srcSlot,
83 int amount,
84 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
85 ::std::vector<::AutoPlaceResult>& destinations
86 ) /*override*/;
87
88 virtual void _onContainerScreenAction(::ContainerScreenActionResult const& result) /*override*/;
89
90 virtual ::CreateContainerItemScope
91 _makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const&) /*override*/;
92
93 virtual void _onItemAcquired(::ItemInstance const& instance, ::SlotData const& srcSlot) /*override*/;
94
95 virtual void _updateItemStackRequest(
96 ::ContainerScreenRequestActionType,
98 ::ItemStackRequestScope& requestScope
99 ) /*override*/;
100 // NOLINTEND
101
102public:
103 // member functions
104 // NOLINTBEGIN
105#ifdef LL_PLAT_C
106 MCNAPI explicit CartographyContainerManagerController(
107 ::std::weak_ptr<::CartographyContainerManagerModel> containerManagerModel
108 );
109
110 MCNAPI ::ItemInstance _buildResultItem();
111
112 MCNAPI void _clearName();
113
114 MCNAPI bool _createCraftItem(::ItemInstance& instance, ::ItemStackRequestScope const& requestScope);
115
116 MCNAPI bool _handleTransferCraft(::SlotData const& srcSlot, ::SlotData const& dstSlot);
117
118 MCNAPI void _setName(::Bedrock::Safety::RedactableString const& name);
119
120 MCNAPI void _setupCallbacks();
121#endif
122 // NOLINTEND
123
124public:
125 // constructor thunks
126 // NOLINTBEGIN
127#ifdef LL_PLAT_C
128 MCNAPI void* $ctor(::std::weak_ptr<::CartographyContainerManagerModel> containerManagerModel);
129#endif
130 // NOLINTEND
131
132public:
133 // virtual function thunks
134 // NOLINTBEGIN
135#ifdef LL_PLAT_C
136 MCNAPI void $postInit(::std::weak_ptr<::ContainerManagerController> self);
137
138 MCNAPI bool $isOutputSlot(::std::string const& collectionName) const;
139
140 MCNAPI ::ItemStackBase const& $getTakeableItemStackBase(::SlotData const& slot) const;
141
142 MCNAPI void $setPreviewItemName(::Bedrock::Safety::RedactableString const& name);
143
144 MCNAPI void $setItemName(::Bedrock::Safety::RedactableString const& name);
145
146 MCNAPI ::Bedrock::Safety::RedactableString const& $getPreviewItemName() const;
147
148 MCNAPI ::Bedrock::Safety::RedactableString const& $getItemName() const;
149
150 MCNAPI void $updatePreviewItem();
151
152 MCNAPI void $handleTakeAmount(::SlotData const& dstSlot, int amount, ::SlotData const& srcSlot);
153
154 MCNAPI void $handleTakeAll(::SlotData const& dstSlot, ::SlotData const& srcSlot);
155
156 MCNAPI void $handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot);
157
158 MCNAPI void $handleTakeHalf(::SlotData const& dstSlot, ::SlotData const& srcSlot);
159
160 MCNAPI void $handlePlaceOne(::SlotData const& srcSlot, ::SlotData const& dstSlot);
161
162 MCNAPI int $handleAutoPlace(
163 ::SlotData const& srcSlot,
164 int amount,
165 ::std::vector<::AutoPlaceItem> const& autoPlaceOrder,
166 ::std::vector<::AutoPlaceResult>& destinations
167 );
168
169 MCNAPI void $_onContainerScreenAction(::ContainerScreenActionResult const& result);
170
171 MCNAPI ::CreateContainerItemScope $_makeCreateItemScope(::SlotData const& srcSlot, ::ItemTransferAmount const&);
172
173 MCNAPI void $_onItemAcquired(::ItemInstance const& instance, ::SlotData const& srcSlot);
174
175 MCNAPI void $_updateItemStackRequest(
176 ::ContainerScreenRequestActionType,
177 ::ContainerScreenActionResult const& result,
178 ::ItemStackRequestScope& requestScope
179 );
180#endif
181
182
183 // NOLINTEND
184
185public:
186 // vftables
187 // NOLINTBEGIN
188 MCNAPI static void** $vftable();
189 // NOLINTEND
190};
Definition RedactableString.h:10
Definition CartographyContainerManagerModel.h:18
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition AutoPlaceItem.h:5
Definition AutoPlaceResult.h:5
Definition ContainerScreenActionResult.h:11
Definition CreateContainerItemScope.h:18
Definition ItemStackRequestScope.h:14
Definition ItemTransferAmount.h:5
Definition SelectedSlotInfo.h:10
Definition SlotData.h:5