44class ItemStackRequestActionHandler {
55 enum class RemoveType :
int {
62 struct PlayerLegacyRequestSlotIdAssignment {
66 ::ll::TypedStorage<1, 1, ::ContainerEnumName const> mContainerName;
67 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mContainerRuntimeId;
68 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ItemStackLegacyRequestId, ::ItemStackNetId>>> mSlots;
73 PlayerLegacyRequestSlotIdAssignment();
92 ::ll::TypedStorage<1, 1, uchar> mSlot;
93 ::ll::TypedStorage<4, 4, ::ItemStackNetId> mServerNetId;
101 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mExpireTime;
105 ::std::unordered_map<
106 ::ContainerRuntimeId,
107 ::std::unordered_map<uchar, ::ItemStackRequestActionHandler::RequestSlotIdAssignment>>>
116 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStackRequestActionCraftHandler>> mCraftRequestHandler;
117 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenHandlerBase>> mScreenHandler;
119 TypedStorage<8, 64, ::std::unordered_map<::ContainerRuntimeId, ::std::shared_ptr<::SimpleSparseContainer>>>
120 mRuntimeIdSparseContainerMap;
124 ::std::unordered_map<::ItemStackRequestId, ::ItemStackRequestActionHandler::RequestIdAssignments>>
132 ::ll::TypedStorage<8, 8, ::Player&> mPlayer;
133 ::ll::TypedStorage<8, 8, ::ItemStackNetManagerServer&> mItemStackNetManager;
134 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mPlayerArmorContainerRuntimeId;
135 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mPlayerHandContainerRuntimeId;
136 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mPlayerUIContainerRuntimeId;
137 ::ll::TypedStorage<8, 96, ::std::array<::ItemStackRequestActionHandler::PlayerLegacyRequestSlotIdAssignment, 3>>
138 mPlayerLegacyRequests;
139 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastTime;
140 ::ll::TypedStorage<8, 24, ::WeakRef<::EntityContext>> mCurrentRequestScreen;
141 ::ll::TypedStorage<8, 16, ::ItemStackRequestId> mClientRequestId;
142 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStackResponseContainerInfo>> mResponseContainerInfos;
143 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::std::vector<::std::string>>> mFilteredStrings;
144 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::std::vector<::std::string>>> mStrings;
145 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContainerScreenValidation>> mScreenValidation;
146 ::ll::TypedStorage<8, 24, ::std::vector<::QueuedCursorItemEvent>> mQueuedCursorItemEvents;
147 ::ll::TypedStorage<8, 24, ::std::vector<::CursorDragDeferredSlot>> mCursorDragDeferredSlots;
152 ItemStackRequestActionHandler& operator=(ItemStackRequestActionHandler
const&);
153 ItemStackRequestActionHandler(ItemStackRequestActionHandler
const&);
154 ItemStackRequestActionHandler();
164 ::ContainerRuntimeId
const& containerRuntimeId,
167 ::ItemStackNetId
const& serverNetId
170 MCAPI ::std::shared_ptr<::SimpleSparseContainer>
173 MCAPI ::ItemStackNetResult _handleRemove(
176 ::ItemStackRequestActionHandler::RemoveType removeType
179 MCAPI ::ItemStackNetResult _handleTransfer(
181 bool const isSrcHintSlot,
182 bool const isDstHintSlot,
199 ::ContainerEnumName containerName,
206 MCAPI ::ItemStackRequestHandlerSlotInfo
209 MCNAPI
void addStrings(::ItemStackRequestId requestId, ::std::vector<::std::string> strings);
212 MCNAPI ::std::vector<::std::string>
const& getFilteredStrings(::ItemStackRequestId requestId)
const;
215 MCAPI ::ContainerScreenContext
const& getScreenContext()
const;
218 MCNAPI ::std::vector<::std::string>
const& getStrings(::ItemStackRequestId requestId)
const;
223 MCNAPI ::std::vector<::ItemInstance>
224 tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar numCrafts);
Definition ContainerScreenContext.h:16
Definition EntityContext.h:15