public class SkyLightStorage extends LightStorage<SkyLightStorage.Data>
Modifier and Type | Class and Description |
---|---|
static class |
SkyLightStorage.Data |
Modifier and Type | Field and Description |
---|---|
private it.unimi.dsi.fastutil.longs.LongSet |
enabledColumns |
private it.unimi.dsi.fastutil.longs.LongSet |
field_15820 |
private boolean |
hasUpdates |
private static Direction[] |
LIGHT_REDUCTION_DIRECTIONS |
private it.unimi.dsi.fastutil.longs.LongSet |
sectionsToRemove |
private it.unimi.dsi.fastutil.longs.LongSet |
sectionsToUpdate |
dirtySections, EMPTY, hasLightUpdates, markedNotReadySections, markedReadySections, notifySections, queuedSections, readySections, storage, uncachedStorage
Modifier | Constructor and Description |
---|---|
protected |
SkyLightStorage(ChunkProvider chunkProvider) |
Modifier and Type | Method and 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) |
enqueueSectionData, get, getInitialLevel, getLevel, getLightSection, getLightSection, getLightSection, hasSection, notifyChanges, removeSection, set, setLevel, setRetainColumn, setSectionStatus, updateAll
getPropagatedLevel, isMarker, propagateLevel, recalculateLevel, update
applyPendingUpdates, getPendingUpdateCount, hasPendingUpdates, propagateLevel, removePendingUpdate, removePendingUpdateIf, resetLevel, updateLevel
private static final Direction[] LIGHT_REDUCTION_DIRECTIONS
private final it.unimi.dsi.fastutil.longs.LongSet field_15820
private final it.unimi.dsi.fastutil.longs.LongSet sectionsToUpdate
private final it.unimi.dsi.fastutil.longs.LongSet sectionsToRemove
private final it.unimi.dsi.fastutil.longs.LongSet enabledColumns
private volatile boolean hasUpdates
protected SkyLightStorage(ChunkProvider chunkProvider)
protected int getLight(long blockPos)
getLight
in class LightStorage<SkyLightStorage.Data>
protected void onLoadSection(long sectionPos)
onLoadSection
in class LightStorage<SkyLightStorage.Data>
private void enqueueRemoveSection(long sectionPos)
private void enqueueAddSection(long sectionPos)
private void checkForUpdates()
protected void onUnloadSection(long sectionPos)
onUnloadSection
in class LightStorage<SkyLightStorage.Data>
protected void setColumnEnabled(long columnPos, boolean enabled)
setColumnEnabled
in class LightStorage<SkyLightStorage.Data>
protected boolean hasLightUpdates()
hasLightUpdates
in class LightStorage<SkyLightStorage.Data>
protected ChunkNibbleArray createSection(long sectionPos)
createSection
in class LightStorage<SkyLightStorage.Data>
protected void updateLight(ChunkLightProvider<SkyLightStorage.Data,?> lightProvider, boolean doSkylight, boolean skipEdgeLightPropagation)
updateLight
in class LightStorage<SkyLightStorage.Data>
protected boolean isAboveMinHeight(int sectionY)
protected boolean isTopmostBlock(long blockPos)
protected boolean isAtOrAboveTopmostSection(long sectionPos)
protected boolean isSectionEnabled(long sectionPos)