49 struct PredictiveContainer {
53 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SparseContainerClient>> mSparseContainer;
54 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ItemStackRequestId, ::std::vector<::HistoricPredictionData>>>
56 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ItemStackRequestId, ::std::vector<::HistoricPredictionData>>>
64 PredictiveContainer();
70 virtual ~PredictiveContainer() =
default;
77 MCNAPI PredictiveContainer(
79 ::SparseContainerBackingSetType backingSetType,
80 bool isItemStackNetManagerEnabled,
81 ::std::unique_ptr<::ISparseContainerSetListener> netManagerSetter,
82 ::std::unique_ptr<::IPlayerContainerSetter> playerContainerSetter
93 ::SparseContainerBackingSetType backingSetType,
94 bool isItemStackNetManagerEnabled,
95 ::std::unique_ptr<::ISparseContainerSetListener> netManagerSetter,
96 ::std::unique_ptr<::IPlayerContainerSetter> playerContainerSetter
112 ::ll::TypedStorage<8, 48, ::ContainerWeakRef> mContainerWeakRef;
113 ::ll::TypedStorage<8, 8, ::ItemStackNetManagerClient::PredictiveContainer*> mContainer;
133 struct ClientScreenData {
137 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ContainerEnumName, ::std::unordered_set<uchar>>>
138 mLegacyTransactionSetItemSlots;
143 unordered_map<::ItemStackRequestId, ::std::vector<::ItemStackNetManagerClient::PredictiveContainer*>>>
145 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ClientScratchContainer>>> mClientScratchContainers;
146 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ItemStackNetManagerClient::PredictiveContainer>>>
147 mPlayerOwnedPredictiveContainers;
148 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ItemStackNetManagerClient::PredictiveContainer>>>
149 mOpenSessionPredictiveContainers;
153 ::std::unordered_map<::FullContainerName, ::ItemStackNetManagerClient::OpenSessionContainerData>>
154 mOpenSessionContainerMap;
158 ::std::unordered_map<::FullContainerName, ::ItemStackNetManagerClient::OpenSessionContainerData>>
166 ClientScreenData& operator=(ClientScreenData
const&);
167 ClientScreenData(ClientScreenData
const&);
174 MCNAPI ClientScreenData();
178 MCNAPI ::ItemStackNetManagerClient::ClientScreenData&
181 MCNAPI ~ClientScreenData();
189 MCNAPI
void* $ctor();
208 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContainerModel>> mOwnedContainer;
227 ::ll::TypedStorage<1, 1, bool> mIsHandlingResponse;
228 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStackRequestData>> mRequest;
229 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStackRequestBatch>> mRequestBatch;
230 ::ll::TypedStorage<8, 24, ::WeakRef<::EntityContext>> mRequestScreen;
238 virtual ::SparseContainer* initOpenContainer(
244 virtual ::ItemStackRequestId getRequestId() const ;
246 virtual
bool allowInventoryTransactionManager() const ;
248 virtual ::gsl::final_action<::
std::function<
void()>> _tryBeginClientLegacyTransactionRequest() ;
250 virtual
void _addLegacyTransactionRequestSetItemSlot(
252 ::SharedTypes::Legacy::ContainerType containerType,
263 MCNAPI
void _beginRequest(::ItemStackRequestScreen screen);
265 MCNAPI
void _clearPredictiveContainerRequest(
266 ::ItemStackRequestId
const& requestId,
271 MCNAPI
void _endRequest();
273 MCNAPI ::std::unique_ptr<::ItemStackRequestData> _endTakeRequest();
275 MCNAPI ::std::unordered_map<::ContainerEnumName, ::std::unordered_set<uchar>>
276 _getLegacyTransactionSetItemSlots()
const;
278 MCNAPI ::ItemStackNetManagerClient::PredictiveContainer* _getPredictiveContainer(
::Container* sparseContainer);
280 MCNAPI
void _initPlayerContainers();
282 MCNAPI
void _processResponseSlot(
283 ::ItemStackRequestId
const& requestId,
288 MCNAPI ::ItemStackNetManagerClient::ClientScreenData* _tryGetCurrentClientScreen();
290 MCNAPI
void addContainerToRequest(::ItemStackRequestId requestId,
::Container* container);
292 MCNAPI
void addRequestAction(::std::unique_ptr<::ItemStackRequestAction> requestAction);
294 MCNAPI
void cacheHistoricPrediction(
296 ::ItemStackRequestId
const& requestId,
302 cacheZeroedOutItem(
::Container* container, ::ItemStackRequestId
const& requestId,
int slot,
::ItemStack&& item);
304 MCNAPI
void clearZeroedOutItem(
::Container* container, ::ItemStackRequestId
const& requestId,
int slot);
306 MCNAPI ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container>> getPredictiveContainers();
308 MCNAPI
void handleItemStackResponse(::std::vector<::ItemStackResponseInfo>
const& responses);
310 MCNAPI
void trySendBatch();
318 MCNAPI ::SparseContainer* $initOpenContainer(
324 MCNAPI ::ItemStackRequestId $getRequestId()
const;
326 MCNAPI
bool $allowInventoryTransactionManager()
const;
328 MCNAPI ::gsl::final_action<::std::function<void()>> $_tryBeginClientLegacyTransactionRequest();
330 MCNAPI
void $_addLegacyTransactionRequestSetItemSlot(
332 ::SharedTypes::Legacy::ContainerType containerType,
Definition EntityContext.h:16