LeviLamina
Loading...
Searching...
No Matches
SubChunkRelighter Class Reference

Public Types

enum class  AbsorptionBehavior : int { Default = 0 , SkyLightIgnoresWater = 1 }
enum class  SubChunkToDoBitsClearMode : int { AllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits = 0 , SetOuterEdgeOfComputationBits = 1 }
using LightPair = ::SubChunkBrightnessStorage::LightPair

Public Member Functions

MCAPI SubChunkRelighter (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const &centerChunkPos, ::SubChunkRelighter::AbsorptionBehavior absorptionBehavior, bool originalLighting, bool useFullyDarkSubchunk)
MCAPI void _checkEdgeForSubtractiveBlockLightProcessing (::SubChunkLightIndex const &coordIndex)
MCAPI void _checkEdgeForSubtractiveSkyLightProcessing (::SubChunkLightIndex const &coordIndex)
MCAPI::SubChunk * _dirtySubChunk (::SubChunkLightIndex const coordIndex, uint &subChunkIndex)
MCAPI::SubChunk * _getBlock (::SubChunkLightIndex coordIndex, ::Block const *&block, ::Block const *&extraBlock) const
MCAPI::SubChunk * _getBlock (::SubChunkLightIndex const coordIndex, ::Block const *&block, ::Block const *&extraBlock, uint &subChunkIndex) const
MCAPI void _propagateBlockLight ()
MCAPI void _propagateSkyLight ()
MCAPI void _propagateSubtractiveBlockLight ()
MCAPI void _propagateSubtractiveSkyLight ()
MCAPI void _setLightHelper (::SubChunkLightIndex coordIndex, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption, uint lightType, uint subChunkIndex)
MCAPI void _setPropagatedBlockLightValue (::SubChunkLightIndex coordIndex, uchar brightness)
MCAPI void _setPropagatedSkyLightValue (::SubChunkLightIndex coordIndex, uchar brightness)
MCAPI void _setSkyLight (::SubChunkLightIndex coordIndex, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption)
MCAPI::SubChunkBrightnessStorage::LightPair getLightPair (::Pos const &coord) const
MCAPI::SubChunkBrightnessStorage::LightPair getLightPairWithPlaceholderCheck (::Pos const &coord, ::SubChunkBrightnessStorage::LightPair const &defaultLightPairIfPlaceholderSubChunk) const
MCAPI void * $ctor (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const &centerChunkPos, ::SubChunkRelighter::AbsorptionBehavior absorptionBehavior, bool originalLighting, bool useFullyDarkSubchunk)
MCAPI void $dtor ()

Static Public Member Functions

static MCAPI void initializeStatics ()
static MCAPI ::std::bitset< 196608 > & mAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits ()
static MCAPI ::std::bitset< 196608 > & mOuterEdgeOfComputationBits ()
static MCAPI ::std::unique_ptr<::SubChunk > & sFullyDarkSubChunk ()
static MCAPI ::std::unique_ptr<::SubChunk > & sFullyLitSubChunk ()

Public Attributes

::ll::TypedStorage< 1, 1, bool > mNeedToResetToDoBits
::ll::TypedStorage< 8, 24576, ::std::bitset< 196608 > > mToDo
::ll::TypedStorage< 1, 4096, ::std::array< uchar, 4096 > > mOldAbsorption
::ll::TypedStorage< 8, 768, ::std::vector<::SubChunkLightIndex >[2][16]> mAdditiveBlocksToProcess
::ll::TypedStorage< 8, 384, ::std::vector<::SubChunkLightIndex >[16]> mEdgeBlocksToProcess
::ll::TypedStorage< 8, 384, ::std::vector<::SubChunkLightIndex >[16]> mBlocksToProcess
::ll::TypedStorage< 8, 24, ::std::vector<::SubChunkLightIndex > > mAbsorptionBlocksToProcess
::ll::TypedStorage< 8, 48, ::std::vector<::SubtractiveLightInfo >[2]> mSubtractiveBlocks
::ll::TypedStorage< 8, 384, ::SubChunk *[3][4][4]> mSubChunkPtrArray
::ll::TypedStorage< 1, 48, bool[3][4][4]> mSubChunkTouched
::ll::TypedStorage< 8, 8, ::ChunkPos > mCenterChunkPos
::ll::TypedStorage< 8, 8, uint64 > mCenterSubChunkIndex
::ll::TypedStorage< 1, 1, bool > mOriginalLighting
::ll::TypedStorage< 4, 4, ::SubChunkRelighter::AbsorptionBehavior > mAbsorptionBehavior
::ll::TypedStorage< 1, 1, ::SubChunkBrightnessStorage::LightPair > mDefaultLightPair

The documentation for this class was generated from the following file: