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;
15namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
16// clang-format on
17
18class HudContainerManagerModel : public ::ContainerManagerModel {
19public:
20 // HudContainerManagerModel inner types define
21 using DynamicContainerRemovalPublisher = ::Bedrock::PubSub::
22 Publisher<void(::std::vector<::std::string> const&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>;
23
24 using ItemStackVector = ::std::vector<::ItemStack>;
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mLastSlots;
30 ::ll::TypedStorage<
31 8,
32 128,
33 ::Bedrock::PubSub::
34 Publisher<void(::std::vector<::std::string> const&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
35 mOnDynamicContainerRemovalPublisher;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 HudContainerManagerModel();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~HudContainerManagerModel() /*override*/ = default;
46
47 virtual ::std::vector<::ItemStack> getItemCopies() const /*override*/;
48
49 virtual void setSlot(int slot, ::ItemStack const& item, bool) /*override*/;
50
51 virtual ::ItemStack const& getSlot(int slot) const /*override*/;
52
53 virtual void setData(int id, int value) /*override*/;
54
55 virtual void broadcastChanges() /*override*/;
56
57 virtual ::ContainerScreenContext _postInit() /*override*/;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI HudContainerManagerModel(::ContainerID containerId, ::Player& player);
64
65#ifdef LL_PLAT_C
66 MCAPI void cleanUpDynamicContainers();
67
68 MCAPI void refreshHotbar();
69#endif
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor(::ContainerID containerId, ::Player& player);
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81 MCFOLD ::std::vector<::ItemStack> $getItemCopies() const;
82
83 MCAPI void $setSlot(int slot, ::ItemStack const& item, bool);
84
85 MCAPI ::ItemStack const& $getSlot(int slot) const;
86
87 MCFOLD void $setData(int id, int value);
88
89 MCAPI void $broadcastChanges();
90
91 MCAPI ::ContainerScreenContext $_postInit();
92
93
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCAPI static void** $vftable();
100 // NOLINTEND
101};
Definition ContainerScreenContext.h:16
Definition ItemStack.h:26
Definition Player.h:129