LeviLamina
Loading...
Searching...
No Matches
LevelContainerModel.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/legacy/ActorUniqueID.h"
8#include "mc/world/containers/ContainerEnumName.h"
9#include "mc/world/containers/models/ContainerCategory.h"
10#include "mc/world/containers/models/ContainerModel.h"
11#include "mc/world/level/BlockPos.h"
12#include "mc/world/level/block/actor/BlockActorType.h"
13
14// auto generated forward declare list
15// clang-format off
16class Container;
18class ItemStack;
19class Player;
20// clang-format on
21
22class LevelContainerModel : public ::ContainerModel {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 8, ::Player&> mPlayer;
27 ::ll::TypedStorage<4, 12, ::BlockPos> mBlockPos;
28 ::ll::TypedStorage<1, 1, ::BlockActorType> mBlockEntityType;
29 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mEntityUniqueId;
30 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mContainerRemovedSubscription;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 LevelContainerModel& operator=(LevelContainerModel const&);
36 LevelContainerModel(LevelContainerModel const&);
37 LevelContainerModel();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~LevelContainerModel() /*override*/ = default;
43
44 virtual void releaseResources() /*override*/;
45
46 virtual void containerContentChanged(int slot) /*override*/;
47
48 virtual bool isValid() /*override*/;
49
50 virtual ::ContainerWeakRef getContainerWeakRef() const /*override*/;
51
52 virtual void postInit() /*override*/;
53
54 virtual bool isSlotDisabled(int slot) const /*override*/;
55
56 virtual int _getContainerOffset() const /*override*/;
57
58 virtual void _onItemChanged(int modelSlot, ::ItemStack const& oldItem, ::ItemStack const& newItem) /*override*/;
59
60 virtual ::Container* _getContainer() const /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI LevelContainerModel(
67 ::ContainerEnumName containerName,
68 int containerSize,
69 ::Player& player,
70 ::BlockActorType type,
71 ::BlockPos const& blockPos,
72 ::ContainerCategory category
73 );
74
75 MCAPI void _refreshSlot(int modelSlot);
76
77 MCAPI void containerRemoved();
78 // NOLINTEND
79
80public:
81 // static functions
82 // NOLINTBEGIN
83 MCAPI static ::Container*
84 getContainerHelper(::Player& player, ::BlockActorType blockActorType, ::BlockPos const& blockPos);
85 // NOLINTEND
86
87public:
88 // constructor thunks
89 // NOLINTBEGIN
90 MCAPI void* $ctor(
91 ::ContainerEnumName containerName,
92 int containerSize,
93 ::Player& player,
94 ::BlockActorType type,
95 ::BlockPos const& blockPos,
96 ::ContainerCategory category
97 );
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCAPI void $releaseResources();
104
105 MCAPI void $containerContentChanged(int slot);
106
107 MCAPI bool $isValid();
108
109 MCAPI ::ContainerWeakRef $getContainerWeakRef() const;
110
111 MCAPI void $postInit();
112
113 MCAPI bool $isSlotDisabled(int slot) const;
114
115 MCAPI int $_getContainerOffset() const;
116
117 MCFOLD void $_onItemChanged(int modelSlot, ::ItemStack const& oldItem, ::ItemStack const& newItem);
118
119 MCAPI ::Container* $_getContainer() const;
120
121
122 // NOLINTEND
123
124public:
125 // vftables
126 // NOLINTBEGIN
127 MCAPI static void** $vftable();
128 // NOLINTEND
129};
Definition BlockPos.h:19
Definition ContainerWeakRef.h:20
Definition Container.h:33
Definition ItemStack.h:26
Definition Player.h:125