LeviLamina
Loading...
Searching...
No Matches
ItemStackNetManagerServer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/events/TextProcessingEventOrigin.h"
8#include "mc/util/CallbackToken.h"
9#include "mc/util/CallbackTokenContext.h"
10#include "mc/world/containers/ContainerEnumName.h"
11#include "mc/world/inventory/network/ItemStackNetManagerBase.h"
12#include "mc/world/inventory/network/TypedClientNetId.h"
13#include "mc/world/level/Tick.h"
14
15// auto generated forward declare list
16// clang-format off
22class ServerPlayer;
27// clang-format on
28
30public:
31 // ItemStackNetManagerServer inner types define
32 enum class TextFilterState : int {
33 None = 0,
34 Waiting = 1,
35 Timedout = 2,
36 };
37
38 using RetainScope = ::gsl::final_action<::std::function<void()>>;
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStackRequestActionHandler>> mRequestActionHandler;
44 ::ll::TypedStorage<1, 1, bool> mRetainSetItemStackNetIdVariants;
45 ::ll::TypedStorage<4, 4, ::ItemStackNetManagerServer::TextFilterState> mTextFilterState;
46 ::ll::TypedStorage<
47 8,
48 40,
49 ::std::
50 queue<::std::unique_ptr<::ItemStackRequestData>, ::std::deque<::std::unique_ptr<::ItemStackRequestData>>>>
51 mRequestsQueue;
52 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::TextFilteringProcessor>> mTextFilteringProcessor;
53 ::ll::TypedStorage<8, 8, ::Tick> mTextFilterRequestTimer;
54 ::ll::TypedStorage<8, 8, ::Tick const> mTextFilterRequestTimeout;
55 ::ll::TypedStorage<8, 16, ::CallbackToken> mTextFilterRequestToken;
56 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CallbackTokenContext<::std::function<void()>>>>
57 mOnContainerScreenCloseCB;
58 // NOLINTEND
59
60public:
61 // prevent constructor by default
63
64public:
65 // virtual functions
66 // NOLINTBEGIN
67 // vIndex: 0
68 virtual ~ItemStackNetManagerServer() /*override*/ = default;
69
70 // vIndex: 2
71 virtual ::ItemStackRequestId getRequestId() const /*override*/;
72
73 // vIndex: 3
74 virtual bool retainSetItemStackNetIdVariant() const /*override*/;
75
76 // vIndex: 4
77 virtual bool allowInventoryTransactionManager() const /*override*/;
78
79 // vIndex: 6
80 virtual void onContainerScreenOpen(::ContainerScreenContext const& screenContext) /*override*/;
81
82 // vIndex: 10
83 virtual void _initScreen(::ItemStackNetManagerScreen& screen) /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCNAPI ItemStackNetManagerServer(::ServerPlayer& serverPlayer, bool isEnabled);
90
91 MCNAPI void _filterStrings(
92 ::ItemStackRequestId requestId,
93 ::std::vector<::std::string> const& stringsToFilter,
94 ::TextProcessingEventOrigin const& stringsToFilterOrigin
95 );
96
98 ::ItemStackLegacyRequestId const& legacyClientRequestId,
99 ::std::vector<::std::pair<::ContainerEnumName, ::std::vector<uchar>>> const& legacySetItemSlots
100 );
101
102 MCNAPI void
103 _handleRequestData(::std::vector<::ItemStackResponseInfo>& responses, ::ItemStackRequestData const* requestData);
104
105 MCNAPI void _processQueue();
106
107 MCNAPI void _queueRequest(::std::unique_ptr<::ItemStackRequestData> request);
108
109 MCNAPI void _queueRequests(::ItemStackRequestBatch const& requestBatch);
110
111 MCNAPI ::gsl::final_action<::std::function<void()>> _retainSetItemStackNetIdVariantScope();
112
113 MCNAPI void _sendResponsePacket(::std::vector<::ItemStackResponseInfo>&& responses);
114
115 MCNAPI void _setTextFilterState(::ItemStackNetManagerServer::TextFilterState state);
116
117 MCNAPI ::CallbackToken tryCloseContainerScreen(::std::function<void()> onContainerScreenCloseCB);
118 // NOLINTEND
119
120public:
121 // constructor thunks
122 // NOLINTBEGIN
123 MCNAPI void* $ctor(::ServerPlayer& serverPlayer, bool isEnabled);
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCNAPI ::ItemStackRequestId $getRequestId() const;
130
132
134
135 MCNAPI void $onContainerScreenOpen(::ContainerScreenContext const& screenContext);
136
138 // NOLINTEND
139
140public:
141 // vftables
142 // NOLINTBEGIN
143 MCNAPI static void** $vftable();
144 // NOLINTEND
145};
Definition CallbackTokenContext.h:6
Definition ContainerScreenContext.h:17
Definition ItemStackNetManagerBase.h:28
Definition ItemStackNetManagerScreen.h:9
Definition ItemStackNetManagerServer.h:29
MCAPI void _setTextFilterState(::ItemStackNetManagerServer::TextFilterState state)
MCAPI void _handleLegacyTransactionRequest(::ItemStackLegacyRequestId const &legacyClientRequestId, ::std::vector<::std::pair<::ContainerEnumName, ::std::vector< uchar > > > const &legacySetItemSlots)
MCAPI bool $retainSetItemStackNetIdVariant() const
MCAPI ItemStackNetManagerServer(::ServerPlayer &serverPlayer, bool isEnabled)
MCAPI void _handleRequestData(::std::vector<::ItemStackResponseInfo > &responses, ::ItemStackRequestData const *requestData)
MCAPI void _filterStrings(::ItemStackRequestId requestId, ::std::vector<::std::string > const &stringsToFilter, ::TextProcessingEventOrigin const &stringsToFilterOrigin)
MCAPI bool $allowInventoryTransactionManager() const
MCAPI ::gsl::final_action<::std::function< void()> > _retainSetItemStackNetIdVariantScope()
MCAPI void * $ctor(::ServerPlayer &serverPlayer, bool isEnabled)
MCAPI void _queueRequest(::std::unique_ptr<::ItemStackRequestData > request)
static MCAPI void ** $vftable()
MCAPI void _sendResponsePacket(::std::vector<::ItemStackResponseInfo > &&responses)
MCAPI::CallbackToken tryCloseContainerScreen(::std::function< void()> onContainerScreenCloseCB)
MCAPI void _queueRequests(::ItemStackRequestBatch const &requestBatch)
MCAPI void $onContainerScreenOpen(::ContainerScreenContext const &screenContext)
MCAPI::ItemStackRequestId $getRequestId() const
MCAPI void $_initScreen(::ItemStackNetManagerScreen &screen)
Definition ItemStackRequestActionHandler.h:41
Definition ItemStackRequestBatch.h:14
Definition ItemStackRequestData.h:18
Definition ServerPlayer.h:65
Definition TextFilteringProcessor.h:18
Definition TypedClientNetId.h:6
Definition ItemStackLegacyRequestIdTag.h:5
Definition ItemStackRequestIdTag.h:5
Definition ItemStackResponseInfo.h:15