类 LightEngine<M extends DataLayerStorageMap<M>,S extends LayerLightSectionStorage<M>>

java.lang.Object
net.minecraft.world.level.lighting.LightEngine<M,S>
所有已实现的接口:
LayerLightEventListener, LightEventListener
直接已知子类:
BlockLightEngine, SkyLightEngine

public abstract class LightEngine<M extends DataLayerStorageMap<M>,S extends LayerLightSectionStorage<M>> extends Object implements LayerLightEventListener
  • 字段详细资料

    • MAX_LEVEL

      public static final int MAX_LEVEL
      另请参阅:
    • MIN_OPACITY

      protected static final int MIN_OPACITY
      另请参阅:
    • PULL_LIGHT_IN_ENTRY

      protected static final long PULL_LIGHT_IN_ENTRY
    • MIN_QUEUE_SIZE

      private static final int MIN_QUEUE_SIZE
      另请参阅:
    • PROPAGATION_DIRECTIONS

      protected static final Direction[] PROPAGATION_DIRECTIONS
    • chunkSource

      protected final LightChunkGetter chunkSource
    • storage

      protected final S extends LayerLightSectionStorage<M> storage
    • blockNodesToCheck

      private final it.unimi.dsi.fastutil.longs.LongOpenHashSet blockNodesToCheck
    • decreaseQueue

      private final it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue decreaseQueue
    • increaseQueue

      private final it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue increaseQueue
    • CACHE_SIZE

      private static final int CACHE_SIZE
      另请参阅:
    • lastChunkPos

      private final long[] lastChunkPos
    • lastChunk

      private final LightChunk[] lastChunk
  • 构造器详细资料

  • 方法详细资料

    • hasDifferentLightProperties

      public static boolean hasDifferentLightProperties(BlockState p_285110_, BlockState p_285372_)
    • getLightBlockInto

      public static int getLightBlockInto(BlockState p_285453_, BlockState p_285318_, Direction p_285196_, int p_285248_)
    • getOcclusionShape

      public static VoxelShape getOcclusionShape(BlockState p_285136_, Direction p_285376_)
    • isEmptyShape

      protected static boolean isEmptyShape(BlockState p_285133_)
    • getState

      protected BlockState getState(BlockPos p_285338_)
    • getOpacity

      protected int getOpacity(BlockState p_285084_)
    • shapeOccludes

      protected boolean shapeOccludes(BlockState p_285154_, BlockState p_285155_, Direction p_285327_)
    • getChunk

      @Nullable protected LightChunk getChunk(int p_284967_, int p_285447_)
    • clearChunkCache

      private void clearChunkCache()
    • checkBlock

      public void checkBlock(BlockPos p_285352_)
      指定者:
      checkBlock 在接口中 LightEventListener
    • queueSectionData

      public void queueSectionData(long p_285221_, @Nullable DataLayer p_285427_)
    • retainData

      public void retainData(ChunkPos p_285314_, boolean p_284937_)
    • updateSectionStatus

      public void updateSectionStatus(SectionPos p_285167_, boolean p_284934_)
      指定者:
      updateSectionStatus 在接口中 LightEventListener
    • setLightEnabled

      public void setLightEnabled(ChunkPos p_285116_, boolean p_285522_)
      指定者:
      setLightEnabled 在接口中 LightEventListener
    • runLightUpdates

      public int runLightUpdates()
      指定者:
      runLightUpdates 在接口中 LightEventListener
    • propagateIncreases

      private int propagateIncreases()
    • propagateDecreases

      private int propagateDecreases()
    • enqueueDecrease

      protected void enqueueDecrease(long p_285228_, long p_285464_)
    • enqueueIncrease

      protected void enqueueIncrease(long p_285223_, long p_285022_)
    • hasLightWork

      public boolean hasLightWork()
      指定者:
      hasLightWork 在接口中 LightEventListener
    • getDataLayerData

      @Nullable public DataLayer getDataLayerData(SectionPos p_285093_)
      指定者:
      getDataLayerData 在接口中 LayerLightEventListener
    • getLightValue

      public int getLightValue(BlockPos p_285149_)
      指定者:
      getLightValue 在接口中 LayerLightEventListener
    • getDebugData

      public String getDebugData(long p_285363_)
    • getDebugSectionType

      public LayerLightSectionStorage.SectionType getDebugSectionType(long p_285320_)
    • checkNode

      protected abstract void checkNode(long p_285507_)
    • propagateIncrease

      protected abstract void propagateIncrease(long p_285325_, long p_285026_, int p_285197_)
    • propagateDecrease

      protected abstract void propagateDecrease(long p_284941_, long p_285213_)