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 // prevent constructor by default
38 ExpandoContainerModel();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~ExpandoContainerModel() /*override*/;
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 MCAPI ExpandoContainerModel(
82 ::FullContainerName const& containerName,
83 int containerSize,
84 ::ContainerCategory containerCategory,
85 ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry> creativeItemRegistry
86 );
87
88 MCAPI void _generateCurrentItems();
89
90 MCAPI void _refreshContainer(bool fullRefresh);
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor(
97 ::FullContainerName const& containerName,
98 int containerSize,
99 ::ContainerCategory containerCategory,
100 ::Bedrock::NotNullNonOwnerPtr<::CreativeItemRegistry> creativeItemRegistry
101 );
102 // NOLINTEND
103
104public:
105 // destructor thunk
106 // NOLINTBEGIN
107 MCAPI void $dtor();
108 // NOLINTEND
109
110public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCAPI void $containerContentChanged(int slot);
114
115 MCAPI ::ItemInstance const& $getItemInstance(int modelSlot) const;
116
117 MCAPI void $setItemInstance(int modelSlot, ::ItemInstance const& item);
118
119 MCFOLD bool $isItemInstanceBased() const;
120
121 MCFOLD void $setItem(int modelSlot, ::ItemStack const& item);
122
123 MCFOLD ::ItemStack const& $getItemStack(int modelSlot) const;
124
125 MCFOLD ::std::vector<::ItemStack> const& $getItems() const;
126
127 MCAPI ::ItemStackBase const& $getItemStackBase(int modelSlot) const;
128
129 MCFOLD int $getContainerSize() const;
130
131 MCFOLD int $getFilteredContainerSize() const;
132
133 MCAPI ::ContainerExpandStatus $getItemExpandStatus(int itemId) const;
134
135 MCAPI ::std::string const& $getItemGroupName(int itemId) const;
136
137 MCAPI void $switchItemExpando(int itemId);
138
139 MCAPI void $refreshContainer(bool fullRefresh);
140
141 MCAPI int $getIndexForCreativeItem(::ItemStackBase const& item) const;
142
143 MCAPI void $_init();
144
145
146 // NOLINTEND
147
148public:
149 // vftables
150 // NOLINTBEGIN
151 MCNAPI static void** $vftable();
152 // NOLINTEND
153};
Definition CreativeItemRegistry.h:24
static MCAPI void ** $vftable()
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition ExpandoModelElement.h:9
Definition FullContainerName.h:8