3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/world/inventory/network/ContainerScreenContext.h"
7#include "mc/world/inventory/simulation/ContainerScreenRequestActionType.h"
8#include "mc/world/inventory/simulation/ContainerValidationCaller.h"
9#include "mc/world/inventory/simulation/ContainerValidationDebug.h"
31 ::ll::TypedStorage<8, 40, ::ContainerScreenContext> mScreenContext;
32 ::ll::TypedStorage<4, 4, ::ContainerValidationCaller> mCaller;
33 ::ll::TypedStorage<8, 64, ::std::unordered_map<::FullContainerName, uint64>> mContainerIndexMap;
37 ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::ContainerValidationBase const>>>
38 mContainerValidatorMap;
39 ::ll::TypedStorage<8, 64, ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container>>>
40 mPredictiveContainers;
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContainerScreenValidatorBase>> mContainerScreenValidator;
42 ::ll::TypedStorage<8, 24, ::std::vector<::ContainerValidationLayer>> mValidationStack;
43 ::ll::TypedStorage<4, 12, ::ContainerValidationDebug const> mDebug;
57 virtual ::ContainerValidationResult
58 tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const);
61 virtual ::ContainerValidationCraftResult
62 getCraftResults(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const);
65 virtual ::ContainerValidationResult tryActivate();
73 ::ContainerValidationCaller caller,
74 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
79 MCNAPI ::ContainerValidationSlotInfo
84 MCNAPI ::std::shared_ptr<::ContainerValidationBase const>
99 bool isWholeStackTransfer,
100 bool allowPartialSuccess,
101 bool isInternalTransfer
107 ::ContainerScreenRequestActionType actionType
110 MCNAPI ::std::shared_ptr<::SimpleSparseContainer>
117 MCNAPI ::ContainerValidationResult
120 MCNAPI ::ContainerValidationResult
127 bool isAllowingPartialTransfer
136 ::ContainerValidationCaller caller,
137 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
146 ::ContainerValidationCaller caller,
147 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
160 MCNAPI ::ContainerValidationResult
161 $tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const);
163 MCNAPI ::ContainerValidationCraftResult
164 $getCraftResults(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const);
Definition ContainerScreenContext.h:17
Definition ContainerScreenValidation.h:27
MCAPI bool tryCommitActionResults()
MCAPI int _tryAddItem(::ContainerValidationSlotInfo &slotInfo, int addCount, bool allowPartialSuccess)
MCAPI ContainerScreenValidation(::ContainerScreenContext const &screenContext, ::ContainerValidationCaller caller, ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container > > predictiveContainers)
MCAPI::ContainerValidationResult $tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs > craftInputs, uchar const)
MCAPI ::std::shared_ptr<::ContainerValidationBase const > _getOrCreateContainerValidator(::FullContainerName const &containerEnumName)
MCAPI bool _tryMoveItem(::ContainerValidationSlotInfo &srcValidatorPair, ::ContainerValidationSlotInfo &dstValidatorPair)
MCAPI void * $ctor(::ContainerScreenContext const &screenContext, ::ContainerValidationCaller caller, ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container > > predictiveContainers)
MCAPI::ContainerValidationCraftResult $getCraftResults(::std::unique_ptr<::ContainerValidationCraftInputs > craftInputs, uchar const)
MCAPI ::std::shared_ptr<::SimpleSparseContainer > getOrCreateSparseContainer(::FullContainerName const &containerEnumName)
MCAPI int _trySetItem(::ContainerValidationSlotInfo &slotInfo, ::ItemStack const &stack, bool isWholeStackTransfer, bool allowPartialSuccess, bool isInternalTransfer)
MCAPI::ItemStack _tryRemoveItem(::ContainerValidationSlotInfo &slotInfo, int amount)
MCAPI::ContainerValidationResult tryTransfer(::ContainerValidationSlotData const &srcSlotData, ::ContainerValidationSlotData const &dstSlotData, int transferAmount, bool isAllowingPartialTransfer)
static MCAPI void ** $vftable()
static MCAPI ::std::unique_ptr<::ContainerScreenValidation > makeContainerScreenValidation(::ContainerScreenContext const &screenContext, ::ContainerValidationCaller caller, ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container > > predictiveContainers)
MCAPI bool _propagateContainers()
MCAPI::ContainerValidationResult _tryTransferSpecial(::ContainerValidationSlotData const &srcSlotData, int transferAmount, ::ContainerScreenRequestActionType actionType)
MCAPI::ContainerValidationResult tryDrop(::ContainerValidationSlotData const &srcSlotData, int transferAmount, bool dropRandomly)
MCAPI::ContainerValidationResult trySwap(::ContainerValidationSlotData const &srcSlotData, ::ContainerValidationSlotData const &dstSlotData)
MCAPI::ContainerValidationResult tryConsume(::ContainerValidationSlotData const &srcSlotData, int transferAmount)
MCAPI::ContainerValidationResult $tryActivate()
MCAPI::ContainerValidationSlotInfo _createContainerValidatorSlotInfo(::ContainerValidationSlotData const &slotData)
Definition ContainerScreenValidatorBase.h:18
Definition ContainerValidationBase.h:12
Definition Container.h:30
Definition ItemStack.h:25
Definition SimpleSparseContainer.h:18
Definition ContainerValidationCraftResult.h:14
Definition ContainerValidationLayer.h:15
Definition ContainerValidationResult.h:14
Definition ContainerValidationSlotData.h:8
Definition ContainerValidationSlotInfo.h:14
Definition FullContainerName.h:8