24class MaterialReducerContainerManagerController :
public ::ContainerManagerController {
27 using ActionScope = ::gsl::final_action<::std::function<void()>>;
32 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::MaterialReducerContainerManagerModel>> mModel;
33 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CraftableCompounds>> mCraftableCompounds;
34 ::ll::TypedStorage<8, 8, ::BlockReducer*> mBlockReducer;
35 ::ll::TypedStorage<1, 1, bool> mObservingContainers;
36 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
43 MaterialReducerContainerManagerController();
50 virtual ~MaterialReducerContainerManagerController() =
default;
52 virtual ~MaterialReducerContainerManagerController() ;
56 virtual bool isOutputSlot(::std::string
const&)
const ;
58 virtual bool isOutputSlot(::std::string
const& collectionName)
const ;
61 virtual void closeContainers() ;
70 virtual int handleAutoPlace(
73 ::std::vector<::AutoPlaceItem>
const&,
74 ::std::vector<::AutoPlaceResult>&
77 virtual int handleAutoPlace(
80 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
81 ::std::vector<::AutoPlaceResult>& destinations
97 MCNAPI
explicit MaterialReducerContainerManagerController(
98 ::std::weak_ptr<::MaterialReducerContainerManagerModel> containerManagerModel
101 MCNAPI
void _consumeInputItem();
107 MCNAPI
bool _hasAnyInput();
109 MCNAPI
bool _hasAnyOutput();
111 MCNAPI ::CreateContainerItemScope _makeCreateOutputItemScope(
117 MCNAPI
void _setupCallbacks();
119 MCNAPI
void _updateResult(
::ItemStack const& input);
121 MCNAPI
bool canInputAddToCursor();
123 MCNAPI
bool isRedemptionInProgress();
125 MCNAPI
bool isStillValid(
float pickRange);
133 MCNAPI
void* $ctor(::std::weak_ptr<::MaterialReducerContainerManagerModel> containerManagerModel);
147 MCNAPI
bool $isOutputSlot(::std::string
const& collectionName)
const;
149 MCNAPI
void $closeContainers();
153 MCNAPI
int $handleAutoPlace(
156 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
157 ::std::vector<::AutoPlaceResult>& destinations