Package net.minecraft.world.chunk.light
Class SkyLightStorage
java.lang.Object
net.minecraft.world.chunk.light.LevelPropagator
net.minecraft.world.SectionDistanceLevelPropagator
net.minecraft.world.chunk.light.LightStorage<SkyLightStorage.Data>
net.minecraft.world.chunk.light.SkyLightStorage
public class SkyLightStorage extends LightStorage<SkyLightStorage.Data>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SkyLightStorage.Data
-
Field Summary
Fields Modifier and Type Field Description private LongSet
enabledColumns
private LongSet
field_15820
private boolean
hasUpdates
private static Direction[]
LIGHT_REDUCTION_DIRECTIONS
private LongSet
sectionsToRemove
private LongSet
sectionsToUpdate
Fields inherited from class net.minecraft.world.chunk.light.LightStorage
dirtySections, EMPTY, hasLightUpdates, markedNotReadySections, markedReadySections, notifySections, queuedSections, readySections, storage, uncachedStorage
-
Constructor Summary
Constructors Modifier Constructor Description protected
SkyLightStorage(ChunkProvider chunkProvider)
-
Method Summary
Modifier and Type Method Description private void
checkForUpdates()
protected ChunkNibbleArray
createSection(long sectionPos)
private void
enqueueAddSection(long sectionPos)
private void
enqueueRemoveSection(long sectionPos)
protected int
getLight(long blockPos)
protected boolean
hasLightUpdates()
protected boolean
isAboveMinHeight(int sectionY)
protected boolean
isAtOrAboveTopmostSection(long sectionPos)
protected boolean
isSectionEnabled(long sectionPos)
protected boolean
isTopmostBlock(long blockPos)
protected void
onLoadSection(long sectionPos)
protected void
onUnloadSection(long sectionPos)
protected void
setColumnEnabled(long columnPos, boolean enabled)
protected void
updateLight(ChunkLightProvider<SkyLightStorage.Data,?> lightProvider, boolean doSkylight, boolean skipEdgeLightPropagation)
Methods inherited from class net.minecraft.world.chunk.light.LightStorage
enqueueSectionData, get, getInitialLevel, getLevel, getLightSection, getLightSection, getLightSection, hasSection, notifyChanges, removeSection, set, setLevel, setRetainColumn, setSectionStatus, updateAll
Methods inherited from class net.minecraft.world.SectionDistanceLevelPropagator
getPropagatedLevel, isMarker, propagateLevel, recalculateLevel, update
Methods inherited from class net.minecraft.world.chunk.light.LevelPropagator
applyPendingUpdates, getPendingUpdateCount, hasPendingUpdates, propagateLevel, removePendingUpdate, removePendingUpdateIf, resetLevel, updateLevel
-
Field Details
-
LIGHT_REDUCTION_DIRECTIONS
-
field_15820
-
sectionsToUpdate
-
sectionsToRemove
-
enabledColumns
-
hasUpdates
private volatile boolean hasUpdates
-
-
Constructor Details
-
SkyLightStorage
-
-
Method Details
-
getLight
protected int getLight(long blockPos)- Specified by:
getLight
in classLightStorage<SkyLightStorage.Data>
-
onLoadSection
protected void onLoadSection(long sectionPos)- Overrides:
onLoadSection
in classLightStorage<SkyLightStorage.Data>
-
enqueueRemoveSection
private void enqueueRemoveSection(long sectionPos) -
enqueueAddSection
private void enqueueAddSection(long sectionPos) -
checkForUpdates
private void checkForUpdates() -
onUnloadSection
protected void onUnloadSection(long sectionPos)- Overrides:
onUnloadSection
in classLightStorage<SkyLightStorage.Data>
-
setColumnEnabled
protected void setColumnEnabled(long columnPos, boolean enabled)- Overrides:
setColumnEnabled
in classLightStorage<SkyLightStorage.Data>
-
hasLightUpdates
protected boolean hasLightUpdates()- Overrides:
hasLightUpdates
in classLightStorage<SkyLightStorage.Data>
-
createSection
- Overrides:
createSection
in classLightStorage<SkyLightStorage.Data>
-
updateLight
protected void updateLight(ChunkLightProvider<SkyLightStorage.Data,?> lightProvider, boolean doSkylight, boolean skipEdgeLightPropagation)- Overrides:
updateLight
in classLightStorage<SkyLightStorage.Data>
-
isAboveMinHeight
protected boolean isAboveMinHeight(int sectionY) -
isTopmostBlock
protected boolean isTopmostBlock(long blockPos) -
isAtOrAboveTopmostSection
protected boolean isAtOrAboveTopmostSection(long sectionPos) -
isSectionEnabled
protected boolean isSectionEnabled(long sectionPos)
-