41class ItemStackRequestActionHandler {
52 enum class RemoveType :
int {
59 struct PlayerLegacyRequestSlotIdAssignment {
63 ::ll::TypedStorage<1, 1, ::ContainerEnumName const> mContainerName;
64 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mContainerRuntimeId;
65 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ItemStackLegacyRequestId, ::ItemStackNetId>>> mSlots;
70 PlayerLegacyRequestSlotIdAssignment();
75 MCAPI PlayerLegacyRequestSlotIdAssignment(::ContainerEnumName containerName,
::Container& container);
77 MCAPI ~PlayerLegacyRequestSlotIdAssignment();
83 MCAPI
void* $ctor(::ContainerEnumName containerName,
::Container& container);
97 ::ll::TypedStorage<1, 1, uchar> mSlot;
98 ::ll::TypedStorage<4, 4, ::ItemStackNetId> mServerNetId;
106 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mExpireTime;
110 ::std::unordered_map<
111 ::ContainerRuntimeId,
112 ::std::unordered_map<uchar, ::ItemStackRequestActionHandler::RequestSlotIdAssignment>>>
121 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStackRequestActionCraftHandler>> mCraftRequestHandler;
122 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenHandlerBase>> mScreenHandler;
124 TypedStorage<8, 64, ::std::unordered_map<::ContainerRuntimeId, ::std::shared_ptr<::SimpleSparseContainer>>>
125 mRuntimeIdSparseContainerMap;
129 ::std::unordered_map<::ItemStackRequestId, ::ItemStackRequestActionHandler::RequestIdAssignments>>
135 ScreenData& operator=(ScreenData
const&);
136 ScreenData(ScreenData
const&);
165 ::ll::TypedStorage<8, 8, ::Player&> mPlayer;
166 ::ll::TypedStorage<8, 8, ::ItemStackNetManagerServer&> mItemStackNetManager;
167 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mPlayerArmorContainerRuntimeId;
168 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mPlayerHandContainerRuntimeId;
169 ::ll::TypedStorage<4, 4, ::ContainerRuntimeId const> mPlayerUIContainerRuntimeId;
170 ::ll::TypedStorage<8, 96, ::std::array<::ItemStackRequestActionHandler::PlayerLegacyRequestSlotIdAssignment, 3>>
171 mPlayerLegacyRequests;
172 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastTime;
173 ::ll::TypedStorage<8, 24, ::WeakRef<::EntityContext>> mCurrentRequestScreen;
174 ::ll::TypedStorage<4, 16, ::ItemStackRequestId> mClientRequestId;
175 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStackResponseContainerInfo>> mResponseContainerInfos;
176 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::std::vector<::std::string>>> mFilteredStrings;
177 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::std::vector<::std::string>>> mStrings;
178 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContainerScreenValidation>> mScreenValidation;
183 ItemStackRequestActionHandler& operator=(ItemStackRequestActionHandler
const&);
184 ItemStackRequestActionHandler(ItemStackRequestActionHandler
const&);
185 ItemStackRequestActionHandler();
194 MCAPI
void _cacheLegacySlotIdAssignment(
195 ::ContainerEnumName containerName,
197 ::ItemStackLegacyRequestId
const& legacyClientRequestId,
198 ::ItemStackNetId
const& serverNetId
201 MCAPI
void _cacheSlotIdAssigment(
202 ::ContainerRuntimeId
const& containerRuntimeId,
205 ::ItemStackNetId
const& serverNetId
210 MCAPI ::std::shared_ptr<::SimpleSparseContainer>
213 MCAPI ::ItemStackNetResult _handleRemove(
216 ::ItemStackRequestActionHandler::RemoveType removeType
219 MCAPI ::ItemStackNetResult _handleTransfer(
228 MCAPI ::std::optional<::ItemStackRequestActionHandler::RequestSlotIdAssignment> _resolveSlotIdAssignment(
230 ::ContainerRuntimeId
const& containerRuntimeId
233 MCAPI ::ItemStackRequestActionHandler::ScreenData* _tryGetCurrentScreenData()
const;
235 MCAPI ::ItemStackRequestHandlerSlotInfo
238 MCAPI
void addStrings(::ItemStackRequestId requestId, ::std::vector<::std::string> strings);
242 MCAPI ::std::tuple<::ItemStackNetResult, ::std::vector<::ItemStackResponseContainerInfo>>
243 endRequest(::ItemStackNetResult currentResult);
245 MCAPI ::std::vector<::std::string>
const& getFilteredStrings(::ItemStackRequestId requestId)
const;
247 MCAPI ::std::vector<::std::string>
const& getStrings(::ItemStackRequestId requestId)
const;
251 MCAPI ::std::vector<::ItemInstance>
252 tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar numCrafts);
Definition ContainerScreenContext.h:17
Definition EntityContext.h:16