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/ContainerCategory.h"
8#include "mc/world/containers/models/ContainerExpandStatus.h"
9#include "mc/world/containers/models/ContainerModel.h"
10
11// auto generated forward declare list
12// clang-format off
14class ItemInstance;
15class ItemStack;
16class ItemStackBase;
19// clang-format on
20
21class ExpandoContainerModel : public ::ContainerModel {
22public:
23 // ExpandoContainerModel inner types define
24 using OnItemExpandedCallback = ::std::function<void(::std::string const&, int, int)>;
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ItemInstance, uint>>> mItems;
30 ::ll::TypedStorage<8, 24, ::std::vector<::ExpandoModelElement>> mCurrentItems;
31 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry>> mCreativeItemRegistry;
32 ::ll::TypedStorage<8, 24, ::std::vector<::ExpandoModelElement>> mExpandedItems;
33 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string const&, int, int)>> mOnItemExpanded;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39#ifdef LL_PLAT_S
40 virtual ~ExpandoContainerModel() /*override*/ = default;
41#else // LL_PLAT_C
42 virtual ~ExpandoContainerModel() /*override*/;
43#endif
44
45 virtual void containerContentChanged(int slot) /*override*/;
46
47 virtual ::ItemInstance const& getItemInstance(int modelSlot) const /*override*/;
48
49 virtual void setItemInstance(int modelSlot, ::ItemInstance const& item);
50
51 virtual bool isItemInstanceBased() const /*override*/;
52
53 virtual void setItem(int modelSlot, ::ItemStack const& item) /*override*/;
54
55 virtual ::ItemStack const& getItemStack(int modelSlot) const /*override*/;
56
57 virtual ::std::vector<::ItemStack> const& getItems() const /*override*/;
58
59 virtual ::ItemStackBase const& getItemStackBase(int modelSlot) const /*override*/;
60
61 virtual int getContainerSize() const /*override*/;
62
63 virtual int getFilteredContainerSize() const /*override*/;
64
65 virtual ::ContainerExpandStatus getItemExpandStatus(int itemId) const /*override*/;
66
67 virtual ::std::string const& getItemGroupName(int itemId) const /*override*/;
68
69 virtual void switchItemExpando(int itemId) /*override*/;
70
71 virtual void refreshContainer(bool fullRefresh) /*override*/;
72
73 virtual int getIndexForCreativeItem(::ItemStackBase const& item) const;
74
75 virtual void _init() /*override*/;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCNAPI_C void _generateCurrentItems();
82
83 MCNAPI_C void _refreshContainer(bool fullRefresh);
84 // NOLINTEND
85
86public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCNAPI_C void* $ctor(
90 ::FullContainerName const& containerName,
91 int containerSize,
92 ::ContainerCategory containerCategory,
93 ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry> creativeItemRegistry
94 );
95 // NOLINTEND
96
97public:
98 // destructor thunk
99 // NOLINTBEGIN
100 MCNAPI void $dtor();
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106#ifdef LL_PLAT_C
107 MCNAPI void $containerContentChanged(int slot);
108
109 MCNAPI ::ItemInstance const& $getItemInstance(int modelSlot) const;
110
111 MCNAPI void $setItemInstance(int modelSlot, ::ItemInstance const& item);
112
113 MCNAPI bool $isItemInstanceBased() const;
114
115 MCNAPI void $setItem(int modelSlot, ::ItemStack const& item);
116
117 MCNAPI ::ItemStack const& $getItemStack(int modelSlot) const;
118
119 MCNAPI ::std::vector<::ItemStack> const& $getItems() const;
120
121 MCNAPI ::ItemStackBase const& $getItemStackBase(int modelSlot) const;
122
123 MCNAPI int $getContainerSize() const;
124
125 MCNAPI int $getFilteredContainerSize() const;
126
127 MCNAPI ::ContainerExpandStatus $getItemExpandStatus(int itemId) const;
128
129 MCNAPI ::std::string const& $getItemGroupName(int itemId) const;
130
131 MCNAPI void $switchItemExpando(int itemId);
132
133 MCNAPI void $refreshContainer(bool fullRefresh);
134
135 MCNAPI int $getIndexForCreativeItem(::ItemStackBase const& item) const;
136
137 MCNAPI void $_init();
138#endif
139
140
141 // NOLINTEND
142
143public:
144 // vftables
145 // NOLINTBEGIN
146 MCNAPI static void** $vftable();
147 // NOLINTEND
148};
Definition CreativeItemRegistry.h:23
Definition ExpandoContainerModel.h:21
static MCAPI void ** $vftable()
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition ExpandoModelElement.h:9
Definition FullContainerName.h:8