LeviLamina
Loading...
Searching...
No Matches
ItemStackNetManagerBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/ContainerType.h"
7#include "mc/world/inventory/network/TypedClientNetId.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockSource;
14class ItemStack;
17class Player;
18class SparseContainer;
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 // vIndex: 0
48
49 // vIndex: 1
50 virtual bool isEnabled() const;
51
52 // vIndex: 2
53 virtual ::ItemStackRequestId getRequestId() const = 0;
54
55 // vIndex: 3
56 virtual bool retainSetItemStackNetIdVariant() const;
57
58 // vIndex: 4
59 virtual bool allowInventoryTransactionManager() const = 0;
60
61 // vIndex: 5
62 virtual ::gsl::final_action<::std::function<void()>> _tryBeginClientLegacyTransactionRequest();
63
64 // vIndex: 6
65 virtual void onContainerScreenOpen(::ContainerScreenContext const& screenContext);
66
67 // vIndex: 7
68 virtual void onContainerScreenClose();
69
70 // vIndex: 8
71 virtual ::SparseContainer* initOpenContainer(::BlockSource&, ::FullContainerName const&, ::ContainerWeakRef const&);
72
73 // vIndex: 9
74 virtual void _addLegacyTransactionRequestSetItemSlot(
76 ::SharedTypes::Legacy::ContainerType containerType,
77 int slot
78 );
79
80 // vIndex: 10
81 virtual void _initScreen(::ItemStackNetManagerScreen&);
82 // NOLINTEND
83
84public:
85 // member functions
86 // NOLINTBEGIN
87 MCAPI ItemStackNetManagerBase(::Player& player, bool isEnabled, bool isClientSide);
88
89 MCAPI bool _isRequestActionAllowed(::ItemStackRequestAction const& requestAction);
90
91 MCAPI void _pushScreen(::ContainerScreenContext screenContext);
92
93 MCAPI ::ContainerScreenContext const& getScreenContext() const;
94 // NOLINTEND
95
96public:
97 // static functions
98 // NOLINTBEGIN
99 MCAPI static ::gsl::final_action<::std::function<void()>> _tryBeginClientLegacyTransactionRequest(::Player* player);
100
101 MCAPI static bool setPlayerContainer(
102 ::Player& player,
103 ::SharedTypes::Legacy::ContainerType containerType,
104 int slot,
105 ::ItemStack const& item,
106 ::ItemStack& slotItem,
107 ::std::function<void(::ItemStack const&)> const& callback
108 );
109 // NOLINTEND
110
111public:
112 // constructor thunks
113 // NOLINTBEGIN
114 MCAPI void* $ctor(::Player& player, bool isEnabled, bool isClientSide);
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCAPI void $dtor();
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCFOLD bool $isEnabled() const;
127
128 MCFOLD bool $retainSetItemStackNetIdVariant() const;
129
130 MCAPI ::gsl::final_action<::std::function<void()>> $_tryBeginClientLegacyTransactionRequest();
131
132 MCFOLD void $onContainerScreenOpen(::ContainerScreenContext const& screenContext);
133
134 MCAPI void $onContainerScreenClose();
135
136 MCFOLD ::SparseContainer* $initOpenContainer(::BlockSource&, ::FullContainerName const&, ::ContainerWeakRef const&);
137
138 MCFOLD void $_addLegacyTransactionRequestSetItemSlot(
140 ::SharedTypes::Legacy::ContainerType containerType,
141 int slot
142 );
143
144 MCFOLD void $_initScreen(::ItemStackNetManagerScreen&);
145 // NOLINTEND
146
147public:
148 // vftables
149 // NOLINTBEGIN
150 MCAPI static void** $vftable();
151 // NOLINTEND
152};
Definition BlockSource.h:67
Definition ContainerScreenContext.h:11
Definition ContainerWeakRef.h:5
Definition ItemStackNetManagerBase.h:23
Definition ItemStackNetManagerScreen.h:5
Definition ItemStackRequestAction.h:18
Definition ItemStack.h:25
Definition Player.h:119
Definition SparseContainer.h:20
Definition FullContainerName.h:8
Definition ItemStackRequestIdTag.h:5
Definition Alias.h:14