LeviLamina
Loading...
Searching...
No Matches
HudContainerManagerModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Publisher.h"
7#include "mc/world/ContainerID.h"
8#include "mc/world/containers/managers/models/ContainerManagerModel.h"
9
10// auto generated forward declare list
11// clang-format off
13class ItemStack;
14class Player;
16namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
17// clang-format on
18
19class HudContainerManagerModel : public ::ContainerManagerModel {
20public:
21 // HudContainerManagerModel inner types define
22 using DynamicContainerRemovalPublisher = ::Bedrock::PubSub::
23 Publisher<void(::std::vector<::std::string> const&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>;
24
25 using ItemStackVector = ::std::vector<::ItemStack>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mLastSlots;
31 ::ll::TypedStorage<
32 8,
33 128,
34 ::Bedrock::PubSub::
35 Publisher<void(::std::vector<::std::string> const&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
36 mOnDynamicContainerRemovalPublisher;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 HudContainerManagerModel();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual ~HudContainerManagerModel() /*override*/ = default;
47
48 virtual ::std::vector<::ItemStack> getItemCopies() const /*override*/;
49
50 virtual void setSlot(int slot, ::ItemStack const& item, bool) /*override*/;
51
52 virtual ::ItemStack const& getSlot(int slot) const /*override*/;
53
54 virtual void setData(int id, int value) /*override*/;
55
56 virtual void broadcastChanges() /*override*/;
57
58 virtual ::ContainerScreenContext _postInit() /*override*/;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI HudContainerManagerModel(::ContainerID containerId, ::Player& player);
65
66 MCAPI_C ::std::unordered_set<::FullContainerName> _getDynamicContainersInHotbar();
67
68 MCAPI_C void cleanUpDynamicContainers();
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCAPI void* $ctor(::ContainerID containerId, ::Player& player);
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCFOLD ::std::vector<::ItemStack> $getItemCopies() const;
81
82 MCAPI void $setSlot(int slot, ::ItemStack const& item, bool);
83
84 MCAPI ::ItemStack const& $getSlot(int slot) const;
85
86 MCFOLD void $setData(int id, int value);
87
88 MCAPI void $broadcastChanges();
89
90 MCAPI ::ContainerScreenContext $_postInit();
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCAPI static void** $vftable();
99 // NOLINTEND
100};
Definition ContainerScreenContext.h:17
static MCAPI void ** $vftable()
Definition ItemStack.h:26
Definition Player.h:125
Definition FullContainerName.h:8