LeviLamina
Loading...
Searching...
No Matches
DynamicContainerManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/ContainerID.h"
7#include "mc/world/containers/FullContainerName.h"
8#include "mc/world/item/ItemStack.h"
9
10// auto generated forward declare list
11// clang-format off
12class Container;
13class ContainerModel;
14struct ContainerOwner;
16// clang-format on
17
18class DynamicContainerManager {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<4, 12, ::FullContainerName const> mFullContainerName;
23 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContainerModel>> mModel;
24 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::Container>> mContainer;
25 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mLastSlots;
26 ::ll::TypedStorage<1, 1, ::ContainerID> mContainerID;
27 ::ll::TypedStorage<8, 152, ::ItemStack> mStorageItem;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 DynamicContainerManager();
33
34public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI DynamicContainerManager(
38 ::FullContainerName const& name,
39 ::std::shared_ptr<::ContainerModel> model,
40 ::std::shared_ptr<::Container> container,
41 ::ItemStack const& storageItem
42 );
43
44 MCAPI void
45 broadcastChanges(::PlayerContainerRefresher const& refresher, ::std::function<void()> contentsChangedCallback);
46
47 MCFOLD ::ContainerID getContainerId() const;
48
49 MCAPI ::FullContainerName getDynamicContainerId() const;
50
51 MCAPI ::std::vector<::ItemStack> const& getItems() const;
52
53 MCFOLD ::ItemStack const& getStorageItemForNetworkPacket() const;
54
55 MCAPI void shareContainer(::ContainerOwner& containerOwner);
56
57 MCAPI ~DynamicContainerManager();
58 // NOLINTEND
59
60public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCAPI void* $ctor(
64 ::FullContainerName const& name,
65 ::std::shared_ptr<::ContainerModel> model,
66 ::std::shared_ptr<::Container> container,
67 ::ItemStack const& storageItem
68 );
69 // NOLINTEND
70
71public:
72 // destructor thunk
73 // NOLINTBEGIN
74 MCAPI void $dtor();
75 // NOLINTEND
76};
Definition ContainerModel.h:28
Definition Container.h:34
Definition ItemStack.h:35
Definition ContainerOwner.h:10
Definition FullContainerName.h:8
Definition PlayerContainerRefresher.h:13