LeviLamina
Loading...
Searching...
No Matches
StorageItemComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Subscription.h"
7#include "mc/deps/game_refs/WeakRef.h"
8#include "mc/world/item/components/NetworkedItemComponent.h"
9#include "mc/world/level/storage/AllExperiments.h"
10
11// auto generated forward declare list
12// clang-format off
13class ComponentItem;
14class HashedString;
18class ItemDescriptor;
19class ItemStack;
20class Player;
21class SemVersion;
22struct ItemOnUseResult;
23namespace cereal { struct ReflectionCtx; }
24// clang-format on
25
26class StorageItemComponent : public ::NetworkedItemComponent<::StorageItemComponent> {
27public:
28 // StorageItemComponent inner types declare
29 // clang-format off
31 // clang-format on
32
33 // StorageItemComponent inner types define
35
36public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<4, 4, int> mNumSlots;
40 ::ll::TypedStorage<1, 1, bool> mAllowNestedStorageItem;
41 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>> mBannedItems;
42 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>> mAllowedItems;
43 ::ll::TypedStorage<8, 16, ::WeakRef<::IDynamicContainerSerialization>> mContainerSerialization;
44 ::ll::TypedStorage<8, 16, ::WeakRef<::IContainerRegistryAccess>> mContainerRegistryAccess;
45 ::ll::TypedStorage<8, 16, ::WeakRef<::IContainerRegistryTracker>> mContainerRegistryTracker;
46 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnUseSubscription;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 StorageItemComponent& operator=(StorageItemComponent const&);
52 StorageItemComponent(StorageItemComponent const&);
53 StorageItemComponent();
54
55public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual void _initializeComponent(::ComponentItem& owner) /*override*/;
59
60 virtual ~StorageItemComponent() /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI ::StorageItemComponent& operator=(::StorageItemComponent&&);
67
68 MCAPI void setContainerRegistryHandlers(
72 );
73 // NOLINTEND
74
75public:
76 // static functions
77 // NOLINTBEGIN
78 MCAPI static void bindType(
80 ::std::vector<::AllExperiments> const& requiredToggles,
81 ::std::optional<::SemVersion> releasedMinFormatVersion
82 );
83
84#ifdef LL_PLAT_C
85 MCAPI static ::HashedString const& getIdentifier();
86#endif
87
88 MCAPI static void use(::ItemOnUseResult& result, ::ItemStack const& item, ::Player& player);
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94 MCAPI void $dtor();
95 // NOLINTEND
96
97public:
98 // virtual function thunks
99 // NOLINTBEGIN
100 MCAPI void $_initializeComponent(::ComponentItem& owner);
101
102
103 // NOLINTEND
104
105public:
106 // vftables
107 // NOLINTBEGIN
108 MCNAPI static void** $vftable();
109 // NOLINTEND
110};
Definition ComponentItem.h:50
Definition HashedString.h:5
Definition IContainerRegistryAccess.h:14
Definition IContainerRegistryTracker.h:15
Definition IDynamicContainerSerialization.h:12
Definition ItemDescriptor.h:25
Definition ItemStack.h:26
Definition NetworkedItemComponent.h:7
Definition Player.h:129
Definition SemVersion.h:15
Definition StorageItemComponent.h:34
static MCAPI void ** $vftable()
Definition WeakRef.h:8
Definition ItemOnUseResult.h:5
Definition ReflectionCtx.h:11
Definition ctx.h:5