Class LayerLightSectionStorage<M extends DataLayerStorageMap<M>>

Direct Known Subclasses:
BlockLightSectionStorage, SkyLightSectionStorage

public abstract class LayerLightSectionStorage<M extends DataLayerStorageMap<M>> extends SectionTracker
  • Field Details

    • LIGHT_AND_DATA

      protected static final int LIGHT_AND_DATA
      See Also:
    • LIGHT_ONLY

      protected static final int LIGHT_ONLY
      See Also:
    • EMPTY

      protected static final int EMPTY
      See Also:
    • EMPTY_DATA

      protected static final DataLayer EMPTY_DATA
    • DIRECTIONS

      private static final Direction[] DIRECTIONS
    • layer

      private final LightLayer layer
    • chunkSource

      private final LightChunkGetter chunkSource
    • dataSectionSet

      protected final it.unimi.dsi.fastutil.longs.LongSet dataSectionSet
    • toMarkNoData

      protected final it.unimi.dsi.fastutil.longs.LongSet toMarkNoData
    • toMarkData

      protected final it.unimi.dsi.fastutil.longs.LongSet toMarkData
    • visibleSectionData

      protected volatile M extends DataLayerStorageMap<M> visibleSectionData
    • updatingSectionData

      protected final M extends DataLayerStorageMap<M> updatingSectionData
    • changedSections

      protected final it.unimi.dsi.fastutil.longs.LongSet changedSections
    • sectionsAffectedByLightUpdates

      protected final it.unimi.dsi.fastutil.longs.LongSet sectionsAffectedByLightUpdates
    • queuedSections

      protected final it.unimi.dsi.fastutil.longs.Long2ObjectMap<DataLayer> queuedSections
    • untrustedSections

      private final it.unimi.dsi.fastutil.longs.LongSet untrustedSections
    • columnsToRetainQueuedDataFor

      private final it.unimi.dsi.fastutil.longs.LongSet columnsToRetainQueuedDataFor
    • toRemove

      private final it.unimi.dsi.fastutil.longs.LongSet toRemove
    • hasToRemove

      protected volatile boolean hasToRemove
  • Constructor Details

  • Method Details

    • storingLightForSection

      protected boolean storingLightForSection(long p_75792_)
    • getDataLayer

      @Nullable protected DataLayer getDataLayer(long p_75759_, boolean p_75760_)
    • getDataLayer

      @Nullable protected DataLayer getDataLayer(M p_75762_, long p_75763_)
    • getDataLayerData

      @Nullable public DataLayer getDataLayerData(long p_75794_)
    • getLightValue

      protected abstract int getLightValue(long p_75786_)
    • getStoredLevel

      protected int getStoredLevel(long p_75796_)
    • setStoredLevel

      protected void setStoredLevel(long p_75773_, int p_75774_)
    • getLevel

      protected int getLevel(long p_75781_)
      Specified by:
      getLevel in class DynamicGraphMinFixedPoint
    • getLevelFromSource

      protected int getLevelFromSource(long p_75771_)
      Specified by:
      getLevelFromSource in class SectionTracker
    • setLevel

      protected void setLevel(long p_75749_, int p_75750_)
      Specified by:
      setLevel in class DynamicGraphMinFixedPoint
    • createDataLayer

      protected DataLayer createDataLayer(long p_75797_)
    • clearQueuedSectionBlocks

      protected void clearQueuedSectionBlocks(LayerLightEngine<?,?> p_75765_, long p_75766_)
    • hasInconsistencies

      protected boolean hasInconsistencies()
    • markNewInconsistencies

      protected void markNewInconsistencies(LayerLightEngine<M,?> p_75767_, boolean p_75768_, boolean p_75769_)
    • checkEdgesForSection

      private void checkEdgesForSection(LayerLightEngine<M,?> p_75778_, long p_75779_)
    • onNodeAdded

      protected void onNodeAdded(long p_75798_)
    • onNodeRemoved

      protected void onNodeRemoved(long p_75799_)
    • enableLightSources

      protected void enableLightSources(long p_75775_, boolean p_75776_)
    • retainData

      public void retainData(long p_75783_, boolean p_75784_)
    • queueSectionData

      protected void queueSectionData(long p_75755_, @Nullable DataLayer p_75756_, boolean p_75757_)
    • updateSectionStatus

      protected void updateSectionStatus(long p_75788_, boolean p_75789_)
    • runAllUpdates

      protected void runAllUpdates()
    • swapSectionMap

      protected void swapSectionMap()