LeviLamina
Loading...
Searching...
No Matches
BeaconContainerManagerModel.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/managers/models/LevelContainerManagerModel.h"
8
9// auto generated forward declare list
10// clang-format off
12class BlockPos;
13class ContainerModel;
15class ItemStack;
16class Player;
17// clang-format on
18
19class BeaconContainerManagerModel : public ::LevelContainerManagerModel {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ContainerModel>> mPaymentContainerModel;
24 ::ll::TypedStorage<4, 4, int> mPrimaryEffectPreviousId;
25 ::ll::TypedStorage<4, 4, int> mSecondaryEffectPreviousId;
26 ::ll::TypedStorage<4, 4, int> mSelectedPrimaryEffectId;
27 ::ll::TypedStorage<4, 4, int> mSelectedSecondaryEffectId;
28 ::ll::TypedStorage<1, 1, bool> mEffectSelectionsChanged;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 BeaconContainerManagerModel();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~BeaconContainerManagerModel() /*override*/ = default;
39
40 virtual void setSlot(int slot, ::ItemStack const& item, bool) /*override*/;
41
42 virtual ::ItemStack const& getSlot(int slot) const /*override*/;
43
44 virtual ::std::vector<::ItemStack> getItemCopies() const /*override*/;
45
46 virtual ::ContainerScreenContext _postInit() /*override*/;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI BeaconContainerManagerModel(::ContainerID containerId, ::Player& player, ::BlockPos const& blockPos);
53
54#ifdef LL_PLAT_C
55 MCAPI void _sendBeaconPaymentPacket(::BeaconBlockActor& beacon);
56
57 MCAPI void confirmTransaction(bool isPaymentConfirmed);
58
59 MCAPI ::std::string getEffectHoverName(int iSlot, bool bSecondaryEffect);
60
61 MCFOLD ::std::shared_ptr<::ContainerModel> getPaymentContainerModel();
62
63 MCFOLD int getSelectedPrimaryEffectId() const;
64
65 MCAPI int getSelectedSecondaryEffectId() const;
66
67 MCAPI bool hasPrimarySelection() const;
68
69 MCFOLD bool haveEffectsChanged();
70
71 MCAPI bool isAnyEffectValid();
72
73 MCAPI bool isPaymentAvailable() const;
74
75 MCAPI bool isSecondaryEffect(int iSlot);
76
77 MCAPI bool isSelected(int iSlot, bool isSecondary);
78
79 MCAPI bool isTierAvailable(int iTier);
80
81 MCAPI void selectEffect(int iSlot, bool bSecondaryEffect);
82#endif
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(::ContainerID containerId, ::Player& player, ::BlockPos const& blockPos);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCAPI void $setSlot(int slot, ::ItemStack const& item, bool);
95
96 MCAPI ::ItemStack const& $getSlot(int slot) const;
97
98 MCAPI ::std::vector<::ItemStack> $getItemCopies() const;
99
100 MCAPI ::ContainerScreenContext $_postInit();
101
102
103 // NOLINTEND
104
105public:
106 // vftables
107 // NOLINTBEGIN
108 MCAPI static void** $vftable();
109 // NOLINTEND
110};
Definition BeaconBlockActor.h:28
Definition BlockPos.h:21
Definition ContainerModel.h:28
Definition ContainerScreenContext.h:19
Definition ItemStack.h:35
Definition Player.h:137