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;
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 // NOLINTEND
48
49public:
50 // prevent constructor by default
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 // vIndex: 0
57 virtual ~BeaconBlockActor() /*override*/ = default;
58
59 // vIndex: 8
60 virtual void tick(::BlockSource& region) /*override*/;
61
62 // vIndex: 2
63 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
64
65 // vIndex: 1
66 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
67
68 // vIndex: 21
69 virtual bool hasAlphaLayer() const /*override*/;
70
71 // vIndex: 7
72 virtual bool isWithinRenderDistance(::Vec3 const& cameraPosition) const /*override*/;
73
74 // vIndex: 7
75 virtual ::ItemStack const& getItem(int slot) const /*override*/;
76
77 // vIndex: 12
78 virtual void setItem(int slot, ::ItemStack const& item) /*override*/;
79
80 // vIndex: 14
81 virtual void removeItem(int slot, int count) /*override*/;
82
83 // vIndex: 27
84 virtual ::std::string getName() const /*override*/;
85
86 // vIndex: 20
87 virtual int getContainerSize() const /*override*/;
88
89 // vIndex: 21
90 virtual int getMaxStackSize() const /*override*/;
91
92 // vIndex: 22
93 virtual void startOpen(::Player& player) /*override*/;
94
95 // vIndex: 23
96 virtual void stopOpen(::Player& player) /*override*/;
97
98 // vIndex: 2
99 virtual void serverInitItemStackIds(
100 int containerSlot,
101 int count,
102 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
103 ) /*override*/;
104
105 // vIndex: 34
106 virtual ::Container* getContainer() /*override*/;
107
108 // vIndex: 33
109 virtual ::Container const* getContainer() const /*override*/;
110
111 // vIndex: 44
112 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource& region) /*override*/;
113
114 // vIndex: 45
115 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
116 // NOLINTEND
117
118public:
119 // member functions
120 // NOLINTBEGIN
121 MCNAPI explicit BeaconBlockActor(::BlockPos const& pos);
122
123 MCNAPI void _applyEffects(::BlockSource& region);
124
125 MCNAPI bool _saveClientSideState(::CompoundTag& tag, ::SaveContext const& saveContext) const;
126
127 MCNAPI bool _setEffect(int effectId, int& outEffectId, int& outTier);
128
130
131 MCNAPI ::CompoundTag getBeaconData(::SaveContext const& saveContext);
132
133 MCNAPI bool isEffectAvailable(int effectId) const;
134
135 MCNAPI bool setSecondaryEffect(int effectId);
136 // NOLINTEND
137
138public:
139 // static functions
140 // NOLINTBEGIN
141 MCNAPI static ::BlockColor _getMediumColor(::BlockLegacy const& medium);
142
143 MCNAPI static bool isPaymentItem(::ItemDescriptor const& pItem);
144 // NOLINTEND
145
146public:
147 // constructor thunks
148 // NOLINTBEGIN
149 MCNAPI void* $ctor(::BlockPos const& pos);
150 // NOLINTEND
151
152public:
153 // virtual function thunks
154 // NOLINTBEGIN
155 MCNAPI void $tick(::BlockSource& region);
156
157 MCNAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
158
159 MCNAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
160
161 MCNAPI bool $hasAlphaLayer() const;
162
163 MCNAPI bool $isWithinRenderDistance(::Vec3 const& cameraPosition) const;
164
165 MCNAPI ::ItemStack const& $getItem(int slot) const;
166
167 MCNAPI void $setItem(int slot, ::ItemStack const& item);
168
169 MCNAPI void $removeItem(int slot, int count);
170
171 MCNAPI ::std::string $getName() const;
172
173 MCNAPI int $getContainerSize() const;
174
175 MCNAPI int $getMaxStackSize() const;
176
177 MCNAPI void $startOpen(::Player& player);
178
179 MCNAPI void $stopOpen(::Player& player);
180
182 int containerSlot,
183 int count,
184 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
185 );
186
187 MCNAPI ::Container* $getContainer();
188
189 MCNAPI ::Container const* $getContainer() const;
190
191 MCNAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource& region);
192
193 MCNAPI void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
194 // NOLINTEND
195
196public:
197 // vftables
198 // NOLINTBEGIN
199 MCNAPI static void** $vftableForBlockActor();
200
201 MCNAPI static void** $vftableForContainer();
202 // NOLINTEND
203};
Definition BeaconBlockActor.h:28
static MCAPI bool isPaymentItem(::ItemDescriptor const &pItem)
MCAPI void $setItem(int slot, ::ItemStack const &item)
MCAPI::ItemStack const & $getItem(int slot) const
MCAPI void $load(::ILevel &level, ::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
MCAPI void $stopOpen(::Player &player)
static MCAPI void ** $vftableForBlockActor()
MCAPI void $startOpen(::Player &player)
MCAPI void $_onUpdatePacket(::CompoundTag const &data, ::BlockSource &region)
MCAPI void $tick(::BlockSource &region)
MCAPI ::std::unique_ptr<::BlockActorDataPacket > $_getUpdatePacket(::BlockSource &region)
static MCAPI ::BlockColor _getMediumColor(::BlockLegacy const &medium)
static MCAPI void ** $vftableForContainer()
MCAPI BeaconBlockActor(::BlockPos const &pos)
MCAPI::std::string $getName() const
MCAPI bool _setEffect(int effectId, int &outEffectId, int &outTier)
MCAPI::Container * $getContainer()
MCAPI void $serverInitItemStackIds(int containerSlot, int count, ::std::function< void(int, ::ItemStack const &)> onNetIdChanged)
MCAPI bool $isWithinRenderDistance(::Vec3 const &cameraPosition) const
MCAPI int $getMaxStackSize() const
MCAPI bool isEffectAvailable(int effectId) const
MCAPI void checkShapeAndAchievement(::BlockSource &region)
MCAPI void $removeItem(int slot, int count)
MCAPI::CompoundTag getBeaconData(::SaveContext const &saveContext)
MCAPI bool _saveClientSideState(::CompoundTag &tag, ::SaveContext const &saveContext) const
MCAPI bool $hasAlphaLayer() const
MCAPI void _applyEffects(::BlockSource &region)
MCAPI bool $save(::CompoundTag &tag, ::SaveContext const &saveContext) const
MCAPI void * $ctor(::BlockPos const &pos)
MCAPI::Container const * $getContainer() const
MCAPI int $getContainerSize() const
MCAPI bool setSecondaryEffect(int effectId)
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:205
Definition ItemDescriptor.h:22
Definition ItemStack.h:25
Definition MobEffect.h:27
Definition Player.h:119
Definition SaveContext.h:5
Definition Vec3.h:10
Definition BeaconBeamSection.h:5