48 struct PredictiveContainer {
52 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SparseContainerClient>> mSparseContainer;
53 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ItemStackRequestId, ::std::vector<::HistoricPredictionData>>>
55 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ItemStackRequestId, ::std::vector<::HistoricPredictionData>>>
63 PredictiveContainer();
69 virtual ~PredictiveContainer() =
default;
76 MCNAPI PredictiveContainer(
78 ::SparseContainerBackingSetType backingSetType,
79 bool isItemStackNetManagerEnabled,
80 ::std::unique_ptr<::ISparseContainerSetListener> netManagerSetter,
81 ::std::unique_ptr<::IPlayerContainerSetter> playerContainerSetter
92 ::SparseContainerBackingSetType backingSetType,
93 bool isItemStackNetManagerEnabled,
94 ::std::unique_ptr<::ISparseContainerSetListener> netManagerSetter,
95 ::std::unique_ptr<::IPlayerContainerSetter> playerContainerSetter
105 ::ll::TypedStorage<8, 48, ::ContainerWeakRef> mContainerWeakRef;
106 ::ll::TypedStorage<8, 8, ::ItemStackNetManagerClient::PredictiveContainer*> mContainer;
110 struct ClientScreenData {
114 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ContainerEnumName, ::std::unordered_set<uchar>>>
115 mLegacyTransactionSetItemSlots;
120 unordered_map<::ItemStackRequestId, ::std::vector<::ItemStackNetManagerClient::PredictiveContainer*>>>
122 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ClientScratchContainer>>> mClientScratchContainers;
123 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ItemStackNetManagerClient::PredictiveContainer>>>
124 mPlayerOwnedPredictiveContainers;
125 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ItemStackNetManagerClient::PredictiveContainer>>>
126 mOpenSessionPredictiveContainers;
130 ::std::unordered_map<::FullContainerName, ::ItemStackNetManagerClient::OpenSessionContainerData>>
131 mOpenSessionContainerMap;
135 ::std::unordered_map<::FullContainerName, ::ItemStackNetManagerClient::OpenSessionContainerData>>
143 ClientScreenData& operator=(ClientScreenData
const&);
144 ClientScreenData(ClientScreenData
const&);
154 MCNAPI ::ItemStackNetManagerClient::ClientScreenData&
172 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContainerModel>> mOwnedContainer;
179 ::ll::TypedStorage<1, 1, bool> mIsHandlingResponse;
180 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStackRequestData>> mRequest;
181 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStackRequestBatch>> mRequestBatch;
182 ::ll::TypedStorage<8, 24, ::WeakRef<::EntityContext>> mRequestScreen;
190 virtual ::SparseContainer* initOpenContainer(
196 virtual ::ItemStackRequestId getRequestId() const ;
198 virtual
bool allowInventoryTransactionManager() const ;
200 virtual ::gsl::final_action<::
std::function<
void()>> _tryBeginClientLegacyTransactionRequest() ;
203 virtual void _addLegacyTransactionRequestSetItemSlot(
205 ::SharedTypes::Legacy::ContainerType,
209 virtual void _addLegacyTransactionRequestSetItemSlot(
211 ::SharedTypes::Legacy::ContainerType containerType,
228 MCNAPI
void _beginRequest(::ItemStackRequestScreen screen);
230 MCNAPI
void _clearPredictiveContainerRequest(
231 ::ItemStackRequestId
const& requestId,
236 MCNAPI
void _endRequest();
238 MCNAPI ::std::unique_ptr<::ItemStackRequestData> _endTakeRequest();
240 MCNAPI ::ItemStackNetManagerClient::ClientScreenData
const* _tryGetCurrentClientScreen()
const;
242 MCNAPI ::ItemStackNetManagerClient::ClientScreenData* _tryGetCurrentClientScreen();
244 MCNAPI
void addContainerToRequest(::ItemStackRequestId requestId,
::Container* container);
246 MCNAPI
void addRequestAction(::std::unique_ptr<::ItemStackRequestAction> requestAction);
248 MCNAPI
void cacheHistoricPrediction(
250 ::ItemStackRequestId
const& requestId,
256 cacheZeroedOutItem(
::Container* container, ::ItemStackRequestId
const& requestId,
int slot,
::ItemStack&& item);
258 MCNAPI
void clearZeroedOutItem(
::Container* container, ::ItemStackRequestId
const& requestId,
int slot);
260 MCNAPI ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container>> getPredictiveContainers();
262 MCNAPI
void handleItemStackResponse(::std::vector<::ItemStackResponseInfo>
const& responses);
264 MCNAPI
void trySendBatch();
272 MCNAPI ::SparseContainer* $initOpenContainer(
278 MCNAPI ::ItemStackRequestId $getRequestId()
const;
280 MCNAPI
bool $allowInventoryTransactionManager()
const;
282 MCNAPI ::gsl::final_action<::std::function<void()>> $_tryBeginClientLegacyTransactionRequest();
284 MCNAPI
void $_addLegacyTransactionRequestSetItemSlot(
286 ::SharedTypes::Legacy::ContainerType containerType,
Definition EntityContext.h:15