LeviLamina
Loading...
Searching...
No Matches
BeaconBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Container.h"
7#include "mc/world/level/block/BlockColor.h"
8#include "mc/world/level/block/actor/BlockActor.h"
9
10// auto generated forward declare list
11// clang-format off
13class BlockLegacy;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class DataLoadHelper;
18class ILevel;
19class ItemDescriptor;
20class ItemStack;
21class MobEffect;
22class Player;
23class SaveContext;
25// clang-format on
26
28public:
29 // BeaconBlockActor inner types define
30 using BeaconBeamSections = ::std::vector<::BeaconBeamSection>;
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 24, ::std::vector<::BeaconBeamSection>> mBeamSections;
36 ::ll::TypedStorage<4, 4, float> mBeamRot;
37 ::ll::TypedStorage<4, 4, int> mNumLevels;
38 ::ll::TypedStorage<4, 4, int> mNumLevelsSet;
39 ::ll::TypedStorage<4, 4, int> mBlockRefreshCounter;
40 ::ll::TypedStorage<4, 4, int> mPrimaryEffectId;
41 ::ll::TypedStorage<4, 4, int> mSecondaryEffectId;
42 ::ll::TypedStorage<4, 4, int> mPrimaryEffectTier;
43 ::ll::TypedStorage<4, 4, int> mSecondaryEffectTier;
44 ::ll::TypedStorage<8, 24, ::std::vector<::MobEffect*>> mBeaconEffects;
45 ::ll::TypedStorage<8, 24, ::std::vector<::std::vector<::MobEffect*>>> mTierEffects;
46 // NOLINTEND
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 // vIndex: 0
52 virtual ~BeaconBlockActor() /*override*/ = default;
53
54 // vIndex: 7
55 virtual void tick(::BlockSource& region) /*override*/;
56
57 // vIndex: 2
58 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
59
60 // vIndex: 1
61 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
62
63 // vIndex: 20
64 virtual bool hasAlphaLayer() const /*override*/;
65
66 // vIndex: 7
67 virtual ::ItemStack const& getItem(int slot) const /*override*/;
68
69 // vIndex: 12
70 virtual void setItem(int modelSlot, ::ItemStack const& item) /*override*/;
71
72 // vIndex: 14
73 virtual void removeItem(int slot, int count) /*override*/;
74
75 // vIndex: 26
76 virtual ::std::string getName() const /*override*/;
77
78 // vIndex: 20
79 virtual int getContainerSize() const /*override*/;
80
81 // vIndex: 21
82 virtual int getMaxStackSize() const /*override*/;
83
84 // vIndex: 22
85 virtual void startOpen(::Player& player) /*override*/;
86
87 // vIndex: 23
88 virtual void stopOpen(::Player& player) /*override*/;
89
90 // vIndex: 2
91 virtual void serverInitItemStackIds(
92 int containerSlot,
93 int count,
94 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
95 ) /*override*/;
96
97 // vIndex: 33
98 virtual ::Container* getContainer() /*override*/;
99
100 // vIndex: 32
101 virtual ::Container const* getContainer() const /*override*/;
102
103 // vIndex: 43
104 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource& region) /*override*/;
105
106 // vIndex: 44
107 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
108 // NOLINTEND
109
110public:
111 // member functions
112 // NOLINTBEGIN
113 MCAPI explicit BeaconBlockActor(::BlockPos const& pos);
114
115 MCAPI void _applyEffects(::BlockSource& region);
116
117 MCAPI bool _saveClientSideState(::CompoundTag& tag, ::SaveContext const& saveContext) const;
118
119 MCAPI bool _setEffect(int effectId, int& outEffectId, int& outTier);
120
121 MCAPI void checkShapeAndAchievement(::BlockSource& region);
122
123 MCAPI ::CompoundTag getBeaconData(::SaveContext const& saveContext);
124
125 MCAPI bool isEffectAvailable(int effectId) const;
126
127 MCAPI bool setSecondaryEffect(int effectId);
128 // NOLINTEND
129
130public:
131 // static functions
132 // NOLINTBEGIN
133 MCAPI static ::BlockColor _getMediumColor(::BlockLegacy const& medium);
134
135 MCAPI static bool isPaymentItem(::ItemDescriptor const& pItem);
136 // NOLINTEND
137
138public:
139 // constructor thunks
140 // NOLINTBEGIN
141 MCAPI void* $ctor(::BlockPos const& pos);
142 // NOLINTEND
143
144public:
145 // destructor thunk
146 // NOLINTBEGIN
147
148 // NOLINTEND
149
150public:
151 // virtual function thunks
152 // NOLINTBEGIN
153 MCAPI void $tick(::BlockSource& region);
154
155 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
156
157 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
158
159 MCFOLD bool $hasAlphaLayer() const;
160
161 MCFOLD ::ItemStack const& $getItem(int slot) const;
162
163 MCFOLD void $setItem(int modelSlot, ::ItemStack const& item);
164
165 MCFOLD void $removeItem(int slot, int count);
166
167 MCAPI ::std::string $getName() const;
168
169 MCFOLD int $getContainerSize() const;
170
171 MCFOLD int $getMaxStackSize() const;
172
173 MCFOLD void $startOpen(::Player& player);
174
175 MCFOLD void $stopOpen(::Player& player);
176
177 MCFOLD void $serverInitItemStackIds(
178 int containerSlot,
179 int count,
180 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
181 );
182
183 MCFOLD ::Container* $getContainer();
184
185 MCFOLD ::Container const* $getContainer() const;
186
187 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource& region);
188
189 MCAPI void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
190 // NOLINTEND
191
192public:
193 // vftables
194 // NOLINTBEGIN
195 MCAPI static void** $vftableForBlockActor();
196
197 MCAPI static void** $vftableForContainer();
198 // NOLINTEND
199};
Definition BeaconBlockActor.h:27
Definition BlockActorDataPacket.h:19
Definition BlockActor.h:32
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition CompoundTag.h:13
Definition Container.h:30
Definition DataLoadHelper.h:20
Definition ILevel.h:203
Definition ItemDescriptor.h:22
Definition ItemStack.h:25
Definition MobEffect.h:27
Definition Player.h:119
Definition SaveContext.h:5
Definition BeaconBeamSection.h:5