LeviLamina
Loading...
Searching...
No Matches
LevelRendererPlayer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/game/DirectionalLightRenderData.h"
7#include "mc/client/renderer/game/LevelRendererCameraListeners.h"
8#include "mc/client/renderer/game/PlayerRenderingParameters.h"
9#include "mc/client/renderer/scripting/ServerGraphicsOverrideManager.h"
10#include "mc/client/renderer/texture/TextureAtlasItem.h"
11#include "mc/client/sound/ListenerState.h"
12#include "mc/common/SubClientId.h"
13#include "mc/comprehensive/ParticleType.h"
14#include "mc/deps/core/container/slot_map_handle.h"
15#include "mc/deps/core/math/Color.h"
16#include "mc/deps/core/math/Vec3.h"
17#include "mc/deps/core/string/HashedString.h"
18#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
19#include "mc/deps/core/utility/NonOwnerPointer.h"
20#include "mc/deps/core/utility/pub_sub/Publisher.h"
21#include "mc/deps/core/utility/pub_sub/Subscription.h"
22#include "mc/deps/core_graphics/ImageBuffer.h"
23#include "mc/deps/ecs/WeakEntityRef.h"
24#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
25#include "mc/deps/shared_types/legacy/LevelEvent.h"
26#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
27#include "mc/world/level/BlockPos.h"
28#include "mc/world/level/FogDefinition.h"
29
30// auto generated forward declare list
31// clang-format off
32class Actor;
36class Block;
37class BlockActor;
38class BlockSource;
40class CompoundTag;
41class EntityContext;
42class Font;
43class IClientInstance;
44class IRandom;
45class Level;
47class LevelRenderer;
48class Matrix;
49class Mob;
50class Options;
51class Player;
52class Random;
54class ScreenContext;
55class SoundMapping;
57class Tessellator;
58class TextureAtlas;
66struct DeferredSound;
70struct SkyRenderObject;
71struct Sound;
73struct ViewRenderData;
74struct ViewRenderObject;
75namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
76namespace ParticleSystem { class ParticleEmitter; }
77namespace mce { class Camera; }
78namespace mce { class Mesh; }
79namespace mce::framebuilder { struct SkyWeatherParameters; }
80// clang-format on
81
83public:
84 // LevelRendererPlayer inner types declare
85 // clang-format off
86 struct BiomeParticleKey;
88 struct SkyColorLerp;
89 // clang-format on
90
91 // LevelRendererPlayer inner types define
92 struct BiomeParticleKey {
93 public:
94 // member variables
95 // NOLINTBEGIN
96 ::ll::TypedStorage<8, 48, ::HashedString> mEffect;
97 ::ll::TypedStorage<4, 16, ::mce::Color> mColor;
98 // NOLINTEND
99
100 public:
101 // member functions
102 // NOLINTBEGIN
103 MCAPI ~BiomeParticleKey();
104 // NOLINTEND
105
106 public:
107 // destructor thunk
108 // NOLINTBEGIN
109 MCFOLD void $dtor();
110 // NOLINTEND
111 };
112
113 struct BiomeParticleKeyHash {};
114
115 struct SkyColorLerp {
116 public:
117 // member variables
118 // NOLINTBEGIN
119 ::ll::TypedStorage<4, 16, ::mce::Color> mStartColor;
120 ::ll::TypedStorage<4, 16, ::mce::Color> mTargetColor;
121 ::ll::TypedStorage<4, 16, ::mce::Color> mCurrentColor;
122 ::ll::TypedStorage<4, 4, float> mTime;
123 // NOLINTEND
124 };
125
126 using DeferredSoundList = ::std::vector<::DeferredSound>;
127
128public:
129 // member variables
130 // NOLINTBEGIN
131 ::ll::TypedStorage<4, 4, float const> WATER_VISION_QUICK_TIME;
132 ::ll::TypedStorage<4, 4, float const> WATER_VISION_MAX_TIME;
133 ::ll::TypedStorage<4, 4, float const> WATER_VISION_QUICK_PERCENT;
134 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::cg::ImageBuffer>> mCloudsImage;
135 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::std::vector<::mce::Mesh>>> mCloudMeshes;
136 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::std::vector<::mce::Mesh>>> mCloudMeshesCurrentlyTessellating;
137 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Tessellator>> mCloudTessellator;
138 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TextureTessellator>> mCloudTextureTessellator;
139 ::ll::TypedStorage<1, 1, bool> mUpdatingClouds;
140 ::ll::TypedStorage<4, 12, ::Vec3> mLastCloudUpdatePosition;
141 ::ll::TypedStorage<1, 1, uchar> mLastCloudSide;
142 ::ll::TypedStorage<4, 4, int> mLastCloudMeshSize;
143 ::ll::TypedStorage<4, 4, int> mLastCloudGridSize;
144 ::ll::TypedStorage<4, 336, ::std::array<::DirectionalLightRenderData, 3>> mDirectionalLightRenderData;
145 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BlockPos, uint64>> mRecordSoundMap;
146 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BlockPos, ::BlockDestructInfo>> mDestroyingBlockList;
147 ::ll::TypedStorage<8, 8, double> mLastDestroyRenderTime;
148 ::ll::TypedStorage<4, 4, float> mFov;
149 ::ll::TypedStorage<4, 4, float> mOFov;
150 ::ll::TypedStorage<4, 280, ::PlayerRenderingParameters> mRenderingParameters;
151 ::ll::TypedStorage<4, 4, float> thirdDistance;
152 ::ll::TypedStorage<4, 4, float> thirdDistanceO;
153 ::ll::TypedStorage<4, 4, float> thirdRotation;
154 ::ll::TypedStorage<4, 4, float> thirdRotationO;
155 ::ll::TypedStorage<4, 4, float> thirdTilt;
156 ::ll::TypedStorage<4, 4, float> thirdTiltO;
157 ::ll::TypedStorage<4, 4, float> cameraRoll;
158 ::ll::TypedStorage<4, 4, float> cameraRollO;
159 ::ll::TypedStorage<4, 4, float> currentCameraDist;
160 ::ll::TypedStorage<4, 4, float> prevHeightOffset;
161 ::ll::TypedStorage<4, 4, float> mHeightOffsetAdjustment;
162 ::ll::TypedStorage<4, 4, float> mUnderwaterVisionTime;
163 ::ll::TypedStorage<4, 4, float> mUnderwaterVisionTimePrevious;
164 ::ll::TypedStorage<4, 4, float> mUnderwaterVisionClarity;
165 ::ll::TypedStorage<4, 4, float> mUnderwaterVisionScale;
166 ::ll::TypedStorage<4, 4, float> mUnderwaterLightLevel;
167 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> selectionBlockEntityOverlayMaterial;
168 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> selectionBlockEntityOverlayColorMaterial;
169 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> selectionOverlayMaterial;
170 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> selectionOpaqueMaterial;
171 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> selectionTwoSidedMaterial;
172 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> cracksOverlayMaterial;
173 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> cracksOverlayAlphaTestMaterial;
174 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> cracksOverlayBlockEntityMaterial;
175 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mOutlineSelectionMaterial;
176 ::ll::TypedStorage<8, 8, ::SoundMapping const&> mSounds;
177 ::ll::TypedStorage<8, 24, ::std::vector<::DeferredSound>> mDeferredSounds;
178 ::ll::TypedStorage<8, 64, ::TextureAtlasItem> uvBreakBlockItem;
179 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClientInstance;
180 ::ll::TypedStorage<8, 24, ::WeakEntityRef> mLocalUser;
181 ::ll::TypedStorage<8, 8, ::LevelRenderer&> mLevelRenderer;
182 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::SoundPlayerInterface>> mSoundPlayer;
183 ::ll::TypedStorage<8, 8, ::Level&> mLevel;
184 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::AmbientSoundController>> mAmbientSoundController;
185 ::ll::TypedStorage<4, 48, ::ListenerState> mListenerState;
186 ::ll::TypedStorage<4, 12, ::Vec3> mCameraForward;
187 ::ll::TypedStorage<4, 12, ::Vec3> mCameraUp;
188 ::ll::TypedStorage<4, 12, ::Vec3> mLastListenerPos;
189 ::ll::TypedStorage<8, 8, double> mLastListenerUpdateTime;
190 ::ll::TypedStorage<
191 8,
192 64,
193 ::std::unordered_map<
194 ::LevelRendererPlayer::BiomeParticleKey,
195 ::Bedrock::slot_map_handle<::std::unique_ptr<::ParticleSystem::ParticleEmitter>, 64, 32>,
196 ::LevelRendererPlayer::BiomeParticleKeyHash,
197 ::std::equal_to<::LevelRendererPlayer::BiomeParticleKey>>>
198 mBiomeTintedParticleEffects;
199 ::ll::TypedStorage<4, 56, ::std::optional<::LevelRendererPlayer::SkyColorLerp>> mSkyColorLerp;
200 ::ll::TypedStorage<4, 4, int> mRainSoundTime;
201 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnLevelSoundEvent;
202 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnLevelSoundEventWithVolumeAndPitch;
203 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnStopLevelSoundEvent;
204 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnStopAllLevelSoundsEvent;
205 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnStopMusicEvent;
206 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mSubtitlesOptionSubscription;
207 ::ll::TypedStorage<1, 1, bool> mSubtitlesEnabled;
208 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LevelAnimateTickHelper>> mLevelAnimateTickHelper;
209 ::ll::TypedStorage<
210 8,
211 128,
212 ::Bedrock::PubSub::Publisher<
213 void(
214 ::std::string const&,
215 ::std::optional<::std::string>,
216 ::Vec3 const&,
217 float,
218 ::Vec3 const&,
219 ::Vec3 const&
220 ),
221 ::Bedrock::PubSub::ThreadModel::MultiThreaded,
222 0>>
223 mOnSoundPlayed;
224 ::ll::TypedStorage<8, 3136, ::ServerGraphicsOverrideManager> mScriptGraphicsOverrideManager;
225 // NOLINTEND
226
227public:
228 // prevent constructor by default
229 LevelRendererPlayer& operator=(LevelRendererPlayer const&);
230 LevelRendererPlayer(LevelRendererPlayer const&);
231 LevelRendererPlayer();
232
233public:
234 // virtual functions
235 // NOLINTBEGIN
236 virtual ~LevelRendererPlayer() /*override*/;
237
238 virtual void initResources() /*override*/;
239
240 virtual void frameUpdate(::ClientFrameUpdateContext& clientFrameUpdateContext) /*override*/;
241
242 virtual void tickLevelRendererCamera() /*override*/;
243
244 virtual void tickRain() /*override*/;
245
246 virtual void onWillChangeDimension(::Player& player) /*override*/;
247
248 virtual void onDimensionChanged(::Player& player) /*override*/;
249
250 virtual void recalculateRenderDistance(float const renderDistanceScalar) /*override*/;
251
252 virtual void preRenderUpdate(
253 ::ScreenContext& screenContext,
254 ::LevelRenderPreRenderUpdateParameters& levelRenderPreRenderUpdateParameters
255 ) /*override*/;
256
257 virtual void renderBlockEntities(::BaseActorRenderContext& renderContext, bool renderAlphaLayer) /*override*/;
258
259 virtual void
260 updateViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters) /*override*/;
261
262 virtual ::NameTagRenderObjectCollection extractNameTags(::ScreenContext& screenContext) const /*override*/;
263
264 virtual void
265 callRenderNameTags(::ScreenContext& screenContext, ::ViewRenderObject const& renderObj, ::Font& font) /*override*/;
266
267 virtual ::CrackRenderObjectCollection extractCracks(::ScreenContext& screenContext) const /*override*/;
268
269 virtual void
270 callRenderCracks(::BaseActorRenderContext& renderContext, ::ViewRenderObject const& renderObj) /*override*/;
271
272 virtual bool getForceFog(::Actor const& cameraActor) const /*override*/;
273
274 virtual void setupFog(::ScreenContext& screenContext, float const skyIntensityOverride) /*override*/;
275
276 virtual void levelEvent(::SharedTypes::Legacy::LevelEvent type, ::Vec3 const& pos, int data) /*override*/;
277
278 virtual void levelEvent(::SharedTypes::Legacy::LevelEvent type, ::CompoundTag const& data) /*override*/;
279
280 virtual void addCameraListenerToRenderChunkCoordinator() /*override*/;
281
282 virtual void
283 notifyGeoChangedForAffectedEntities(::RenderChunkShared& renderChunkShared, uchar version) /*override*/;
284
285 virtual void addTerrainParticleEffect(
286 ::BlockPos const& pos,
287 ::Block const& block,
288 ::Vec3 const& emitterPosition,
289 float particleCount,
290 float velocityScalar,
291 float emitterRadius
292 ) /*override*/;
293
294 virtual void addTerrainSlideEffect(
295 ::BlockPos const& pos,
296 ::Block const& block,
297 ::Vec3 const& emitterPosition,
298 float particleCount,
299 float velocityScalar,
300 float emitterRadius
301 ) /*override*/;
302
303 virtual void addBreakingItemParticleEffect(
304 ::Vec3 const& pos,
305 ::BreakingItemParticleData const& data,
306 ::ResolvedItemIconInfo const& textureInfo
307 ) /*override*/;
308
309 virtual void addBiomeTintedParticleEffect(
310 ::HashedString const& effect,
311 ::BlockPos const& pos,
312 ::Block const& block,
313 ::std::optional<::mce::Color> overrideColor
314 ) /*override*/;
315
316 virtual float getUnderwaterVisionClarity();
317
318 virtual ::FogDefinition::DistanceSettingType _getFogDistanceSettingType() const /*override*/;
319
320 virtual ::FogDefinition::DensitySettingType _getFogDensitySettingType() const /*override*/;
321
322 virtual void _releaseRespectiveResources() /*override*/;
323
324 virtual void queueRenderEntities(
325 ::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters
326 ) /*override*/;
327
328 virtual void renderEntityEffects(::BaseActorRenderContext& renderContext) /*override*/;
329 // NOLINTEND
330
331public:
332 // member functions
333 // NOLINTBEGIN
334 MCAPI LevelRendererPlayer(
335 ::IClientInstance& clientInstance,
336 ::std::shared_ptr<::Options> options,
337 ::Level& level,
338 ::LevelRenderer& levelRenderer,
339 ::WeakEntityRef localUser,
340 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> const& soundPlayer,
341 ::Bedrock::NotNullNonOwnerPtr<::TextureAtlas const> const& terrainTexture,
342 ::SoundMapping const& sounds
343 );
344
345 MCAPI void _addTerrainEffect(
346 ::HashedString const& effectName,
347 ::BlockPos const& pos,
348 ::Block const& block,
349 ::Vec3 const& emitterPosition,
350 float particleCount,
351 float velocityScalar,
352 float emitterRadius
353 );
354
355 MCAPI void _crack(::BlockSource& region, ::Block const& block, ::BlockPos const& inPos, uchar face);
356
357 MCAPI ::CloudRenderObject _extractClouds(
358 ::ScreenContext& screenContext,
359 ::mce::framebuilder::SkyWeatherParameters const& skyWeatherParams,
360 bool vibrantEnabled
361 ) const;
362
363 MCAPI ::ActorShadowRenderObjectCollection _extractEntityShadows(::ScreenContext& screenContext) const;
364
365 MCAPI ::SkyRenderObject _extractSky(::ScreenContext& screenContext) const;
366
367 MCAPI ::TextureUVCoordinateSet _getDestructionParticlesTexture(::Block const& block);
368
369 MCAPI ::mce::MaterialPtr const& _getForcedMaterial(::BlockActor const& actor) const;
370
371 MCAPI void _onLevelSoundEvent(
372 ::SharedTypes::Legacy::LevelSoundEvent eventType,
373 ::Vec3 const& pos,
374 int data,
375 ::ActorSoundIdentifier const& actorSoundIdentifier,
376 bool isGlobal
377 );
378
379 MCAPI void _playBabySoundEvent(::Sound const& sound, ::Vec3 const& pos, ::Random& rand) const;
380
381 MCAPI void _renderHighlightSelection(
382 ::BaseActorRenderContext& renderContext,
383 ::BlockSource& region,
384 ::Block const& block,
385 ::BlockPos const& pos,
386 bool renderSecondPart,
387 bool fancyGraphics
388 ) const;
389
390 MCAPI void _renderOutlineSelection(
391 ::BaseActorRenderContext& renderContext,
392 ::Block const& block,
393 ::BlockSource& region,
394 ::BlockPos const& pos
395 ) const;
396
397 MCAPI ::Sound const& _retrieveActorSoundWithFallback(
398 ::SharedTypes::Legacy::LevelSoundEvent eventType,
399 ::SharedTypes::Legacy::LevelSoundEvent backupEventType,
400 ::ActorSoundIdentifier const& actorSoundIdentifier
401 );
402
403 MCAPI void _spawnSmokeParticles(::ParticleType particleType, ::Vec3 const& pos, int data);
404
405 MCAPI void addDestroyBlock(::BlockPos const& tp, float destroyRate);
406
407 MCAPI bool blockCanHaveCracksOverlay(::Block const& block) const;
408
409 MCAPI bool blockCanHaveSelectionOverlay(::Block const& block) const;
410
411 MCAPI void bobHurt(::Matrix& mv, float a);
412
413 MCAPI void bobView(::Matrix& mv, float a);
414
415 MCAPI void calculateDirectionalLightRenderData(
416 ::ScreenContext const& screenContext,
417 ::ViewRenderData const& renderData,
418 ::SkyRenderObject const& skyData
419 );
420
421 MCAPI ::CrackRenderObject createCrackRenderObject(
422 ::ScreenContext& screenContext,
423 ::BlockSource& region,
424 ::Block const& block,
425 ::BlockPos const& h,
426 float destroyProgress
427 ) const;
428
429 MCAPI ::ViewRenderObject createViewRenderObject(::ScreenContext& screenContext, ::SubClientId clientSubId);
430
431 MCAPI void emitGrowthParticles(::Vec3 const& pos);
432
433 MCAPI void ensureItemInHandRenderingParametersInitialized(::mce::Camera& camera);
434
435 MCAPI ::DirectionalLightRenderData getActiveDirectionalLight() const;
436
437 MCAPI float getFov(float a, bool enableVariableFOV) const;
438
439 MCAPI float getFovWithoutGameplay() const;
440
441 MCAPI ::DirectionalLightRenderData getSunState() const;
442
443 MCAPI void playSound(::std::string const& name, ::Vec3 const& pos, float volume, float pitch) const;
444
445 MCAPI void reinit(::Bedrock::NotNullNonOwnerPtr<::TextureAtlas const> const& terrainTexture);
446
447 MCAPI void setItemInHandRenderingParameters(::mce::Camera& camera);
448
449 MCAPI void setupCamera(::mce::Camera& camera, float);
450
451 MCAPI void stopMusic();
452
453 MCAPI void stopSound(::std::string const& name);
454
455 MCAPI void stopSounds();
456
457 MCAPI void tickClouds(bool tessellateBothSides, float a);
458
459 MCAPI void tickSkyColor();
460
461 MCAPI void tryReassignSoundToFallback(
462 ::SharedTypes::Legacy::LevelSoundEvent& eventType,
463 ::Sound& sound,
464 ::ActorSoundIdentifier const& actorSoundIdentifier,
465 ::std::string const& blockType,
466 ::Random& random
467 );
468
469 MCAPI void updateDestroyBlock(::BlockPos const& tp, float destroyRate);
470
471 MCAPI void updateDestroyProgress();
472
473 MCAPI void updateListenerState(float alpha);
474
475 MCAPI void updateUnderWaterVisionScale();
476 // NOLINTEND
477
478public:
479 // static functions
480 // NOLINTBEGIN
481 MCAPI static float getActorShadowOffset(::EntityContext const& entity);
482
483 MCAPI static ::TextureUVCoordinateSet getDestructionParticlesTexture(::IRandom& random, ::Block const& block);
484
485 MCAPI static float getNightVisionScale(::Mob const& camera, float a);
486
487 MCAPI static void renderCracks(
488 ::ScreenContext& screenContext,
489 ::ViewRenderData const& renderData,
490 ::CrackRenderObjectCollection const& tagCollection
491 );
492 // NOLINTEND
493
494public:
495 // constructor thunks
496 // NOLINTBEGIN
497 MCAPI void* $ctor(
498 ::IClientInstance& clientInstance,
499 ::std::shared_ptr<::Options> options,
500 ::Level& level,
501 ::LevelRenderer& levelRenderer,
502 ::WeakEntityRef localUser,
503 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> const& soundPlayer,
504 ::Bedrock::NotNullNonOwnerPtr<::TextureAtlas const> const& terrainTexture,
505 ::SoundMapping const& sounds
506 );
507 // NOLINTEND
508
509public:
510 // destructor thunk
511 // NOLINTBEGIN
512 MCAPI void $dtor();
513 // NOLINTEND
514
515public:
516 // virtual function thunks
517 // NOLINTBEGIN
518 MCAPI void $initResources();
519
520 MCAPI void $frameUpdate(::ClientFrameUpdateContext& clientFrameUpdateContext);
521
522 MCAPI void $tickLevelRendererCamera();
523
524 MCAPI void $tickRain();
525
526 MCAPI void $onWillChangeDimension(::Player& player);
527
528 MCAPI void $onDimensionChanged(::Player& player);
529
530 MCAPI void $recalculateRenderDistance(float const renderDistanceScalar);
531
532 MCAPI void $preRenderUpdate(
533 ::ScreenContext& screenContext,
534 ::LevelRenderPreRenderUpdateParameters& levelRenderPreRenderUpdateParameters
535 );
536
537 MCFOLD void $renderBlockEntities(::BaseActorRenderContext& renderContext, bool renderAlphaLayer);
538
539 MCAPI void $updateViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
540
541 MCAPI ::NameTagRenderObjectCollection $extractNameTags(::ScreenContext& screenContext) const;
542
543 MCAPI void $callRenderNameTags(::ScreenContext& screenContext, ::ViewRenderObject const& renderObj, ::Font& font);
544
545 MCAPI ::CrackRenderObjectCollection $extractCracks(::ScreenContext& screenContext) const;
546
547 MCAPI void $callRenderCracks(::BaseActorRenderContext& renderContext, ::ViewRenderObject const& renderObj);
548
549 MCAPI bool $getForceFog(::Actor const& cameraActor) const;
550
551 MCAPI void $setupFog(::ScreenContext& screenContext, float const skyIntensityOverride);
552
553 MCAPI void $levelEvent(::SharedTypes::Legacy::LevelEvent type, ::Vec3 const& pos, int data);
554
555 MCAPI void $levelEvent(::SharedTypes::Legacy::LevelEvent type, ::CompoundTag const& data);
556
557 MCFOLD void $addCameraListenerToRenderChunkCoordinator();
558
559 MCAPI void $notifyGeoChangedForAffectedEntities(::RenderChunkShared& renderChunkShared, uchar version);
560
561 MCAPI void $addTerrainParticleEffect(
562 ::BlockPos const& pos,
563 ::Block const& block,
564 ::Vec3 const& emitterPosition,
565 float particleCount,
566 float velocityScalar,
567 float emitterRadius
568 );
569
570 MCAPI void $addTerrainSlideEffect(
571 ::BlockPos const& pos,
572 ::Block const& block,
573 ::Vec3 const& emitterPosition,
574 float particleCount,
575 float velocityScalar,
576 float emitterRadius
577 );
578
579 MCAPI void $addBreakingItemParticleEffect(
580 ::Vec3 const& pos,
581 ::BreakingItemParticleData const& data,
582 ::ResolvedItemIconInfo const& textureInfo
583 );
584
585 MCAPI void $addBiomeTintedParticleEffect(
586 ::HashedString const& effect,
587 ::BlockPos const& pos,
588 ::Block const& block,
589 ::std::optional<::mce::Color> overrideColor
590 );
591
592 MCAPI float $getUnderwaterVisionClarity();
593
594 MCAPI ::FogDefinition::DistanceSettingType $_getFogDistanceSettingType() const;
595
596 MCAPI ::FogDefinition::DensitySettingType $_getFogDensitySettingType() const;
597
598 MCAPI void $_releaseRespectiveResources();
599
600 MCAPI void $queueRenderEntities(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
601
602 MCAPI void $renderEntityEffects(::BaseActorRenderContext& renderContext);
603 // NOLINTEND
604
605public:
606 // vftables
607 // NOLINTBEGIN
608 MCNAPI static void** $vftableForLevelRendererCamera();
609
610 MCNAPI static void** $vftableForPlayerListener();
611
612 MCNAPI static void** $vftableForLevelListener();
613
614 MCNAPI static void** $vftable();
615 // NOLINTEND
616};
Definition ActorSoundIdentifier.h:17
Definition Actor.h:106
Definition AmbientSoundController.h:5
Definition BaseActorRenderContext.h:5
Definition EnableNonOwnerReferences.h:7
Definition BlockActor.h:30
Definition BlockSource.h:71
Definition Block.h:43
Definition ClientFrameUpdateContext.h:5
Definition CompoundTag.h:23
Definition EntityContext.h:16
Definition Font.h:5
Definition IClientInstance.h:5
Definition IRandom.h:10
Definition LevelAnimateTickHelper.h:13
Definition LevelRendererCameraListeners.h:5
Definition LevelRendererPlayer.h:5
static MCAPI void ** $vftable()
static MCAPI void ** $vftableForLevelListener()
static MCAPI void ** $vftableForPlayerListener()
static MCAPI void ** $vftableForLevelRendererCamera()
Definition LevelRenderer.h:5
Definition Level.h:250
Definition Matrix.h:10
Definition Mob.h:51
Definition Options.h:5
Definition ParticleEmitter.h:7
Definition Player.h:129
Definition Random.h:10
Definition RenderChunkShared.h:5
Definition ScreenContext.h:5
Definition SoundMapping.h:5
Definition SoundPlayerInterface.h:21
Definition Tessellator.h:5
Definition TextureAtlas.h:5
Definition TextureTessellator.h:5
Definition Camera.h:7
Definition Mesh.h:7
Definition ActorShadowRenderObjectCollection.h:5
Definition MultiThreaded.h:12
Definition BlockDestructInfo.h:5
Definition BreakingItemParticleData.h:8
Definition CloudRenderObject.h:5
Definition CrackRenderObjectCollection.h:5
Definition CrackRenderObject.h:5
Definition DeferredSound.h:5
Definition LevelRenderPreRenderUpdateParameters.h:5
Definition LevelRendererPlayer.h:17
Definition LevelRendererPlayer.h:15
Definition LevelRendererPlayer.h:19
Definition NameTagRenderObjectCollection.h:5
Definition ResolvedItemIconInfo.h:8
Definition SkyRenderObject.h:5
Definition Sound.h:5
Definition TextureUVCoordinateSet.h:5
Definition ViewRenderData.h:5
Definition ViewRenderObject.h:5
Definition SkyWeatherParameters.h:7