LeviLamina
Loading...
Searching...
No Matches
ContainerModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/ContainerContentChangeListener.h"
7#include "mc/world/containers/models/ContainerCategory.h"
8#include "mc/world/containers/models/ContainerExpandStatus.h"
9
10// auto generated forward declare list
11// clang-format off
12class Container;
14class ItemInstance;
15class ItemStack;
16class ItemStackBase;
19struct SlotData;
20// clang-format on
21
23public:
24 // member variables
25 // NOLINTBEGIN
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 ContainerModel& operator=(ContainerModel const&);
45
46public:
47 // virtual functions
48 // NOLINTBEGIN
49 // vIndex: 1
50 virtual ~ContainerModel() /*override*/;
51
52 // vIndex: 2
53 virtual void postInit();
54
55 // vIndex: 3
56 virtual void releaseResources();
57
58 // vIndex: 0
59 virtual void containerContentChanged(int slot) /*override*/;
60
61 // vIndex: 4
62 virtual int getContainerSize() const;
63
64 // vIndex: 5
65 virtual int getFilteredContainerSize() const;
66
67 // vIndex: 6
68 virtual void tick(int selectedSlot);
69
70 // vIndex: 7
71 virtual ::ContainerWeakRef getContainerWeakRef() const;
72
73 // vIndex: 8
74 virtual ::ItemStack const& getItemStack(int modelSlot) const;
75
76 // vIndex: 9
77 virtual ::std::vector<::ItemStack> const& getItems() const;
78
79 // vIndex: 10
80 virtual ::ItemInstance const& getItemInstance(int modelSlot) const;
81
82 // vIndex: 11
83 virtual ::ItemStackBase const& getItemStackBase(int modelSlot) const;
84
85 // vIndex: 12
86 virtual bool isItemInstanceBased() const;
87
88 // vIndex: 13
89 virtual void setItem(int modelSlot, ::ItemStack const& item);
90
91 // vIndex: 14
92 virtual bool isValid();
93
94 // vIndex: 15
95 virtual bool isItemFiltered(::ItemStackBase const& item) const;
96
97 // vIndex: 16
98 virtual bool isExpanableItemFiltered(int index) const;
99
100 // vIndex: 17
101 virtual ::ContainerExpandStatus getItemExpandStatus(int itemId) const;
102
103 // vIndex: 18
104 virtual ::std::string const& getItemGroupName(int itemId) const;
105
106 // vIndex: 19
107 virtual void switchItemExpando(int itemId);
108
109 // vIndex: 20
110 virtual bool isSlotDisabled(int) const;
111
112 // vIndex: 21
113 virtual ::Container* _getContainer() const;
114
115 // vIndex: 22
116 virtual int _getContainerOffset() const;
117
118 // vIndex: 23
119 virtual void _init();
120
121 // vIndex: 24
122 virtual void _onItemChanged(int modelSlot, ::ItemStack const& oldItem, ::ItemStack const& newItem);
123 // NOLINTEND
124
125public:
126 // member functions
127 // NOLINTBEGIN
128 MCAPI ContainerModel(
129 ::FullContainerName const& fullContainerName,
130 int containerSize,
131 ::ContainerCategory containerCategory,
132 bool isClientSide
133 );
134
135 MCAPI void _onClientUIItemNetworkChanged(int containerSlot, ::ItemStack const& oldItem, ::ItemStack const& newItem);
136
137 MCAPI void networkUpdateItem(int modelSlot, ::ItemStack const& oldItem, ::ItemStack const& newItem);
138
139 MCAPI void
140 registerOnContainerChangedCallback(::std::function<void(int, ::ItemStack const&, ::ItemStack const&)> callback);
141
142 MCAPI void
143 registerPlayerNotificationCallback(::std::function<void(int, ::ItemStack const&, ::ItemStack const&)> callback);
144
145 MCAPI void setClientUIContainer(::SparseContainerClient* clientUIContainer);
146
147 MCAPI void setItemSource(int slot, ::SlotData const& srcSlot);
148 // NOLINTEND
149
150public:
151 // constructor thunks
152 // NOLINTBEGIN
153 MCAPI void* $ctor(
154 ::FullContainerName const& fullContainerName,
155 int containerSize,
156 ::ContainerCategory containerCategory,
157 bool isClientSide
158 );
159 // NOLINTEND
160
161public:
162 // destructor thunk
163 // NOLINTBEGIN
164 MCAPI void $dtor();
165 // NOLINTEND
166
167public:
168 // virtual function thunks
169 // NOLINTBEGIN
170 MCFOLD void $postInit();
171
172 MCAPI void $releaseResources();
173
174 MCAPI void $containerContentChanged(int slot);
175
176 MCAPI int $getContainerSize() const;
177
178 MCFOLD int $getFilteredContainerSize() const;
179
180 MCFOLD void $tick(int selectedSlot);
181
182 MCAPI ::ContainerWeakRef $getContainerWeakRef() const;
183
184 MCAPI ::ItemStack const& $getItemStack(int modelSlot) const;
185
186 MCFOLD ::std::vector<::ItemStack> const& $getItems() const;
187
188 MCAPI ::ItemInstance const& $getItemInstance(int modelSlot) const;
189
190 MCAPI ::ItemStackBase const& $getItemStackBase(int modelSlot) const;
191
192 MCFOLD bool $isItemInstanceBased() const;
193
194 MCAPI void $setItem(int modelSlot, ::ItemStack const& item);
195
196 MCFOLD bool $isValid();
197
198 MCFOLD bool $isItemFiltered(::ItemStackBase const& item) const;
199
200 MCFOLD bool $isExpanableItemFiltered(int index) const;
201
202 MCFOLD ::ContainerExpandStatus $getItemExpandStatus(int itemId) const;
203
204 MCFOLD ::std::string const& $getItemGroupName(int itemId) const;
205
206 MCFOLD void $switchItemExpando(int itemId);
207
208 MCFOLD bool $isSlotDisabled(int) const;
209
210 MCFOLD ::Container* $_getContainer() const;
211
212 MCFOLD int $_getContainerOffset() const;
213
214 MCAPI void $_init();
215
216 MCAPI void $_onItemChanged(int modelSlot, ::ItemStack const& oldItem, ::ItemStack const& newItem);
217 // NOLINTEND
218
219public:
220 // vftables
221 // NOLINTBEGIN
222 MCAPI static void** $vftable();
223 // NOLINTEND
224};
Definition ContainerContentChangeListener.h:5
Definition ContainerModel.h:22
Definition ContainerWeakRef.h:5
Definition Container.h:30
Definition ItemInstance.h:16
Definition ItemStackBase.h:35
Definition ItemStack.h:25
Definition SparseContainerClient.h:14
Definition FullContainerName.h:8
Definition SlotData.h:5
Definition Alias.h:14