3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/gameplay/api/gameplayui/AnvilInfo.h"
7#include "mc/client/gui/gameplay/api/gameplayui/ContainerItemType.h"
8#include "mc/client/gui/gameplay/data/gameplayui/ChestType.h"
9#include "mc/client/gui/gameplay/data/gameplayui/ContainerColorMode.h"
10#include "mc/deps/shared_types/legacy/ContainerType.h"
11#include "mc/legacy/ActorUniqueID.h"
12#include "mc/world/containers/ContainerEnumName.h"
13#include "mc/world/containers/SlotData.h"
14#include "mc/world/containers/controllers/ItemCraftType.h"
15#include "mc/world/item/ItemGroup.h"
16#include "mc/world/level/BlockPos.h"
57 ::ll::TypedStorage<8, 136, ::ItemGroup> distributionSource;
58 ::ll::TypedStorage<8, 40, ::SlotData> lastPlaceAllSlot;
59 ::ll::TypedStorage<4, 4, int> lastPlaceAllAmount;
67 ::ll::TypedStorage<8, 40, ::SlotData> lastPlaceOneSelectedSlot;
68 ::ll::TypedStorage<8, 40, ::SlotData> lastPlaceOneDestinationSlot;
73 SplitSingleState& operator=(SplitSingleState
const&);
74 SplitSingleState(SplitSingleState
const&);
80 MCAPI ::GameplayUI::ContainerAPI::SplitSingleState& operator=(::GameplayUI::ContainerAPI::SplitSingleState&&);
87 ::ll::TypedStorage<8, 8, ::LocalPlayer*> mLocalPlayer;
88 ::ll::TypedStorage<8, 64, ::std::function<::ItemRegistryRef()>> mGetItemRegistryRef;
89 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContainerManagerController>> mContainerManagerController;
90 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::AnvilContainerManagerModel>> mAnvilContainerManagerModel;
91 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::BrewingStandContainerManagerModel>> mBrewingStandContainerManagerModel;
92 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ChestContainerManagerModel>> mChestContainerManagerModel;
93 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CraftingContainerManagerModel>> mCraftingContainerManagerModel;
94 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::FurnaceContainerManagerModel>> mFurnaceContainerManagerModel;
95 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::GrindstoneContainerManagerModel>> mGrindstoneContainerManagerModel;
96 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::HopperContainerManagerModel>> mHopperContainerManagerModel;
97 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::DropperContainerManagerModel>> mDropperContainerManagerModel;
98 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::DispenserContainerManagerModel>> mDispenserContainerManagerModel;
99 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::Trade2ContainerManagerModel>> mTrade2ContainerManagerModel;
100 ::ll::TypedStorage<4, 12, ::BlockPos> mContainerBlockPos;
101 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mUniqueActorId;
102 ::ll::TypedStorage<8, 80, ::GameplayUI::AnvilInfo> mAnvilInfo;
103 ::ll::TypedStorage<8, 184, ::GameplayUI::ContainerAPI::SplitMultipleState> mSplitMultipleState;
104 ::ll::TypedStorage<8, 88, ::std::optional<::GameplayUI::ContainerAPI::SplitSingleState>> mSplitSingleState;
114 MCAPI
explicit ContainerAPI(::std::function<::ItemRegistryRef()> getItemRegistryRef);
116 MCAPI ::GameplayUI::ContainerItem
117 _containerItemFromItemStack(::ItemStackBase
const& item, ::GameplayUI::ContainerItemType containerItemType)
const;
119 MCAPI
void _recipeAutoCraft(::ContainerEnumName collectionName,
int collectionIndex, ::ItemCraftType craftType);
121 MCAPI ::std::shared_ptr<::ContainerModel> _tryGetContainerModel(::ContainerEnumName containerName)
const;
123 MCAPI
void _tryUpdateCraftingContainer();
125 MCAPI
void autoCraftAllItemsFromRecipe(::ContainerEnumName sourceName,
int sourceIndex);
127 MCAPI
void autoCraftOneItemFromRecipe(::ContainerEnumName sourceName,
int sourceIndex);
129 MCAPI
void autoPlaceItems(::ContainerEnumName sourceName,
int sourceIndex);
131 MCAPI
void closeContainer();
133 MCAPI
void coalesceItems(::ContainerEnumName destinationName,
int destinationIndex, ::ContainerEnumName sourceName);
135 MCAPI
void coalesceOrAutoPlaceItems(::ContainerEnumName destinationName,
int destinationIndex);
137 MCAPI
void dropAllItems(::ContainerEnumName sourceName,
int sourceIndex);
139 MCAPI
void dropOneItem(::ContainerEnumName sourceName,
int sourceIndex);
141 MCAPI ::std::optional<::GameplayUI::AnvilInfo> getAnvilInfo()
const;
143 MCAPI ::std::optional<::GameplayUI::BrewingStandInfo> getBrewingStandInfo()
const;
145 MCAPI ::std::vector<::GameplayUI::ContainerItem> getBundleContent(
int bundleID)
const;
147 MCAPI ::std::optional<::GameplayUI::ChestType> getChestType()
const;
149 MCAPI ::std::optional<::GameplayUI::ContainerColorMode> getContainerColorMode();
151 MCAPI ::std::optional<::GameplayUI::ContainerItem>
152 getContainerItem(::ContainerEnumName containerName,
int index)
const;
154 MCAPI ::std::string getContainerName()
const;
156 MCAPI ::std::optional<int> getContainerSize(::ContainerEnumName containerName)
const;
158 MCAPI ::std::optional<::GameplayUI::ContainerItem>
159 getCraftingScreenContainerItem(::ContainerEnumName containerName,
int index)
const;
161 MCAPI ::std::string getRecipeBookSearchString()
const;
163 MCAPI ::GameplayUI::TradeOfferInfo getTradeOfferInfo(
int tradeTier,
int tradeIndex)
const;
165 MCAPI ::GameplayUI::TradeOverview getTradeOverview()
const;
167 MCAPI ::GameplayUI::ContainerItem getTradeScreenResultPreviewContainerItem(
int index)
const;
169 MCAPI ::GameplayUI::TradeTierInfo getTradeTierInfo(
int tradeTier)
const;
171 MCAPI
bool isItemStackableWithCursor(::ContainerEnumName containerName,
int index)
const;
173 MCAPI
bool isRecipeBookFiltering()
const;
175 MCAPI
void onPlayerOpenContainer(
176 ::SharedTypes::Legacy::ContainerType containerType,
177 ::BlockPos
const& blockPos,
178 ::ActorUniqueID
const& uniqueId
181 MCAPI
void performAutoTrade(
int tradeTier,
int tradeIndex);
183 MCAPI
void placeAllItems(
184 ::ContainerEnumName selectedName,
186 ::ContainerEnumName destinationName,
190 MCAPI
void placeAmountOfItems(
191 ::ContainerEnumName selectedName,
193 ::ContainerEnumName destinationName,
194 int destinationIndex,
198 MCAPI
void placeOneItem(
199 ::ContainerEnumName selectedName,
201 ::ContainerEnumName destinationName,
205 MCAPI
void pullInIngredientsForSelectedTrade();
207 MCAPI
void resetSplitStack();
209 MCAPI
void selectRecipe(::ContainerEnumName sourceName,
int sourceIndex,
bool displayOnly);
211 MCAPI
void selectTrade(
int tradeTier,
int tradeIndex);
213 MCAPI
void setAnvilPreviewItemName(::std::string
const& name);
215 MCAPI
void setDistributeAllSource(::ContainerEnumName sourceName,
int sourceIndex);
217 MCAPI
void setRecipeBookFiltering(
bool isFiltering);
219 MCAPI
void setRecipeBookSearchString(::std::string
const& searchText);
221 MCAPI
void splitMultipleItems(
222 ::ContainerEnumName selectedName,
224 ::ContainerEnumName destinationName,
228 MCAPI
void splitMultipleItemsTouch(
229 ::ContainerEnumName selectedName,
231 ::ContainerEnumName destinationName,
235 MCAPI
void splitSingleItem(
236 ::ContainerEnumName sourceName,
238 ::ContainerEnumName destinationName,
242 MCAPI
void takeAllItems(
243 ::ContainerEnumName destinationName,
244 int destinationIndex,
245 ::ContainerEnumName sourceName,
249 MCAPI
void takeHalfItems(
250 ::ContainerEnumName destinationName,
251 int destinationIndex,
252 ::ContainerEnumName sourceName,
256 MCAPI
void takeOneItem(
257 ::ContainerEnumName destinationName,
258 int destinationIndex,
259 ::ContainerEnumName sourceName,
263 MCAPI ~ContainerAPI();
269 MCAPI
void* $ctor(::std::function<::ItemRegistryRef()> getItemRegistryRef);
Definition AnvilContainerManagerModel.h:18
Definition BrewingStandContainerManagerModel.h:19
Definition ChestContainerManagerModel.h:19
Definition ContainerManagerController.h:48
Definition ContainerModel.h:28
Definition CraftingContainerManagerModel.h:25
Definition DispenserContainerManagerModel.h:16
Definition DropperContainerManagerModel.h:16
Definition FurnaceContainerManagerModel.h:29
Definition ContainerAPI.h:7
Definition GrindstoneContainerManagerModel.h:18
Definition HopperContainerManagerModel.h:17
Definition ItemRegistryRef.h:42
Definition ItemStackBase.h:52
Definition LocalPlayer.h:5
Definition Trade2ContainerManagerModel.h:20
Definition BrewingStandInfo.h:7
Definition ContainerAPI.h:16
Definition ContainerAPI.h:18
Definition ContainerItem.h:7
Definition TradeOfferInfo.h:7
Definition TradeOverview.h:7
Definition TradeTierInfo.h:7