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