LeviLamina
Loading...
Searching...
No Matches
ContainerManagerModel.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/deps/shared_types/legacy/ContainerType.h"
8#include "mc/world/ContainerID.h"
9#include "mc/world/containers/managers/IContainerManager.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14class ContainerModel;
16class ItemStack;
17class Player;
19namespace Bedrock::PubSub { class Subscription; }
20namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 // vIndex: 0
51 virtual ~ContainerManagerModel() /*override*/;
52
53 // vIndex: 14
54 virtual bool tick();
55
56 // vIndex: 1
57 virtual ::ContainerID getContainerId() const /*override*/;
58
59 // vIndex: 2
60 virtual void setContainerId(::ContainerID id) /*override*/;
61
62 // vIndex: 3
63 virtual ::SharedTypes::Legacy::ContainerType getContainerType() const /*override*/;
64
65 // vIndex: 4
66 virtual void setContainerType(::SharedTypes::Legacy::ContainerType type) /*override*/;
67
68 // vIndex: 5
69 virtual ::Bedrock::PubSub::Subscription
70 registerContainerTypeListener(::std::function<void(::SharedTypes::Legacy::ContainerType)> callback) const
71 /*override*/;
72
73 // vIndex: 15
74 virtual void debitPlayerLevels(int levels);
75
76 // vIndex: 16
77 virtual bool isCreativeMode() const;
78
79 // vIndex: 17
80 virtual bool isClientSide() const;
81
82 // vIndex: 18
83 virtual bool isServerAuthoritative() const;
84
85 // vIndex: 19
86 virtual bool isValid(float pickRange);
87
88 // vIndex: 6
89 virtual void serverInitItemStackIds() /*override*/;
90
91 // vIndex: 11
92 virtual void
93 setFullContainerSlot(int slot, ::FullContainerName const& name, ::ItemStack const& item, bool) /*override*/;
94
95 // vIndex: 12
96 virtual ::ItemStack const& getFullContainerSlot(int slot, ::FullContainerName const& name) const /*override*/;
97
98 // vIndex: 13
99 virtual void broadcastChanges() /*override*/;
100
101 // vIndex: 20
102 virtual ::ContainerScreenContext _postInit() = 0;
103 // NOLINTEND
104
105public:
106 // member functions
107 // NOLINTBEGIN
108 MCAPI ContainerManagerModel(::ContainerID containerId, ::Player& player);
109
110 MCAPI void _addContainer(::std::shared_ptr<::ContainerModel> containerModel);
111
112 MCAPI bool _isPlayerInRangeOfPosition(::BlockPos const& blockPos, float pickRange) const;
113
114 MCAPI void addDynamicContainer(::std::shared_ptr<::ContainerModel> model);
115
116 MCAPI void postInit();
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCAPI void* $ctor(::ContainerID containerId, ::Player& player);
123 // NOLINTEND
124
125public:
126 // destructor thunk
127 // NOLINTBEGIN
128 MCAPI void $dtor();
129 // NOLINTEND
130
131public:
132 // virtual function thunks
133 // NOLINTBEGIN
134 MCFOLD bool $tick();
135
136 MCFOLD ::ContainerID $getContainerId() const;
137
138 MCFOLD void $setContainerId(::ContainerID id);
139
140 MCFOLD ::SharedTypes::Legacy::ContainerType $getContainerType() const;
141
142 MCAPI void $setContainerType(::SharedTypes::Legacy::ContainerType type);
143
144 MCAPI ::Bedrock::PubSub::Subscription
145 $registerContainerTypeListener(::std::function<void(::SharedTypes::Legacy::ContainerType)> callback) const;
146
147 MCAPI void $debitPlayerLevels(int levels);
148
149 MCAPI bool $isCreativeMode() const;
150
151 MCAPI bool $isClientSide() const;
152
153 MCAPI bool $isServerAuthoritative() const;
154
155 MCAPI bool $isValid(float pickRange);
156
157 MCAPI void $serverInitItemStackIds();
158
159 MCAPI void $setFullContainerSlot(int slot, ::FullContainerName const& name, ::ItemStack const& item, bool);
160
161 MCAPI ::ItemStack const& $getFullContainerSlot(int slot, ::FullContainerName const& name) const;
162
163 MCAPI void $broadcastChanges();
164 // NOLINTEND
165
166public:
167 // vftables
168 // NOLINTBEGIN
169 MCAPI static void** $vftable();
170 // NOLINTEND
171};
Definition BlockPos.h:18
Definition ContainerManagerModel.h:23
Definition ContainerModel.h:22
Definition ContainerScreenContext.h:11
Definition IContainerManager.h:16
Definition ItemStack.h:25
Definition Player.h:119
Definition FullContainerName.h:8
Definition Alias.h:14