LeviLamina
Loading...
Searching...
No Matches
CraftingContainerManagerController.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/containers/managers/controllers/CraftingSessionInfo.h"
10#include "mc/world/item/ItemInstance.h"
11#include "mc/world/level/BlockChangedEventTarget.h"
12#include "mc/world/level/BlockSourceListener.h"
13
14// auto generated forward declare list
15// clang-format off
16class Actor;
17class Block;
18class BlockPos;
19class BlockSource;
21class ItemStack;
22class ItemStackBase;
23class Recipe;
24class Recipes;
26struct AutoPlaceItem;
27struct AutoPlaceResult;
28struct ItemStateData;
30struct SelectedSlotInfo;
31// clang-format on
32
34public:
35 // CraftingContainerManagerController inner types declare
36 // clang-format off
38 // clang-format on
39
40 // CraftingContainerManagerController inner types define
42 public:
43 // member variables
44 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
55
56 public:
57 // virtual functions
58 // NOLINTBEGIN
59 // vIndex: 0
60 virtual ~BlockChangeListener() /*override*/ = default;
61
62 // vIndex: 4
63 virtual void onBlockChanged(
64 ::BlockSource& source,
65 ::BlockPos const& pos,
66 uint layer,
67 ::Block const& block,
68 ::Block const& oldBlock,
69 int updateFlags,
70 ::ActorBlockSyncMessage const* syncMsg,
71 ::BlockChangedEventTarget eventTarget,
72 ::Actor* blockChangeSource
73 ) /*override*/;
74
75 // vIndex: 2
76 virtual void onSourceDestroyed(::BlockSource& source) /*override*/;
77 // NOLINTEND
78
79 public:
80 // virtual function thunks
81 // NOLINTBEGIN
82
83 // NOLINTEND
84 };
85
86public:
87 // member variables
88 // NOLINTBEGIN
89 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CraftingContainerManagerModel>> mCraftingContainerManagerModel;
90 ::ll::TypedStorage<4, 4, int> mGridSize;
91 ::ll::TypedStorage<8, 8, ::Recipes*> mLevelRecipes;
92 ::ll::TypedStorage<8, 24, ::std::vector<::std::reference_wrapper<::Recipe const>>> mRecipes;
93 ::ll::TypedStorage<8, 8, ::Recipe const*> mCraftingRecipe;
94 ::ll::TypedStorage<8, 8, ::Recipe const*> mSelectedRecipe;
95 ::ll::TypedStorage<1, 1, bool> mDisplayingInvalidRecipe;
96 ::ll::TypedStorage<1, 1, bool> mClearInputGridOnChange;
97 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
98 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStateData>> mSavedInventoryState;
99 ::ll::TypedStorage<8, 48, ::CraftingSessionInfo> mCraftingInformation;
100 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mRemainingItems;
101 ::ll::TypedStorage<8, 128, ::ItemInstance> mResultPreviewItem;
102 ::ll::TypedStorage<8, 24, ::std::vector<::ItemInstance>> mAllResults;
103 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mListenerLifeIndicator;
104 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CraftingContainerManagerController::BlockChangeListener>>
105 mBlockChangeListener;
106 ::ll::TypedStorage<1, 1, bool> mCloseCraftingContainer;
107 ::ll::TypedStorage<1, 1, bool> mIsCrafting;
108 // NOLINTEND
109
110public:
111 // virtual functions
112 // NOLINTBEGIN
113 // vIndex: 0
114 virtual ~CraftingContainerManagerController() /*override*/ = default;
115
116 // vIndex: 27
117 virtual bool isOutputSlot(::std::string const&) const /*override*/;
118
119 // vIndex: 9
120 virtual void handleTakeAmount(::SlotData const&, int, ::SlotData const&) /*override*/;
121
122 // vIndex: 10
123 virtual void handleTakeAll(::SlotData const&, ::SlotData const&) /*override*/;
124
125 // vIndex: 11
126 virtual void handlePlaceAll(::SelectedSlotInfo const&, ::SlotData const&) /*override*/;
127
128 // vIndex: 12
129 virtual void handleTakeHalf(::SlotData const&, ::SlotData const&) /*override*/;
130
131 // vIndex: 13
132 virtual void handlePlaceOne(::SlotData const&, ::SlotData const&) /*override*/;
133
134 // vIndex: 15
135 virtual int handleAutoPlace(
136 ::SlotData const&,
137 int,
138 ::std::vector<::AutoPlaceItem> const&,
139 ::std::vector<::AutoPlaceResult>&
140 ) /*override*/;
141
142 // vIndex: 16
143 virtual int handleAutoPlaceStack(
144 ::SlotData const&,
145 ::ItemTakeType,
146 ::std::vector<::AutoPlaceItem> const&,
147 ::std::vector<::AutoPlaceResult>&
148 ) /*override*/;
149
150 // vIndex: 17
151 virtual void handleSplitSingle(::SlotData const&, ::SlotData const&) /*override*/;
152
153 // vIndex: 18
154 virtual void handleSplitMultiple(::SelectedSlotInfo const&, ::ItemInstance const&, ::SlotData const&) /*override*/;
155
156 // vIndex: 25
157 virtual void handleAddToStack(::SlotData const&, ::SlotData const&, ::ItemTakeType) /*override*/;
158
159 // vIndex: 21
160 virtual bool handleDrop(::SlotData const&, ::ItemTransferAmount const) /*override*/;
161
162 // vIndex: 26
163 virtual void closeContainers() /*override*/;
164
165 // vIndex: 8
166 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const&) const /*override*/;
167 // NOLINTEND
168
169public:
170 // virtual function thunks
171 // NOLINTBEGIN
172
173 // NOLINTEND
174};
Definition Actor.h:103
Definition BlockPos.h:18
Definition BlockSourceListener.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition ContainerManagerController.h:30
Definition CraftingContainerManagerController.h:33
Definition CraftingContainerManagerModel.h:19
Definition ItemInstance.h:16
Definition ItemStackBase.h:35
Definition ItemStack.h:25
Definition Recipe.h:29
Definition Recipes.h:36
Definition ActorBlockSyncMessage.h:8
Definition AutoPlaceItem.h:5
Definition AutoPlaceResult.h:5
Definition CraftingContainerManagerController.h:41
Definition ItemStateData.h:5
Definition ItemTransferAmount.h:5
Definition SelectedSlotInfo.h:5
Definition SlotData.h:5
Definition Alias.h:14