LeviLamina
Loading...
Searching...
No Matches
CreativeItemRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/platform/brstd/flat_map.h"
8#include "mc/world/inventory/network/TypedServerNetId.h"
9#include "mc/world/item/CreativeItemCategory.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPalette;
18class HashedString;
19class ItemInstance;
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 24, ::std::vector<::CreativeItemEntry>> mCreativeItems;
28 ::ll::TypedStorage<8, 24, ::std::vector<::CreativeGroupInfo>> mCreativeGroups;
29 ::ll::TypedStorage<8, 64, ::std::unordered_map<::CreativeItemCategory, ::CreativeItemGroupCategory>>
30 mCreativeGroupCategories;
31 ::ll::TypedStorage<8, 64, ::std::unordered_map<::CreativeItemNetId, uint64>> mCreativeNetIdIndex;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ~CreativeItemRegistry() /*override*/ = default;
38 // NOLINTEND
39
40public:
41 // member functions
42 // NOLINTBEGIN
43 MCAPI ::brstd::flat_map<
44 ::CreativeItemCategory,
45 ::gsl::not_null<::CreativeItemGroupCategory*>,
46 ::std::less<::CreativeItemCategory>,
47 ::std::vector<::CreativeItemCategory>,
48 ::std::vector<::gsl::not_null<::CreativeItemGroupCategory*>>>
49 createCategories();
50
51 MCAPI void forEachCreativeItemInstance(::std::function<bool(::ItemInstance const&)> func) const;
52
53 MCAPI_C ::CreativeItemGroupCategory* getCreativeCategory(::CreativeItemCategory category);
54
55 MCAPI_C void initializeFromCreativeContentPacket(
56 ::CreativeContentPacket const& creativeContentPacket,
57 ::BlockPalette const& blockPalette
58 );
59
60 MCAPI ::CreativeItemGroupCategory* newCreativeCategory(::std::string const& name, ::CreativeItemCategory category);
61
62 MCAPI ::CreativeGroupInfo*
63 newCreativeGroup(::CreativeItemCategory category, ::HashedString const& name, ::ItemInstance const& icon);
64
65 MCAPI void updateNetIdMap();
66 // NOLINTEND
67
68public:
69 // vftables
70 // NOLINTBEGIN
71 MCNAPI static void** $vftable();
72 // NOLINTEND
73};
Definition EnableNonOwnerReferences.h:7
Definition BlockPalette.h:19
Definition CreativeContentPacket.h:22
Definition CreativeGroupInfo.h:17
Definition CreativeItemEntry.h:16
Definition CreativeItemGroupCategory.h:17
Definition CreativeItemRegistry.h:23
static MCAPI void ** $vftable()
Definition HashedString.h:5
Definition ItemInstance.h:15
Definition CreativeItemNetIdTag.h:5