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

Public Types

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

Public Member Functions

MCAPI SubChunkRelighter (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const &centerChunkPos, bool originalLighting, bool useFullyDarkSubchunk)
 
MCAPI void _checkEdgeForSubtractiveBlockLightProcessing (::SubChunkLightIndex const &coordIndex)
 
MCAPI void _checkEdgeForSubtractiveSkyLightProcessing (::SubChunkLightIndex const &coordIndex)
 
MCAPI::SubChunk * _dirtySubChunk (::SubChunkLightIndex coordIndex, uint &subChunkIndex)
 
MCAPI::SubChunk * _getBlock (::SubChunkLightIndex coordIndex, ::Block const *&block, ::Block const *&extraBlock) const
 
MCAPI::SubChunkBrightnessStorage::LightPair _getLightPair (::SubChunkLightIndex coordIndex) const
 
MCAPI void _propagateBlockLight ()
 
MCAPI void _propagateBlockLight (::SubChunkLightIndex coordIndex, uchar brightness)
 
MCAPI void _propagateSkyLight ()
 
MCAPI void _propagateSkyLight (::SubChunkLightIndex coordIndex, uchar brightness)
 
MCAPI void _propagateSubtractiveBlockLight ()
 
MCAPI void _propagateSubtractiveBlockLight (::SubChunkLightIndex coordIndex, uchar effectiveBrightness)
 
MCAPI void _propagateSubtractiveSkyLight ()
 
MCAPI void _propagateSubtractiveSkyLight (::SubChunkLightIndex coordIndex, uchar effectiveBrightness)
 
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 void relightSubChunk (::LevelChunk const &levelChunk, ::std::vector<::SubChunkLightUpdate > const &alteredBlockList, ::std::vector<::BlockPos > &brightnessChangedList)
 
MCAPI void setBlockLight (::Pos const &pos, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption)
 
MCAPI ~SubChunkRelighter ()
 
MCAPI void * $ctor (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const &centerChunkPos, bool originalLighting, bool useFullyDarkSubchunk)
 
MCAPI void $dtor ()
 

Static Public Member Functions

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

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, ::ChunkPosmCenterChunkPos
 
::ll::TypedStorage< 8, 8, uint64 > mCenterSubChunkIndex
 
::ll::TypedStorage< 1, 1, bool > mOriginalLighting
 
::ll::TypedStorage< 1, 1, ::SubChunkBrightnessStorage::LightPairmDefaultLightPair
 

Constructor & Destructor Documentation

◆ SubChunkRelighter()

MCAPI SubChunkRelighter::SubChunkRelighter ( ::IBlockSource & source,
uint64 centerSubChunkIndex,
::ChunkPos const & centerChunkPos,
bool originalLighting,
bool useFullyDarkSubchunk )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ ~SubChunkRelighter()

MCAPI SubChunkRelighter::~SubChunkRelighter ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

Member Function Documentation

◆ _checkEdgeForSubtractiveBlockLightProcessing()

MCAPI void SubChunkRelighter::_checkEdgeForSubtractiveBlockLightProcessing ( ::SubChunkLightIndex const & coordIndex)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _checkEdgeForSubtractiveSkyLightProcessing()

MCAPI void SubChunkRelighter::_checkEdgeForSubtractiveSkyLightProcessing ( ::SubChunkLightIndex const & coordIndex)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _dirtySubChunk()

MCAPI::SubChunk * SubChunkRelighter::_dirtySubChunk ( ::SubChunkLightIndex coordIndex,
uint & subChunkIndex )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getBlock()

