29class AnvilContainerManagerController :
public ::ContainerManagerController {
33 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::AnvilContainerManagerModel>> mAnvilContainerManagerModel;
34 ::ll::TypedStorage<4, 4, int> mCost;
35 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mPreviewName;
36 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mItemName;
37 ::ll::TypedStorage<1, 1, bool> mIsMapRecipe;
38 ::ll::TypedStorage<8, 136, ::ItemResultPreview> mResultPreview;
39 ::ll::TypedStorage<1, 1, bool> mIsEnchantingBookRecipe;
40 ::ll::TypedStorage<4, 4, int> mRepairItemCountCost;
41 ::ll::TypedStorage<4, 4, ::RecipeNetId> mCurrentRecipeNetId;
42 ::ll::TypedStorage<8, 8, ::Recipe const*> mMapCraftingRecipe;
43 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
50 AnvilContainerManagerController();
56 virtual ~AnvilContainerManagerController() =
default;
58 virtual void postInit(::std::weak_ptr<::ContainerManagerController> self) ;
60 virtual void updatePreviewItem() ;
66 virtual ::Bedrock::Safety::RedactableString
const& getPreviewItemName()
const ;
68 virtual ::Bedrock::Safety::RedactableString
const& getItemName()
const ;
70 virtual bool isOutputSlot(::std::string
const& collectionName)
const ;
72 virtual ::ItemStackBase
const& getTakeableItemStackBase(
::SlotData const& slot)
const ;
74 virtual void handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot) ;
82 virtual int handleAutoPlace(
85 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
86 ::std::vector<::AutoPlaceResult>& destinations
91 virtual ::CreateContainerItemScope
94 virtual void _updateItemStackRequest(
95 ::ContainerScreenRequestActionType,
105 MCNAPI
explicit AnvilContainerManagerController(
106 ::std::weak_ptr<::AnvilContainerManagerModel> containerManagerModel
109 MCNAPI
void _consumeMaterials();
111 MCNAPI
bool _consumeOneFromAnvilInputSlot();
117 MCNAPI
bool _isTooExpensive();
119 MCNAPI
void _onItemGrabbed();
121 MCNAPI
bool _playerHasEnoughXP();
123 MCNAPI
void _setupCallbacks();
125 MCNAPI ::std::string getCostText();
127 MCNAPI
bool shouldDrawRed();
135 MCNAPI
void* $ctor(::std::weak_ptr<::AnvilContainerManagerModel> containerManagerModel);
143 MCNAPI
void $postInit(::std::weak_ptr<::ContainerManagerController> self);
145 MCNAPI
void $updatePreviewItem();
151 MCNAPI ::Bedrock::Safety::RedactableString
const& $getPreviewItemName()
const;
153 MCNAPI ::Bedrock::Safety::RedactableString
const& $getItemName()
const;
155 MCNAPI
bool $isOutputSlot(::std::string
const& collectionName)
const;
157 MCNAPI ::ItemStackBase
const& $getTakeableItemStackBase(
::SlotData const& slot)
const;
159 MCNAPI
void $handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot);
167 MCNAPI
int $handleAutoPlace(
170 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
171 ::std::vector<::AutoPlaceResult>& destinations
178 MCNAPI
void $_updateItemStackRequest(
179 ::ContainerScreenRequestActionType,