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
29class ItemStackNetManagerServer : public ::ItemStackNetManagerBase {
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
62 ItemStackNetManagerServer();
63
64public:
65 // virtual functions
66 // NOLINTBEGIN
67 virtual ~ItemStackNetManagerServer() /*override*/;
68
69 virtual ::ItemStackRequestId getRequestId() const /*override*/;
70
71 virtual bool retainSetItemStackNetIdVariant() const /*override*/;
72
73 virtual bool allowInventoryTransactionManager() const /*override*/;
74
75 virtual void onContainerScreenOpen(::ContainerScreenContext const& screenContext) /*override*/;
76
77 virtual void _initScreen(::ItemStackNetManagerScreen& screen) /*override*/;
78 // NOLINTEND
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCNAPI ItemStackNetManagerServer(::ServerPlayer& serverPlayer, bool isEnabled);
84
85 MCNAPI void _filterStrings(
86 ::ItemStackRequestId requestId,
87 ::std::vector<::std::string> const& stringsToFilter,
88 ::TextProcessingEventOrigin const& stringsToFilterOrigin
89 );
90
92 ::ItemStackLegacyRequestId const& legacyClientRequestId,
93 ::std::vector<::std::pair<::ContainerEnumName, ::std::vector<uchar>>> const& legacySetItemSlots
94 );
95
96 MCNAPI void
97 _handleRequestData(::std::vector<::ItemStackResponseInfo>& responses, ::ItemStackRequestData const* requestData);
98
99 MCNAPI void _processQueue();
100
101 MCNAPI void _queueRequest(::std::unique_ptr<::ItemStackRequestData> request);
102
103 MCNAPI void _queueRequests(::ItemStackRequestBatch const& requestBatch);
104
105 MCNAPI void _sendResponsePacket(::std::vector<::ItemStackResponseInfo>&& responses);
106
107 MCNAPI void _setTextFilterState(::ItemStackNetManagerServer::TextFilterState state);
108
109 MCNAPI bool _tryFilterText(::ItemStackRequestData const* requestData);
110
111 MCNAPI_C void handleRequest(
112 ::std::unique_ptr<::ItemStackRequestData> request,
114 );
115
116 MCNAPI ::CallbackToken tryCloseContainerScreen(::std::function<void()> onContainerScreenCloseCB);
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCNAPI void* $ctor(::ServerPlayer& serverPlayer, bool isEnabled);
123 // NOLINTEND
124
125public:
126 // destructor thunk
127 // NOLINTBEGIN
128 MCNAPI void $dtor();
129 // NOLINTEND
130
131public:
132 // virtual function thunks
133 // NOLINTBEGIN
134 MCNAPI ::ItemStackRequestId $getRequestId() const;
135
137
139
140 MCNAPI void $onContainerScreenOpen(::ContainerScreenContext const& screenContext);
141
143
144
145 // NOLINTEND
146
147public:
148 // vftables
149 // NOLINTBEGIN
150 MCNAPI static void** $vftable();
151 // NOLINTEND
152};
Definition NonOwnerPointer.h:9
Definition CallbackTokenContext.h:6
Definition ContainerScreenContext.h:17
Definition ItemStackNetManagerScreen.h:9
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 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 bool _tryFilterText(::ItemStackRequestData const *requestData)
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:67
Definition TextFilteringProcessor.h:18
Definition ItemStackLegacyRequestIdTag.h:5
Definition ItemStackRequestIdTag.h:5
Definition ItemStackResponseInfo.h:15