Skip to content
LeviLamina
Loading...
Searching...
No Matches
LevelListener.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/ParticleType.h"
7#include "mc/deps/shared_types/legacy/LevelEvent.h"
8#include "mc/world/level/BlockSourceListener.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Block;
14class BlockPos;
15class ChunkSource;
16class CompoundTag;
17class HashedString;
18class LevelChunk;
20class Vec3;
23namespace cg { class ImageBuffer; }
24namespace mce { class Color; }
26// clang-format on
27
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~LevelListener() /*override*/ = default;
33
34 virtual void allChanged();
35
36 virtual void sendServerLegacyParticle(::ParticleType, ::Vec3 const&, ::Vec3 const&, int);
37
38 virtual void addParticleEffect(
39 ::HashedString const&,
40 ::Actor const&,
41 ::HashedString const&,
42 ::Vec3 const&,
44 );
45
46#ifdef LL_PLAT_S
47 virtual void addTerrainParticleEffect(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float);
48#else // LL_PLAT_C
49 virtual void addTerrainParticleEffect(
50 ::BlockPos const& pos,
51 ::Block const& block,
52 ::Vec3 const& emitterPosition,
53 float particleCount,
54 float velocityScalar,
55 float emitterRadius
56 );
57#endif
58
59#ifdef LL_PLAT_S
60 virtual void addTerrainSlideEffect(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float);
61#else // LL_PLAT_C
62 virtual void addTerrainSlideEffect(
63 ::BlockPos const& pos,
64 ::Block const& block,
65 ::Vec3 const& emitterPosition,
66 float particleCount,
67 float velocityScalar,
68 float emitterRadius
69 );
70#endif
71
72#ifdef LL_PLAT_S
73 virtual void
74 addBreakingItemParticleEffect(::Vec3 const&, ::BreakingItemParticleData const&, ::ResolvedItemIconInfo const&);
75#else // LL_PLAT_C
76 virtual void addBreakingItemParticleEffect(
77 ::Vec3 const& pos,
79 ::ResolvedItemIconInfo const& textureInfo
80 );
81#endif
82
83#ifdef LL_PLAT_S
84 virtual void addBiomeTintedParticleEffect(
85 ::HashedString const&,
86 ::BlockPos const&,
87 ::Block const&,
88 ::std::optional<::mce::Color>
89 );
90#else // LL_PLAT_C
91 virtual void addBiomeTintedParticleEffect(
92 ::HashedString const& effect,
93 ::BlockPos const& pos,
94 ::Block const& block,
95 ::std::optional<::mce::Color> overrideColor
96 );
97#endif
98
99 virtual void playMusic(::std::string const&, ::Vec3 const&, float, float);
100
101 virtual void playStreamingMusic(::std::string const&, int, int, int);
102
103#ifdef LL_PLAT_S
104 virtual void onEntityAdded(::Actor& entity);
105#else // LL_PLAT_C
106 virtual void onEntityAdded(::Actor&);
107#endif
108
109 virtual void onEntityRemoved(::Actor& entity);
110
111 virtual void onChunkLoaded(::ChunkSource& source, ::LevelChunk& lc);
112
113 virtual void onChunkReloaded(::ChunkSource&, ::LevelChunk&);
114
115#ifdef LL_PLAT_S
116 virtual void onSubChunkLoaded(::ChunkSource&, ::LevelChunk&, short, bool);
117#else // LL_PLAT_C
118 virtual void onSubChunkLoaded(
119 ::ChunkSource& source,
120 ::LevelChunk& lc,
121 short absoluteSubChunkIndex,
122 bool subChunkVisibilityChanged
123 );
124#endif
125
126 virtual void onChunkUnloaded(::LevelChunk& lc);
127
128#ifdef LL_PLAT_S
129 virtual void onLevelDestruction(::std::string const&);
130#else // LL_PLAT_C
131 virtual void onLevelDestruction(::std::string const& levelId);
132#endif
133
134#ifdef LL_PLAT_S
135 virtual void levelEvent(::SharedTypes::Legacy::LevelEvent, ::Vec3 const&, int);
136#else // LL_PLAT_C
137 virtual void levelEvent(::SharedTypes::Legacy::LevelEvent type, ::Vec3 const& pos, int data);
138#endif
139
140#ifdef LL_PLAT_S
141 virtual void levelEvent(::SharedTypes::Legacy::LevelEvent, ::CompoundTag const&);
142#else // LL_PLAT_C
143 virtual void levelEvent(::SharedTypes::Legacy::LevelEvent type, ::CompoundTag const& data);
144#endif
145
146#ifdef LL_PLAT_S
147 virtual void takePicture(
149 ::Actor*,
150 ::Actor*,
152 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)>
153 );
154#else // LL_PLAT_C
155 virtual void takePicture(
156 ::cg::ImageBuffer& outImage,
157 ::Actor* camera,
158 ::Actor* target,
159 ::ScreenshotOptions& screenshotOptions,
160 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)> completedScreenshotCallback
161 );
162#endif
163
164 virtual void playerListChanged();
165
166#ifdef LL_PLAT_S
167 virtual void onLevelDataCommandsChanged(bool);
168#else // LL_PLAT_C
169 virtual void onLevelDataCommandsChanged(bool commandsEnabeld);
170#endif
171
172 virtual void onLevelDataWorldTemplateOptionsUnlocked();
173 // NOLINTEND
174
175public:
176 // virtual function thunks
177 // NOLINTBEGIN
178 MCFOLD void $allChanged();
179
180 MCFOLD void $sendServerLegacyParticle(::ParticleType, ::Vec3 const&, ::Vec3 const&, int);
181
182 MCFOLD void $addParticleEffect(
183 ::HashedString const&,
184 ::Actor const&,
185 ::HashedString const&,
186 ::Vec3 const&,
188 );
189
190#ifdef LL_PLAT_S
191 MCFOLD void $addTerrainParticleEffect(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float);
192#else // LL_PLAT_C
193 MCFOLD void $addTerrainParticleEffect(
194 ::BlockPos const& pos,
195 ::Block const& block,
196 ::Vec3 const& emitterPosition,
197 float particleCount,
198 float velocityScalar,
199 float emitterRadius
200 );
201#endif
202
203#ifdef LL_PLAT_S
204 MCFOLD void $addTerrainSlideEffect(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float);
205#else // LL_PLAT_C
206 MCFOLD void $addTerrainSlideEffect(
207 ::BlockPos const& pos,
208 ::Block const& block,
209 ::Vec3 const& emitterPosition,
210 float particleCount,
211 float velocityScalar,
212 float emitterRadius
213 );
214#endif
215
216#ifdef LL_PLAT_S
217 MCFOLD void
218 $addBreakingItemParticleEffect(::Vec3 const&, ::BreakingItemParticleData const&, ::ResolvedItemIconInfo const&);
219#else // LL_PLAT_C
220 MCFOLD void $addBreakingItemParticleEffect(
221 ::Vec3 const& pos,
222 ::BreakingItemParticleData const& data,
223 ::ResolvedItemIconInfo const& textureInfo
224 );
225#endif
226
227#ifdef LL_PLAT_S
228 MCFOLD void $addBiomeTintedParticleEffect(
229 ::HashedString const&,
230 ::BlockPos const&,
231 ::Block const&,
232 ::std::optional<::mce::Color>
233 );
234#else // LL_PLAT_C
235 MCFOLD void $addBiomeTintedParticleEffect(
236 ::HashedString const& effect,
237 ::BlockPos const& pos,
238 ::Block const& block,
239 ::std::optional<::mce::Color> overrideColor
240 );
241#endif
242
243 MCFOLD void $playMusic(::std::string const&, ::Vec3 const&, float, float);
244
245 MCFOLD void $playStreamingMusic(::std::string const&, int, int, int);
246
247#ifdef LL_PLAT_S
248 MCFOLD void $onEntityAdded(::Actor& entity);
249#else // LL_PLAT_C
250 MCFOLD void $onEntityAdded(::Actor&);
251#endif
252
253 MCFOLD void $onEntityRemoved(::Actor& entity);
254
255 MCFOLD void $onChunkLoaded(::ChunkSource& source, ::LevelChunk& lc);
256
257 MCFOLD void $onChunkReloaded(::ChunkSource&, ::LevelChunk&);
258
259#ifdef LL_PLAT_S
260 MCFOLD void $onSubChunkLoaded(::ChunkSource&, ::LevelChunk&, short, bool);
261#else // LL_PLAT_C
262 MCFOLD void $onSubChunkLoaded(
263 ::ChunkSource& source,
264 ::LevelChunk& lc,
265 short absoluteSubChunkIndex,
266 bool subChunkVisibilityChanged
267 );
268#endif
269
270 MCFOLD void $onChunkUnloaded(::LevelChunk& lc);
271
272#ifdef LL_PLAT_S
273 MCFOLD void $onLevelDestruction(::std::string const&);
274#else // LL_PLAT_C
275 MCFOLD void $onLevelDestruction(::std::string const& levelId);
276#endif
277
278#ifdef LL_PLAT_S
279 MCFOLD void $levelEvent(::SharedTypes::Legacy::LevelEvent, ::Vec3 const&, int);
280#else // LL_PLAT_C
281 MCFOLD void $levelEvent(::SharedTypes::Legacy::LevelEvent type, ::Vec3 const& pos, int data);
282#endif
283
284#ifdef LL_PLAT_S
285 MCFOLD void $levelEvent(::SharedTypes::Legacy::LevelEvent, ::CompoundTag const&);
286#else // LL_PLAT_C
287 MCFOLD void $levelEvent(::SharedTypes::Legacy::LevelEvent type, ::CompoundTag const& data);
288#endif
289
290#ifdef LL_PLAT_S
291 MCAPI void $takePicture(
293 ::Actor*,
294 ::Actor*,
296 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)>
297 );
298#else // LL_PLAT_C
299 MCAPI void $takePicture(
300 ::cg::ImageBuffer& outImage,
301 ::Actor* camera,
302 ::Actor* target,
303 ::ScreenshotOptions& screenshotOptions,
304 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)> completedScreenshotCallback
305 );
306#endif
307
308 MCFOLD void $playerListChanged();
309
310#ifdef LL_PLAT_S
311 MCFOLD void $onLevelDataCommandsChanged(bool);
312#else // LL_PLAT_C
313 MCFOLD void $onLevelDataCommandsChanged(bool commandsEnabeld);
314#endif
315
316 MCFOLD void $onLevelDataWorldTemplateOptionsUnlocked();
317
318
319 // NOLINTEND
320
321public:
322 // vftables
323 // NOLINTBEGIN
324 MCAPI static void** $vftable();
325 // NOLINTEND
326};
Definition Actor.h:113
Definition BlockPos.h:17
Definition BlockSourceListener.h:18
Definition Block.h:41
Definition ChunkSource.h:36
Definition CompoundTag.h:18
Definition HashedString.h:5
Definition LevelChunk.h:77
Definition LevelListener.h:28
Definition MolangVariableMap.h:17
Definition Vec3.h:10
Definition ImageBuffer.h:16
Definition Color.h:13
Definition BreakingItemParticleData.h:8
Definition ResolvedItemIconInfo.h:8
Definition ScreenshotOptions.h:5