LeviLamina
Loading...
Searching...
No Matches
FurnaceContainerManagerController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/containers/ContainerEnumName.h"
7#include "mc/world/containers/SlotData.h"
8#include "mc/world/containers/managers/controllers/ContainerManagerController.h"
9
10// auto generated forward declare list
11// clang-format off
14class HashedString;
15class ItemInstance;
16class ItemStackBase;
17struct AutoPlaceItem;
18struct ItemStateData;
19struct SelectedSlotInfo;
20// clang-format on
21
22class FurnaceContainerManagerController : public ::ContainerManagerController {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::FurnaceContainerManagerModel>> mFurnaceContainerManagerModel;
27 ::ll::TypedStorage<1, 1, ::ContainerEnumName const> mIngredientName;
28 ::ll::TypedStorage<1, 1, bool> mClearInputGridOnChange;
29 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStateData>> mSavedInventoryState;
30 ::ll::TypedStorage<8, 40, ::SlotData const> mCreativeItemOutputSlot;
31 // NOLINTEND
32
33#ifdef LL_PLAT_S
34#else // LL_PLAT_C
35public:
36 // prevent constructor by default
37 FurnaceContainerManagerController();
38
39#endif
40public:
41 // virtual functions
42 // NOLINTBEGIN
43#ifdef LL_PLAT_S
44 virtual ~FurnaceContainerManagerController() /*override*/ = default;
45#else // LL_PLAT_C
46 virtual ~FurnaceContainerManagerController() /*override*/;
47#endif
48
49 virtual void handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot) /*override*/;
50
51 virtual void handlePlaceOne(::SlotData const& srcSlot, ::SlotData const& dstSlot) /*override*/;
52
53 virtual void handlePlaceAmount(::SlotData const& srcSlot, int amount, ::SlotData const& dstSlot) /*override*/;
54
55 virtual bool isOutputSlot(::std::string const& collectionName) const /*override*/;
56
57 virtual ::ItemStackBase const& getTakeableItemStackBase(::SlotData const& slot) const /*override*/;
58
59 virtual void _onItemAcquired(::ItemInstance const& itemInstance, ::SlotData const& srcSlot) /*override*/;
60 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
65#ifdef LL_PLAT_C
66 MCNAPI FurnaceContainerManagerController(
67 ::std::weak_ptr<::FurnaceContainerManagerModel> containerManagerModel,
68 ::HashedString const& recipeTag
69 );
70
71 MCNAPI void clearAllRecipes();
72
73 MCNAPI void clearGhostRecipe(::ContainerEnumName container, int slot);
74
75 MCNAPI void
76 evacuateContainerToInventory(::ContainerController* container, ::std::vector<::AutoPlaceItem> const& autoPlace);
77
78 MCNAPI int getBackgroundStyle(::std::string const& containerName, int collectionIndex) const;
79
80 MCNAPI int getBurnProgress(int max);
81
82 MCNAPI ::std::string const& getExpandoItemGroupName(::std::string const& collectionName, int collectionIndex);
83
84 MCNAPI int getLitProgress(int max);
85
86 MCNAPI ::ItemInstance const& getRecipeItem(::std::string const& collectionName, int collectionIndex) const;
87
88 MCNAPI ::std::string const& getSearchString() const;
89
90 MCNAPI void handleRecipeSelect(
91 ::std::string const& collectionName,
92 int collectionIndex,
93 bool displayOnly,
94 ::std::vector<::AutoPlaceItem> const& autoPlace
95 );
96
97 MCNAPI bool isCreativeContainer(::std::string const& containerName) const;
98
99 MCNAPI bool isExpandableItemFiltered(::std::string const& collectionName, int collectionIndex) const;
100
101 MCNAPI bool isRecipeContainer(::std::string const& containerName) const;
102
103 MCNAPI bool isRecipeIngredient(
104 ::std::string const& collectionName,
105 int collectionIndex,
106 ::ItemStackBase const& ingredient
107 ) const;
108
109 MCNAPI bool isTakeableContainer(::std::string const& containerName) const;
110
111 MCNAPI void setSearchString(::std::string const& searchString);
112#endif
113 // NOLINTEND
114
115public:
116 // constructor thunks
117 // NOLINTBEGIN
118#ifdef LL_PLAT_C
119 MCNAPI void*
120 $ctor(::std::weak_ptr<::FurnaceContainerManagerModel> containerManagerModel, ::HashedString const& recipeTag);
121#endif
122 // NOLINTEND
123
124public:
125 // destructor thunk
126 // NOLINTBEGIN
127 MCNAPI void $dtor();
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133#ifdef LL_PLAT_C
134 MCNAPI void $handlePlaceAll(::SelectedSlotInfo const& selected, ::SlotData const& dstSlot);
135
136 MCNAPI void $handlePlaceOne(::SlotData const& srcSlot, ::SlotData const& dstSlot);
137
138 MCNAPI void $handlePlaceAmount(::SlotData const& srcSlot, int amount, ::SlotData const& dstSlot);
139
140 MCNAPI bool $isOutputSlot(::std::string const& collectionName) const;
141
142 MCNAPI ::ItemStackBase const& $getTakeableItemStackBase(::SlotData const& slot) const;
143
144 MCNAPI void $_onItemAcquired(::ItemInstance const& itemInstance, ::SlotData const& srcSlot);
145#endif
146
147
148 // NOLINTEND
149
150public:
151 // vftables
152 // NOLINTBEGIN
153 MCNAPI static void** $vftable();
154 // NOLINTEND
155};
Definition ContainerController.h:20
static MCAPI void ** $vftable()
Definition FurnaceContainerManagerModel.h:29
Definition HashedString.h:5
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition AutoPlaceItem.h:5
Definition ItemStateData.h:5
Definition SelectedSlotInfo.h:10
Definition SlotData.h:5