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