Class ChunkLightProvider<M extends ChunkToNibbleArrayMap<M>,S extends LightStorage<M>>

java.lang.Object
net.minecraft.world.chunk.light.LevelPropagator
net.minecraft.world.chunk.light.ChunkLightProvider<M,S>
All Implemented Interfaces:
ChunkLightingView, LightingView
Direct Known Subclasses:
ChunkBlockLightProvider, ChunkSkyLightProvider

public abstract class ChunkLightProvider<M extends ChunkToNibbleArrayMap<M>,S extends LightStorage<M>> extends LevelPropagator implements ChunkLightingView
Mappings:
Namespace Name
official dpj
intermediary net/minecraft/class_3558
named net/minecraft/world/chunk/light/ChunkLightProvider
  • Field Details

    • field_31708

      public static final long field_31708
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldpj;a:J
      intermediary field_31708 Lnet/minecraft/class_3558;field_31708:J
      named field_31708 Lnet/minecraft/world/chunk/light/ChunkLightProvider;field_31708:J
    • DIRECTIONS

      private static final Direction[] DIRECTIONS
      Mappings:
      Namespace Name Mixin selector
      official f Ldpj;f:[Lgy;
      intermediary field_16513 Lnet/minecraft/class_3558;field_16513:[Lnet/minecraft/class_2350;
      named DIRECTIONS Lnet/minecraft/world/chunk/light/ChunkLightProvider;DIRECTIONS:[Lnet/minecraft/util/math/Direction;
    • field_31709

      private static final int field_31709
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official h Ldpj;h:I
      intermediary field_31709 Lnet/minecraft/class_3558;field_31709:I
      named field_31709 Lnet/minecraft/world/chunk/light/ChunkLightProvider;field_31709:I
    • chunkProvider

      protected final ChunkProvider chunkProvider
      Mappings:
      Namespace Name Mixin selector
      official b Ldpj;b:Lcxv;
      intermediary field_15795 Lnet/minecraft/class_3558;field_15795:Lnet/minecraft/class_2823;
      named chunkProvider Lnet/minecraft/world/chunk/light/ChunkLightProvider;chunkProvider:Lnet/minecraft/world/chunk/ChunkProvider;
    • type

      protected final LightType type
      Mappings:
      Namespace Name Mixin selector
      official c Ldpj;c:Lchg;
      intermediary field_15792 Lnet/minecraft/class_3558;field_15792:Lnet/minecraft/class_1944;
      named type Lnet/minecraft/world/chunk/light/ChunkLightProvider;type:Lnet/minecraft/world/LightType;
    • lightStorage

      protected final S extends LightStorage<M> lightStorage
      Mappings:
      Namespace Name Mixin selector
      official d Ldpj;d:Ldpl;
      intermediary field_15793 Lnet/minecraft/class_3558;field_15793:Lnet/minecraft/class_3560;
      named lightStorage Lnet/minecraft/world/chunk/light/ChunkLightProvider;lightStorage:Lnet/minecraft/world/chunk/light/LightStorage;
    • field_15794

      private boolean field_15794
      Mappings:
      Namespace Name Mixin selector
      official g Ldpj;g:Z
      intermediary field_15794 Lnet/minecraft/class_3558;field_15794:Z
      named field_15794 Lnet/minecraft/world/chunk/light/ChunkLightProvider;field_15794:Z
    • reusableBlockPos

      protected final BlockPos.Mutable reusableBlockPos
      Mappings:
      Namespace Name Mixin selector
      official e Ldpj;e:Lgt$a;
      intermediary field_19284 Lnet/minecraft/class_3558;field_19284:Lnet/minecraft/class_2338$class_2339;
      named reusableBlockPos Lnet/minecraft/world/chunk/light/ChunkLightProvider;reusableBlockPos:Lnet/minecraft/util/math/BlockPos$Mutable;
    • cachedChunkPositions

      private final long[] cachedChunkPositions
      Mappings:
      Namespace Name Mixin selector
      official i Ldpj;i:[J
      intermediary field_17397 Lnet/minecraft/class_3558;field_17397:[J
      named cachedChunkPositions Lnet/minecraft/world/chunk/light/ChunkLightProvider;cachedChunkPositions:[J
    • cachedChunks

      private final BlockView[] cachedChunks
      Mappings:
      Namespace Name Mixin selector
      official j Ldpj;j:[Lcgd;
      intermediary field_17398 Lnet/minecraft/class_3558;field_17398:[Lnet/minecraft/class_1922;
      named cachedChunks Lnet/minecraft/world/chunk/light/ChunkLightProvider;cachedChunks:[Lnet/minecraft/world/BlockView;
  • Constructor Details

    • ChunkLightProvider

      public ChunkLightProvider(ChunkProvider chunkProvider, LightType type, S lightStorage)
      Mappings:
      Namespace Name Mixin selector
      official <init> Ldpj;<init>(Lcxv;Lchg;Ldpl;)V
      intermediary <init> Lnet/minecraft/class_3558;<init>(Lnet/minecraft/class_2823;Lnet/minecraft/class_1944;Lnet/minecraft/class_3560;)V
      named <init> Lnet/minecraft/world/chunk/light/ChunkLightProvider;<init>(Lnet/minecraft/world/chunk/ChunkProvider;Lnet/minecraft/world/LightType;Lnet/minecraft/world/chunk/light/LightStorage;)V
  • Method Details

    • resetLevel

      protected void resetLevel(long id)
      Overrides:
      resetLevel in class LevelPropagator
      Mappings:
      Namespace Name Mixin selector
      official f Ldpi;f(J)V
      intermediary method_15491 Lnet/minecraft/class_3554;method_15491(J)V
      named resetLevel Lnet/minecraft/world/chunk/light/LevelPropagator;resetLevel(J)V
    • getChunk

      @Nullable private @Nullable BlockView getChunk(int chunkX, int chunkZ)
      Mappings:
      Namespace Name Mixin selector
      official a Ldpj;a(II)Lcgd;
      intermediary method_17529 Lnet/minecraft/class_3558;method_17529(II)Lnet/minecraft/class_1922;
      named getChunk Lnet/minecraft/world/chunk/light/ChunkLightProvider;getChunk(II)Lnet/minecraft/world/BlockView;
    • clearChunkCache

      private void clearChunkCache()
      Mappings:
      Namespace Name Mixin selector
      official d Ldpj;d()V
      intermediary method_17530 Lnet/minecraft/class_3558;method_17530()V
      named clearChunkCache Lnet/minecraft/world/chunk/light/ChunkLightProvider;clearChunkCache()V
    • getStateForLighting

      protected BlockState getStateForLighting(long pos, @Nullable @Nullable MutableInt opacity)
      Mappings:
      Namespace Name Mixin selector
      official a Ldpj;a(JLorg/apache/commons/lang3/mutable/MutableInt;)Lcvo;
      intermediary method_20479 Lnet/minecraft/class_3558;method_20479(JLorg/apache/commons/lang3/mutable/MutableInt;)Lnet/minecraft/class_2680;
      named getStateForLighting Lnet/minecraft/world/chunk/light/ChunkLightProvider;getStateForLighting(JLorg/apache/commons/lang3/mutable/MutableInt;)Lnet/minecraft/block/BlockState;
    • getOpaqueShape

      protected VoxelShape getOpaqueShape(BlockState world, long pos, Direction facing)
      Mappings:
      Namespace Name Mixin selector
      official a Ldpj;a(Lcvo;JLgy;)Ldxj;
      intermediary method_20710 Lnet/minecraft/class_3558;method_20710(Lnet/minecraft/class_2680;JLnet/minecraft/class_2350;)Lnet/minecraft/class_265;
      named getOpaqueShape Lnet/minecraft/world/chunk/light/ChunkLightProvider;getOpaqueShape(Lnet/minecraft/block/BlockState;JLnet/minecraft/util/math/Direction;)Lnet/minecraft/util/shape/VoxelShape;
    • getRealisticOpacity

      public static int getRealisticOpacity(BlockView world, BlockState state1, BlockPos pos1, BlockState state2, BlockPos pos2, Direction direction, int opacity2)
      Mappings:
      Namespace Name Mixin selector
      official a Ldpj;a(Lcgd;Lcvo;Lgt;Lcvo;Lgt;Lgy;I)I
      intermediary method_20049 Lnet/minecraft/class_3558;method_20049(Lnet/minecraft/class_1922;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;I)I
      named getRealisticOpacity Lnet/minecraft/world/chunk/light/ChunkLightProvider;getRealisticOpacity(Lnet/minecraft/world/BlockView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;I)I
    • isMarker

      protected boolean isMarker(long id)
      Specified by:
      isMarker in class LevelPropagator
      Mappings:
      Namespace Name Mixin selector
      official a Ldpi;a(J)Z
      intermediary method_15494 Lnet/minecraft/class_3554;method_15494(J)Z
      named isMarker Lnet/minecraft/world/chunk/light/LevelPropagator;isMarker(J)Z
    • recalculateLevel

      protected int recalculateLevel(long id, long excludedId, int maxLevel)
      Specified by:
      recalculateLevel in class LevelPropagator
      Mappings:
      Namespace Name Mixin selector
      official a Ldpi;a(JJI)I
      intermediary method_15486 Lnet/minecraft/class_3554;method_15486(JJI)I
      named recalculateLevel Lnet/minecraft/world/chunk/light/LevelPropagator;recalculateLevel(JJI)I
    • getLevel

      protected int getLevel(long id)
      Specified by:
      getLevel in class LevelPropagator
      Mappings:
      Namespace Name Mixin selector
      official c Ldpi;c(J)I
      intermediary method_15480 Lnet/minecraft/class_3554;method_15480(J)I
      named getLevel Lnet/minecraft/world/chunk/light/LevelPropagator;getLevel(J)I
    • getCurrentLevelFromSection

      protected int getCurrentLevelFromSection(ChunkNibbleArray section, long blockPos)
      Mappings:
      Namespace Name Mixin selector
      official a Ldpj;a(Lcxo;J)I
      intermediary method_15517 Lnet/minecraft/class_3558;method_15517(Lnet/minecraft/class_2804;J)I
      named getCurrentLevelFromSection Lnet/minecraft/world/chunk/light/ChunkLightProvider;getCurrentLevelFromSection(Lnet/minecraft/world/chunk/ChunkNibbleArray;J)I
    • setLevel

      protected void setLevel(long id, int level)
      Specified by:
      setLevel in class LevelPropagator
      Mappings:
      Namespace Name Mixin selector
      official a Ldpi;a(JI)V
      intermediary method_15485 Lnet/minecraft/class_3554;method_15485(JI)V
      named setLevel Lnet/minecraft/world/chunk/light/LevelPropagator;setLevel(JI)V
    • getPropagatedLevel

      protected int getPropagatedLevel(long sourceId, long targetId, int level)
      Specified by:
      getPropagatedLevel in class LevelPropagator
      Mappings:
      Namespace Name Mixin selector
      official b Ldpi;b(JJI)I
      intermediary method_15488 Lnet/minecraft/class_3554;method_15488(JJI)I
      named getPropagatedLevel Lnet/minecraft/world/chunk/light/LevelPropagator;getPropagatedLevel(JJI)I
    • hasUpdates

      public boolean hasUpdates()
      Specified by:
      hasUpdates in interface LightingView
      Mappings:
      Namespace Name Mixin selector
      official A_ Ldpn;A_()Z
      intermediary method_15518 Lnet/minecraft/class_3565;method_15518()Z
      named hasUpdates Lnet/minecraft/world/chunk/light/LightingView;hasUpdates()Z
    • doLightUpdates

      public int doLightUpdates(int int2, boolean doSkylight, boolean skipEdgeLightPropagation)
      Specified by:
      doLightUpdates in interface LightingView
      Mappings:
      Namespace Name Mixin selector
      official a Ldpn;a(IZZ)I
      intermediary method_15516 Lnet/minecraft/class_3565;method_15516(IZZ)I
      named doLightUpdates Lnet/minecraft/world/chunk/light/LightingView;doLightUpdates(IZZ)I
    • enqueueSectionData

      protected void enqueueSectionData(long sectionPos, @Nullable @Nullable ChunkNibbleArray lightArray, boolean nonEdge)
      Mappings:
      Namespace Name Mixin selector
      official a Ldpj;a(JLcxo;Z)V
      intermediary method_15515 Lnet/minecraft/class_3558;method_15515(JLnet/minecraft/class_2804;Z)V
      named enqueueSectionData Lnet/minecraft/world/chunk/light/ChunkLightProvider;enqueueSectionData(JLnet/minecraft/world/chunk/ChunkNibbleArray;Z)V
    • getLightSection

      @Nullable public @Nullable ChunkNibbleArray getLightSection(ChunkSectionPos pos)
      Specified by:
      getLightSection in interface ChunkLightingView
      Mappings:
      Namespace Name Mixin selector
      official a Ldpk;a(Lhq;)Lcxo;
      intermediary method_15544 Lnet/minecraft/class_3562;method_15544(Lnet/minecraft/class_4076;)Lnet/minecraft/class_2804;
      named getLightSection Lnet/minecraft/world/chunk/light/ChunkLightingView;getLightSection(Lnet/minecraft/util/math/ChunkSectionPos;)Lnet/minecraft/world/chunk/ChunkNibbleArray;
    • getLightLevel

      public int getLightLevel(BlockPos pos)
      Specified by:
      getLightLevel in interface ChunkLightingView
      Mappings:
      Namespace Name Mixin selector
      official b Ldpk;b(Lgt;)I
      intermediary method_15543 Lnet/minecraft/class_3562;method_15543(Lnet/minecraft/class_2338;)I
      named getLightLevel Lnet/minecraft/world/chunk/light/ChunkLightingView;getLightLevel(Lnet/minecraft/util/math/BlockPos;)I
    • displaySectionLevel

      public String displaySectionLevel(long sectionPos)
      Mappings:
      Namespace Name Mixin selector
      official b Ldpj;b(J)Ljava/lang/String;
      intermediary method_22875 Lnet/minecraft/class_3558;method_22875(J)Ljava/lang/String;
      named displaySectionLevel Lnet/minecraft/world/chunk/light/ChunkLightProvider;displaySectionLevel(J)Ljava/lang/String;
    • checkBlock

      public void checkBlock(BlockPos pos)
      Specified by:
      checkBlock in interface LightingView
      Mappings:
      Namespace Name Mixin selector
      official a Ldpn;a(Lgt;)V
      intermediary method_15513 Lnet/minecraft/class_3565;method_15513(Lnet/minecraft/class_2338;)V
      named checkBlock Lnet/minecraft/world/chunk/light/LightingView;checkBlock(Lnet/minecraft/util/math/BlockPos;)V
    • addLightSource

      public void addLightSource(BlockPos pos, int level)
      Specified by:
      addLightSource in interface LightingView
      Mappings:
      Namespace Name Mixin selector
      official a Ldpn;a(Lgt;I)V
      intermediary method_15514 Lnet/minecraft/class_3565;method_15514(Lnet/minecraft/class_2338;I)V
      named addLightSource Lnet/minecraft/world/chunk/light/LightingView;addLightSource(Lnet/minecraft/util/math/BlockPos;I)V
    • setSectionStatus

      public void setSectionStatus(ChunkSectionPos pos, boolean notReady)
      Specified by:
      setSectionStatus in interface LightingView
      Mappings:
      Namespace Name Mixin selector
      official a Ldpn;a(Lhq;Z)V
      intermediary method_15551 Lnet/minecraft/class_3565;method_15551(Lnet/minecraft/class_4076;Z)V
      named setSectionStatus Lnet/minecraft/world/chunk/light/LightingView;setSectionStatus(Lnet/minecraft/util/math/ChunkSectionPos;Z)V
    • setColumnEnabled

      public void setColumnEnabled(ChunkPos pos, boolean retainData)
      Specified by:
      setColumnEnabled in interface LightingView
      Mappings:
      Namespace Name Mixin selector
      official a Ldpn;a(Lcge;Z)V
      intermediary method_15512 Lnet/minecraft/class_3565;method_15512(Lnet/minecraft/class_1923;Z)V
      named setColumnEnabled Lnet/minecraft/world/chunk/light/LightingView;setColumnEnabled(Lnet/minecraft/util/math/ChunkPos;Z)V
    • setRetainColumn

      public void setRetainColumn(ChunkPos pos, boolean retainData)
      Mappings:
      Namespace Name Mixin selector
      official b Ldpj;b(Lcge;Z)V
      intermediary method_20599 Lnet/minecraft/class_3558;method_20599(Lnet/minecraft/class_1923;Z)V
      named setRetainColumn Lnet/minecraft/world/chunk/light/ChunkLightProvider;setRetainColumn(Lnet/minecraft/util/math/ChunkPos;Z)V