LeviLamina
Loading...
Searching...
No Matches
ExpandoContainerModel.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/world/containers/models/ContainerExpandStatus.h"
8#include "mc/world/containers/models/ContainerModel.h"
9
10// auto generated forward declare list
11// clang-format off
13class ItemInstance;
14class ItemStack;
15class ItemStackBase;
17// clang-format on
18
19class ExpandoContainerModel : public ::ContainerModel {
20public:
21 // ExpandoContainerModel inner types define
22 using OnItemExpandedCallback = ::std::function<void(::std::string const&, int, int)>;
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ItemInstance, uint>>> mItems;
28 ::ll::TypedStorage<8, 24, ::std::vector<::ExpandoModelElement>> mCurrentItems;
29 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry>> mCreativeItemRegistry;
30 ::ll::TypedStorage<8, 24, ::std::vector<::ExpandoModelElement>> mExpandedItems;
31 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string const&, int, int)>> mOnItemExpanded;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ~ExpandoContainerModel() /*override*/ = default;
38
39 virtual void containerContentChanged(int slot) /*override*/;
40
41 virtual ::ItemInstance const& getItemInstance(int modelSlot) const /*override*/;
42
43 virtual void setItemInstance(int modelSlot, ::ItemInstance const& item);
44
45 virtual bool isItemInstanceBased() const /*override*/;
46
47 virtual void setItem(int modelSlot, ::ItemStack const& item) /*override*/;
48
49 virtual ::ItemStack const& getItemStack(int modelSlot) const /*override*/;
50
51 virtual ::std::vector<::ItemStack> const& getItems() const /*override*/;
52
53 virtual ::ItemStackBase const& getItemStackBase(int modelSlot) const /*override*/;
54
55 virtual int getContainerSize() const /*override*/;
56
57 virtual int getFilteredContainerSize() const /*override*/;
58
59 virtual ::ContainerExpandStatus getItemExpandStatus(int itemId) const /*override*/;
60
61 virtual ::std::string const& getItemGroupName(int itemId) const /*override*/;
62
63 virtual void switchItemExpando(int itemId) /*override*/;
64
65 virtual void refreshContainer(bool fullRefresh) /*override*/;
66
67 virtual int getIndexForCreativeItem(::ItemStackBase const& item) const;
68
69 virtual void _init() /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI void _generateCurrentItems();
76
77 MCAPI void _refreshContainer(bool fullRefresh);
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCAPI void $containerContentChanged(int slot);
84
85 MCAPI ::ItemInstance const& $getItemInstance(int modelSlot) const;
86
87 MCAPI void $setItemInstance(int modelSlot, ::ItemInstance const& item);
88
89 MCFOLD bool $isItemInstanceBased() const;
90
91 MCFOLD void $setItem(int modelSlot, ::ItemStack const& item);
92
93 MCFOLD ::ItemStack const& $getItemStack(int modelSlot) const;
94
95 MCFOLD ::std::vector<::ItemStack> const& $getItems() const;
96
97 MCAPI ::ItemStackBase const& $getItemStackBase(int modelSlot) const;
98
99 MCAPI int $getContainerSize() const;
100
101 MCAPI int $getFilteredContainerSize() const;
102
103 MCAPI ::ContainerExpandStatus $getItemExpandStatus(int itemId) const;
104
105 MCAPI ::std::string const& $getItemGroupName(int itemId) const;
106
107 MCAPI void $switchItemExpando(int itemId);
108
109 MCAPI void $refreshContainer(bool fullRefresh);
110
111 MCAPI int $getIndexForCreativeItem(::ItemStackBase const& item) const;
112
113 MCAPI void $_init();
114
115
116 // NOLINTEND
117};
Definition CreativeItemRegistry.h:23
Definition ExpandoContainerModel.h:19
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition ExpandoModelElement.h:9