LeviLamina
Loading...
Searching...
No Matches
VaultBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/deps/ecs/WeakEntityRef.h"
8#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
9#include "mc/world/item/ItemStack.h"
10#include "mc/world/level/Tick.h"
11#include "mc/world/level/block/VaultBlockState.h"
12#include "mc/world/level/block/actor/BlockActor.h"
13
14// auto generated forward declare list
15// clang-format off
16class ActorRuntimeID;
18class BlockPos;
19class BlockSource;
20class CompoundTag;
21class DataLoadHelper;
22class Dimension;
23class ILevel;
24class Level;
25class Player;
26class SaveContext;
27class Vec3;
28struct ActorUniqueID;
29// clang-format on
30
32public:
33 // VaultBlockActor inner types declare
34 // clang-format off
35 class Client;
36 class Server;
37 struct VaultClientData;
38 struct VaultConfig;
39 struct VaultServerData;
40 struct VaultSharedData;
41 // clang-format on
42
43 // VaultBlockActor inner types define
44 struct VaultConfig {
45 public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 32, ::std::string> lootTable;
49 ::ll::TypedStorage<4, 4, float> activationRange;
50 ::ll::TypedStorage<4, 4, float> deactivationRange;
51 ::ll::TypedStorage<8, 152, ::ItemStack> keyItem;
52 ::ll::TypedStorage<8, 32, ::std::string> overrideLootTableToDisplay;
53 // NOLINTEND
54
55 public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI ~VaultConfig();
59 // NOLINTEND
60
61 public:
62 // destructor thunk
63 // NOLINTBEGIN
64 MCAPI void $dtor();
65 // NOLINTEND
66 };
67
69 public:
70 // member variables
71 // NOLINTBEGIN
72 ::ll::TypedStorage<8, 152, ::ItemStack> displayItem;
73 ::ll::TypedStorage<8, 24, ::std::vector<::ActorRuntimeID>> connectedPlayers;
74 ::ll::TypedStorage<4, 4, float> connectedParticlesRange;
75 ::ll::TypedStorage<1, 1, bool> isSharedDataDirty;
76 // NOLINTEND
77
78 public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI ~VaultSharedData();
82 // NOLINTEND
83
84 public:
85 // destructor thunk
86 // NOLINTBEGIN
87 MCAPI void $dtor();
88 // NOLINTEND
89 };
90
92 public:
93 // member variables
94 // NOLINTBEGIN
95 ::ll::TypedStorage<4, 4, float> currentSpin;
96 ::ll::TypedStorage<4, 4, float> previousSpin;
97 ::ll::TypedStorage<8, 24, ::WeakEntityRef> displayEntity;
98 // NOLINTEND
99
100 public:
101 // member functions
102 // NOLINTBEGIN
103 MCAPI ~VaultClientData();
104 // NOLINTEND
105
106 public:
107 // destructor thunk
108 // NOLINTBEGIN
109 MCFOLD void $dtor();
110 // NOLINTEND
111 };
112
114 public:
115 // member variables
116 // NOLINTBEGIN
117 ::ll::TypedStorage<8, 8, ::Tick> stateUpdateResumesAt;
118 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> itemsToEject;
119 ::ll::TypedStorage<8, 24, ::std::vector<::ActorUniqueID>> rewardedPlayers;
120 ::ll::TypedStorage<1, 1, bool> doesBlockNeedToBeSaved;
121 ::ll::TypedStorage<8, 8, ::Tick> serverTick;
122 ::ll::TypedStorage<8, 8, ::Tick> lastInsertFailTimestamp;
123 ::ll::TypedStorage<4, 4, int> totalEjectionsNeeded;
124 // NOLINTEND
125
126 public:
127 // member functions
128 // NOLINTBEGIN
129 MCAPI ~VaultServerData();
130 // NOLINTEND
131
132 public:
133 // destructor thunk
134 // NOLINTBEGIN
135 MCAPI void $dtor();
136 // NOLINTEND
137 };
138
139 class Server {
140 public:
141 // static functions
142 // NOLINTBEGIN
143 MCAPI static void cycleDisplayItemFromLootTable(
144 ::BlockSource& region,
145 ::VaultBlockState blockState,
146 ::VaultBlockActor::VaultConfig const& config,
148 );
149
150 MCAPI static void ejectResultItem(
151 ::BlockSource& region,
152 ::BlockPos blockPos,
153 ::ItemStack const& item,
154 float ejectionSoundProgress
155 );
156
157 MCAPI static ::ItemStack
158 getRandomDisplayItemFromLootTable(::BlockSource& region, ::std::string const& lootTable);
159
160 MCAPI static ::std::vector<::ItemStack> getRandomLootTableItems(
161 ::Level& level,
162 ::DimensionType dimensionType,
163 ::std::string const& lootTableName,
164 ::Player& player,
165 ::BlockPos pos
166 );
167
168 MCAPI static void onTransitionBetweenStates(
169 ::BlockSource& region,
170 ::BlockPos pos,
171 ::VaultBlockActor::VaultConfig const& config,
173 ::VaultBlockState oldState,
174 ::VaultBlockState newState
175 );
176
177 MCAPI static void playInsertFailSound(
178 ::BlockSource& region,
179 ::BlockPos pos,
181 ::SharedTypes::Legacy::LevelSoundEvent sound
182 );
183
184 MCAPI static void tick(
185 ::BlockSource& region,
186 ::BlockPos pos,
187 ::VaultBlockActor::VaultConfig const& config,
190 );
191
192 MCAPI static ::VaultBlockState tickStateAndGetNext(
193 ::BlockSource& region,
194 ::BlockPos pos,
195 ::VaultBlockActor::VaultConfig const& config,
198 ::VaultBlockState oldState
199 );
200
201 MCAPI static void tryInsertKey(
202 ::BlockSource& region,
203 ::Player& player,
204 ::BlockPos pos,
205 ::VaultBlockActor::VaultConfig const& config,
208 );
209
210 MCAPI static void updateConnectedPlayersWithinRange(
211 ::BlockSource& region,
212 ::BlockPos pos,
213 ::VaultBlockActor::VaultServerData const& serverData,
215 float range
216 );
217 // NOLINTEND
218 };
219
220 class Client {
221 public:
222 // static functions
223 // NOLINTBEGIN
224 MCAPI static void emitConnectedParticles(
225 ::BlockSource& region,
226 ::BlockPos pos,
227 ::VaultBlockActor::VaultSharedData const& sharedData
228 );
229
230 MCAPI static void emitIdleParticles(
231 ::BlockSource const& region,
232 ::VaultBlockActor::VaultSharedData const& sharedData,
233 ::BlockPos pos
234 );
235
236 MCAPI static void
237 playIdleSounds(::BlockSource& region, ::BlockPos pos, ::VaultBlockActor::VaultSharedData const& sharedData);
238
239 MCAPI static void removeDisplayEntity(::VaultBlockActor::VaultClientData& clientData);
240 // NOLINTEND
241 };
242
243public:
244 // member variables
245 // NOLINTBEGIN
246 ::ll::TypedStorage<8, 224, ::VaultBlockActor::VaultConfig> mConfig;
247 ::ll::TypedStorage<8, 32, ::VaultBlockActor::VaultClientData> mClientData;
248 ::ll::TypedStorage<8, 184, ::VaultBlockActor::VaultSharedData> mSharedData;
249 ::ll::TypedStorage<8, 88, ::VaultBlockActor::VaultServerData> mServerData;
250 // NOLINTEND
251
252public:
253 // prevent constructor by default
255
256public:
257 // virtual functions
258 // NOLINTBEGIN
259 // vIndex: 0
260 virtual ~VaultBlockActor() /*override*/ = default;
261
262 // vIndex: 8
263 virtual void tick(::BlockSource& region) /*override*/;
264
265 // vIndex: 1
266 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
267
268 // vIndex: 2
269 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
270
271 // vIndex: 44
272 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
273
274 // vIndex: 45
275 virtual void _onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region) /*override*/;
276 // NOLINTEND
277
278public:
279 // member functions
280 // NOLINTBEGIN
281 MCAPI explicit VaultBlockActor(::BlockPos const& pos);
282 // NOLINTEND
283
284public:
285 // static functions
286 // NOLINTBEGIN
287 MCAPI static void
288 _javaSpawnItem(::BlockSource& region, ::ItemStack const& item, int accuracy, uchar direction, ::Vec3 position);
289 // NOLINTEND
290
291public:
292 // constructor thunks
293 // NOLINTBEGIN
294 MCAPI void* $ctor(::BlockPos const& pos);
295 // NOLINTEND
296
297public:
298 // virtual function thunks
299 // NOLINTBEGIN
300 MCAPI void $tick(::BlockSource& region);
301
302 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
303
304 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
305
306 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
307
308 MCAPI void $_onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region);
309 // NOLINTEND
310
311public:
312 // vftables
313 // NOLINTBEGIN
314 MCNAPI static void** $vftable();
315 // NOLINTEND
316};
Definition ActorRuntimeID.h:5
Definition AutomaticID.h:6
Definition BlockActorDataPacket.h:19
Definition BlockActor.h:32
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition CompoundTag.h:13
Definition DataLoadHelper.h:20
Definition Dimension.h:83
Definition ILevel.h:205
Definition ItemStack.h:25
Definition Level.h:238
Definition Player.h:119
Definition SaveContext.h:5
Definition VaultBlockActor.h:220
Definition VaultBlockActor.h:139
Definition VaultBlockActor.h:31
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition ActorUniqueID.h:5
Definition VaultBlockActor.h:91
Definition VaultBlockActor.h:44
Definition VaultBlockActor.h:113
Definition VaultBlockActor.h:68