23class SubChunkRelighter {
26 enum class AbsorptionBehavior :
int {
28 SkyLightIgnoresWater = 1,
31 enum class SubChunkToDoBitsClearMode :
int {
32 AllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits = 0,
33 SetOuterEdgeOfComputationBits = 1,
41 ::ll::TypedStorage<1, 1, bool> mNeedToResetToDoBits;
42 ::ll::TypedStorage<8, 24576, ::std::bitset<196608>> mToDo;
43 ::ll::TypedStorage<1, 4096, ::std::array<uchar, 4096>> mOldAbsorption;
44 ::ll::TypedStorage<8, 768, ::std::vector<::SubChunkLightIndex>[2][16]> mAdditiveBlocksToProcess;
45 ::ll::TypedStorage<8, 384, ::std::vector<::SubChunkLightIndex>[16]> mEdgeBlocksToProcess;
46 ::ll::TypedStorage<8, 384, ::std::vector<::SubChunkLightIndex>[16]> mBlocksToProcess;
47 ::ll::TypedStorage<8, 24, ::std::vector<::SubChunkLightIndex>> mAbsorptionBlocksToProcess;
48 ::ll::TypedStorage<8, 48, ::std::vector<::SubtractiveLightInfo>[2]> mSubtractiveBlocks;
49 ::ll::TypedStorage<8, 384, ::SubChunk* [3][4][4]> mSubChunkPtrArray;
50 ::ll::TypedStorage<1, 48, bool[3][4][4]> mSubChunkTouched;
51 ::ll::TypedStorage<8, 8, ::ChunkPos> mCenterChunkPos;
52 ::ll::TypedStorage<8, 8, uint64> mCenterSubChunkIndex;
53 ::ll::TypedStorage<1, 1, bool> mOriginalLighting;
54 ::ll::TypedStorage<4, 4, ::SubChunkRelighter::AbsorptionBehavior> mAbsorptionBehavior;
55 ::ll::TypedStorage<1, 1, ::SubChunkBrightnessStorage::LightPair> mDefaultLightPair;
67 uint64 centerSubChunkIndex,
69 ::SubChunkRelighter::AbsorptionBehavior absorptionBehavior,
70 bool originalLighting,
71 bool useFullyDarkSubchunk
120 MCNAPI
void relightSubChunk(
122 ::std::vector<::SubChunkLightUpdate>
const& alteredBlockList,
123 ::std::vector<::BlockPos>& brightnessChangedList
136 MCNAPI
static void shutdownStatics();
157 uint64 centerSubChunkIndex,
159 ::SubChunkRelighter::AbsorptionBehavior absorptionBehavior,
160 bool originalLighting,
161 bool useFullyDarkSubchunk
MCAPI void _setLightHelper(::SubChunkLightIndex coordIndex, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption, uint lightType, uint subChunkIndex)
MCAPI void * $ctor(::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const ¢erChunkPos, ::SubChunkRelighter::AbsorptionBehavior absorptionBehavior, bool originalLighting, bool useFullyDarkSubchunk)
MCAPI SubChunkRelighter(::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const ¢erChunkPos, ::SubChunkRelighter::AbsorptionBehavior absorptionBehavior, bool originalLighting, bool useFullyDarkSubchunk)