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/shared_types/legacy/LevelSoundEvent.h"
8#include "mc/world/level/block/VaultBlockState.h"
9#include "mc/world/level/block/actor/BlockActor.h"
10
11// auto generated forward declare list
12// clang-format off
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class DataLoadHelper;
18class Dimension;
19class ILevel;
20class ItemStack;
21class Level;
22class Player;
23class SaveContext;
24class Vec3;
25// clang-format on
26
28public:
29 // VaultBlockActor inner types declare
30 // clang-format off
31 class Client;
32 class Server;
33 struct VaultClientData;
34 struct VaultConfig;
35 struct VaultServerData;
36 struct VaultSharedData;
37 // clang-format on
38
39 // VaultBlockActor inner types define
40 struct VaultConfig {
41 public:
42 // member variables
43 // NOLINTBEGIN
49 // NOLINTEND
50
51 public:
52 // prevent constructor by default
53 VaultConfig& operator=(VaultConfig const&);
56
57 public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI ~VaultConfig();
61 // NOLINTEND
62
63 public:
64 // destructor thunk
65 // NOLINTBEGIN
66 MCAPI void $dtor();
67 // NOLINTEND
68 };
69
71 public:
72 // member variables
73 // NOLINTBEGIN
78 // NOLINTEND
79
80 public:
81 // prevent constructor by default
82 VaultSharedData& operator=(VaultSharedData const&);
85
86 public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI ~VaultSharedData();
90 // NOLINTEND
91
92 public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCAPI void $dtor();
96 // NOLINTEND
97 };
98
100 public:
101 // member variables
102 // NOLINTBEGIN
106 // NOLINTEND
107
108 public:
109 // prevent constructor by default
110 VaultClientData& operator=(VaultClientData const&);
113
114 public:
115 // member functions
116 // NOLINTBEGIN
117 MCAPI ~VaultClientData();
118 // NOLINTEND
119
120 public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCFOLD void $dtor();
124 // NOLINTEND
125 };
126
128 public:
129 // member variables
130 // NOLINTBEGIN
138 // NOLINTEND
139
140 public:
141 // prevent constructor by default
142 VaultServerData& operator=(VaultServerData const&);
145
146 public:
147 // member functions
148 // NOLINTBEGIN
149 MCAPI ~VaultServerData();
150 // NOLINTEND
151
152 public:
153 // destructor thunk
154 // NOLINTBEGIN
155 MCAPI void $dtor();
156 // NOLINTEND
157 };
158
159 class Server {
160 public:
161 // static functions
162 // NOLINTBEGIN
163 MCAPI static void cycleDisplayItemFromLootTable(
164 ::BlockSource& region,
165 ::VaultBlockState blockState,
166 ::VaultBlockActor::VaultConfig const& config,
168 );
169
170 MCAPI static ::ItemStack
171 getRandomDisplayItemFromLootTable(::BlockSource& region, ::std::string const& lootTable);
172
173 MCAPI static ::std::vector<::ItemStack> getRandomLootTableItems(
174 ::Level& level,
175 ::DimensionType dimensionType,
176 ::std::string const& lootTableName,
177 ::Player& player,
178 ::BlockPos pos
179 );
180
181 MCAPI static void onTransitionBetweenStates(
182 ::BlockSource& region,
183 ::BlockPos pos,
184 ::VaultBlockActor::VaultConfig const& config,
186 ::VaultBlockState oldState,
187 ::VaultBlockState newState
188 );
189
190 MCAPI static void playInsertFailSound(
191 ::BlockSource& region,
192 ::BlockPos pos,
194 ::SharedTypes::Legacy::LevelSoundEvent sound
195 );
196
197 MCAPI static void tick(
198 ::BlockSource& region,
199 ::BlockPos pos,
200 ::VaultBlockActor::VaultConfig const& config,
203 );
204
205 MCAPI static ::VaultBlockState tickStateAndGetNext(
206 ::BlockSource& region,
207 ::BlockPos pos,
208 ::VaultBlockActor::VaultConfig const& config,
211 ::VaultBlockState oldState
212 );
213
214 MCAPI static void tryInsertKey(
215 ::BlockSource& region,
216 ::Player& player,
217 ::BlockPos pos,
218 ::VaultBlockActor::VaultConfig const& config,
221 );
222
223 MCAPI static void updateConnectedPlayersWithinRange(
224 ::BlockSource& region,
225 ::BlockPos pos,
226 ::VaultBlockActor::VaultServerData const& serverData,
228 float range
229 );
230 // NOLINTEND
231 };
232
233 class Client {
234 public:
235 // static functions
236 // NOLINTBEGIN
237 MCAPI static void emitConnectedParticles(
238 ::BlockSource& region,
239 ::BlockPos pos,
240 ::VaultBlockActor::VaultSharedData const& sharedData
241 );
242
243 MCAPI static void emitIdleParticles(
244 ::BlockSource const& region,
245 ::VaultBlockActor::VaultSharedData const& sharedData,
246 ::BlockPos pos
247 );
248
249 MCAPI static void removeDisplayEntity(::VaultBlockActor::VaultClientData& clientData);
250
251 MCAPI static void tick(
252 ::BlockSource& region,
253 ::BlockPos pos,
255 ::VaultBlockActor::VaultSharedData const& sharedData
256 );
257 // NOLINTEND
258 };
259
260public:
261 // member variables
262 // NOLINTBEGIN
263 ::ll::TypedStorage<8, 224, ::VaultBlockActor::VaultConfig> mConfig;
264 ::ll::TypedStorage<8, 32, ::VaultBlockActor::VaultClientData> mClientData;
265 ::ll::TypedStorage<8, 184, ::VaultBlockActor::VaultSharedData> mSharedData;
266 ::ll::TypedStorage<8, 88, ::VaultBlockActor::VaultServerData> mServerData;
267 // NOLINTEND
268
269public:
270 // virtual functions
271 // NOLINTBEGIN
272 // vIndex: 0
273 virtual ~VaultBlockActor() /*override*/ = default;
274
275 // vIndex: 7
276 virtual void tick(::BlockSource& region) /*override*/;
277
278 // vIndex: 1
279 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
280
281 // vIndex: 2
282 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
283
284 // vIndex: 43
285 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
286
287 // vIndex: 44
288 virtual void _onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region) /*override*/;
289 // NOLINTEND
290
291public:
292 // member functions
293 // NOLINTBEGIN
294 MCAPI explicit VaultBlockActor(::BlockPos const& pos);
295 // NOLINTEND
296
297public:
298 // static functions
299 // NOLINTBEGIN
300 MCAPI static void
301 _javaSpawnItem(::BlockSource& region, ::ItemStack const& item, int position, uchar accuracy, ::Vec3 direction);
302 // NOLINTEND
303
304public:
305 // constructor thunks
306 // NOLINTBEGIN
307 MCAPI void* $ctor(::BlockPos const& pos);
308 // NOLINTEND
309
310public:
311 // destructor thunk
312 // NOLINTBEGIN
313
314 // NOLINTEND
315
316public:
317 // virtual function thunks
318 // NOLINTBEGIN
319 MCAPI void $tick(::BlockSource& region);
320
321 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
322
323 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
324
325 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
326
327 MCAPI void $_onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region);
328 // NOLINTEND
329
330public:
331 // vftables
332 // NOLINTBEGIN
333 MCAPI static void** $vftable();
334 // NOLINTEND
335};
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:203
Definition ItemStack.h:25
Definition Level.h:234
Definition Player.h:119
Definition SaveContext.h:5
Definition VaultBlockActor.h:233
Definition VaultBlockActor.h:159
Definition VaultBlockActor.h:27
Definition Vec3.h:10
Definition VaultBlockActor.h:99
Definition VaultBlockActor.h:40
Definition VaultBlockActor.h:127
Definition VaultBlockActor.h:70
Definition Alias.h:14