LeviLamina
Loading...
Searching...
No Matches
BaseContainerMenu.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/ContainerContentChangeListener.h"
8#include "mc/world/ContainerID.h"
9#include "mc/world/containers/managers/IContainerManager.h"
10
11// auto generated forward declare list
12// clang-format off
13class Container;
14class ItemStack;
15class Player;
16namespace Bedrock::PubSub { class Subscription; }
17// clang-format on
18
20public:
21 // member variables
22 // NOLINTBEGIN
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 BaseContainerMenu& operator=(BaseContainerMenu const&);
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 // vIndex: 1
43 virtual ~BaseContainerMenu() /*override*/;
44
45 // vIndex: 2
46 virtual void removeSlot(int, int) = 0;
47
48 // vIndex: 3
49 virtual bool isSlotDirty(int slot);
50
51 // vIndex: 4
52 virtual bool isResultSlot(int slot);
53
54 // vIndex: 0
55 virtual void containerContentChanged(int slot) /*override*/;
56
57 // vIndex: 6
58 virtual void serverInitItemStackIds() = 0;
59
60 // vIndex: 7
61 virtual ::std::vector<::ItemStack> getItemCopies() const = 0;
62
63 // vIndex: 8
64 virtual void setSlot(int, ::ItemStack const&, bool) = 0;
65
66 // vIndex: 9
67 virtual ::ItemStack const& getSlot(int) const = 0;
68
69 // vIndex: 10
70 virtual void setData(int id, int value) /*override*/;
71
72 // vIndex: 1
73 virtual ::ContainerID getContainerId() const /*override*/;
74
75 // vIndex: 2
76 virtual void setContainerId(::ContainerID id) /*override*/;
77
78 // vIndex: 3
79 virtual ::SharedTypes::Legacy::ContainerType getContainerType() const /*override*/;
80
81 // vIndex: 4
82 virtual void setContainerType(::SharedTypes::Legacy::ContainerType type) /*override*/;
83
84 // vIndex: 5
85 virtual ::Bedrock::PubSub::Subscription
86 registerContainerTypeListener(::std::function<void(::SharedTypes::Legacy::ContainerType)> callback) const
87 /*override*/;
88
89 // vIndex: 13
90 virtual void broadcastChanges() /*override*/;
91
92 // vIndex: 5
93 virtual ::Container* _getContainer() const = 0;
94 // NOLINTEND
95
96public:
97 // member functions
98 // NOLINTBEGIN
99 MCAPI BaseContainerMenu(::Player& player, ::SharedTypes::Legacy::ContainerType containerType);
100
101 MCAPI void _saveLastSlots(::Container* container);
102 // NOLINTEND
103
104public:
105 // constructor thunks
106 // NOLINTBEGIN
107 MCAPI void* $ctor(::Player& player, ::SharedTypes::Legacy::ContainerType containerType);
108 // NOLINTEND
109
110public:
111 // destructor thunk
112 // NOLINTBEGIN
113 MCAPI void $dtor();
114 // NOLINTEND
115
116public:
117 // virtual function thunks
118 // NOLINTBEGIN
119 MCFOLD bool $isSlotDirty(int slot);
120
121 MCFOLD bool $isResultSlot(int slot);
122
123 MCFOLD void $containerContentChanged(int slot);
124
125 MCFOLD void $setData(int id, int value);
126
127 MCFOLD ::ContainerID $getContainerId() const;
128
129 MCAPI void $setContainerId(::ContainerID id);
130
131 MCFOLD ::SharedTypes::Legacy::ContainerType $getContainerType() const;
132
133 MCAPI void $setContainerType(::SharedTypes::Legacy::ContainerType type);
134
135 MCAPI ::Bedrock::PubSub::Subscription
136 $registerContainerTypeListener(::std::function<void(::SharedTypes::Legacy::ContainerType)> callback) const;
137
138 MCAPI void $broadcastChanges();
139 // NOLINTEND
140
141public:
142 // vftables
143 // NOLINTBEGIN
144 MCAPI static void** $vftableForContainerContentChangeListener();
145
146 MCAPI static void** $vftableForIContainerManager();
147 // NOLINTEND
148};
Definition BaseContainerMenu.h:19
Definition ContainerContentChangeListener.h:5
Definition Container.h:30
Definition IContainerManager.h:16
Definition ItemStack.h:25
Definition Player.h:119
Definition Alias.h:14