MCAPI::SubChunk * SubChunkRelighter::_getBlock ( ::SubChunkLightIndex coordIndex,
::Block const *& block,
::Block const *& extraBlock ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getLightPair()

MCAPI::SubChunkBrightnessStorage::LightPair SubChunkRelighter::_getLightPair ( ::SubChunkLightIndex coordIndex) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateBlockLight() [1/2]

MCAPI void SubChunkRelighter::_propagateBlockLight ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateBlockLight() [2/2]

MCAPI void SubChunkRelighter::_propagateBlockLight ( ::SubChunkLightIndex coordIndex,
uchar brightness )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateSkyLight() [1/2]

MCAPI void SubChunkRelighter::_propagateSkyLight ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateSkyLight() [2/2]

MCAPI void SubChunkRelighter::_propagateSkyLight ( ::SubChunkLightIndex coordIndex,
uchar brightness )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateSubtractiveBlockLight() [1/2]

MCAPI void SubChunkRelighter::_propagateSubtractiveBlockLight ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateSubtractiveBlockLight() [2/2]

MCAPI void SubChunkRelighter::_propagateSubtractiveBlockLight ( ::SubChunkLightIndex coordIndex,
uchar effectiveBrightness )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateSubtractiveSkyLight() [1/2]

MCAPI void SubChunkRelighter::_propagateSubtractiveSkyLight ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _propagateSubtractiveSkyLight() [2/2]

MCAPI void SubChunkRelighter::_propagateSubtractiveSkyLight ( ::SubChunkLightIndex coordIndex,
uchar effectiveBrightness )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _setLightHelper()

MCAPI void SubChunkRelighter::_setLightHelper ( ::SubChunkLightIndex coordIndex,
::Brightness oldBrightness,
::Brightness newBrightness,
::Brightness oldAbsorption,
::Brightness newAbsorption,
uint lightType,
uint subChunkIndex )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _setPropagatedBlockLightValue()

MCAPI void SubChunkRelighter::_setPropagatedBlockLightValue ( ::SubChunkLightIndex coordIndex,
uchar brightness )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _setPropagatedSkyLightValue()

MCAPI void SubChunkRelighter::_setPropagatedSkyLightValue ( ::SubChunkLightIndex coordIndex,
uchar brightness )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _setSkyLight()

MCAPI void SubChunkRelighter::_setSkyLight ( ::SubChunkLightIndex coordIndex,
::Brightness oldBrightness,
::Brightness newBrightness,
::Brightness oldAbsorption,
::Brightness newAbsorption )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ relightSubChunk()

MCAPI void SubChunkRelighter::relightSubChunk ( ::LevelChunk const & levelChunk,
::std::vector<::SubChunkLightUpdate > const & alteredBlockList,
::std::vector<::BlockPos > & brightnessChangedList )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ setBlockLight()

MCAPI void SubChunkRelighter::setBlockLight ( ::Pos const & pos,
::Brightness oldBrightness,
::Brightness newBrightness,
::Brightness oldAbsorption,
::Brightness newAbsorption )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ computeAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits()

static MCAPI ::std::bitset< 196608 > SubChunkRelighter::computeAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ computeOuterEdgeOfComputationBits()

static MCAPI ::std::bitset< 196608 > SubChunkRelighter::computeOuterEdgeOfComputationBits ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ initializeStatics()

static MCAPI void SubChunkRelighter::initializeStatics ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ mAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits()

static MCAPI ::std::bitset< 196608 > & SubChunkRelighter::mAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ mOuterEdgeOfComputationBits()

static MCAPI ::std::bitset< 196608 > & SubChunkRelighter::mOuterEdgeOfComputationBits ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ sDarkSpinLock()

static MCAPI ::SpinLockImpl & SubChunkRelighter::sDarkSpinLock ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ sFullyDarkSubChunk()

static MCAPI ::std::unique_ptr<::SubChunk > & SubChunkRelighter::sFullyDarkSubChunk ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ sFullyLitSubChunk()

static MCAPI ::std::unique_ptr<::SubChunk > & SubChunkRelighter::sFullyLitSubChunk ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ sLitSpinLock()

static MCAPI ::SpinLockImpl & SubChunkRelighter::sLitSpinLock ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $ctor()

MCAPI void * SubChunkRelighter::$ctor ( ::IBlockSource & source,
uint64 centerSubChunkIndex,
::ChunkPos const & centerChunkPos,
bool originalLighting,
bool useFullyDarkSubchunk )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $dtor()

MCAPI void SubChunkRelighter::$dtor ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

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