net.minecraft.world.level.lighting

public abstract class LightEngine<M extends DataLayerStorageMap<M>, S extends LayerLightSectionStorage<M>>

implements LayerLightEventListener

ead
net.minecraft.world.level.lighting.LightEngine
net.minecraft.class_3558
net.minecraft.world.chunk.light.ChunkLightProvider
net.minecraft.src.C_283721_
net.minecraft.world.level.lighting.LightEngine

Field summary

Modifier and TypeField
public static final int
a
MAX_LEVEL
field_44729
field_44729
f_283746_
protected static final int
b
MIN_OPACITY
field_44730
field_44730
f_283739_
protected static final long
c
PULL_LIGHT_IN_ENTRY
field_44731
field_44731
f_283854_
private static final int
g
MIN_QUEUE_SIZE
field_44732
field_44732
f_283747_
protected static final Direction[]
d
PROPAGATION_DIRECTIONS
field_16513
DIRECTIONS
f_283814_
protected final LightChunkGetter
e
chunkSource
field_15795
chunkProvider
f_283884_
protected final S
f
storage
field_15793
lightStorage
f_283849_
private final it.unimi.dsi.fastutil.longs.LongOpenHashSet
h
blockNodesToCheck
field_44733
blockPositionsToCheck
f_283863_
private final it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue
i
decreaseQueue
field_44734
field_44734
f_283823_
private final it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue
j
increaseQueue
field_44735
field_44735
f_283934_
private final BlockPos$MutableBlockPos
k
mutablePos
field_19284
reusableBlockPos
f_283920_
private static final int
l
CACHE_SIZE
field_31709
field_31709
f_283860_
private final long[]
m
lastChunkPos
field_17397
cachedChunkPositions
f_283833_
private final LightChunk[]
n
lastChunk
field_17398
cachedChunks
f_283888_

Constructor summary

ModifierConstructor
protected (LightChunkGetter chunkProvider, S lightStorage)

Method summary

Modifier and TypeMethod
public static boolean
a(cpb arg0, gw arg1, dfj arg2, dfj arg3)
hasDifferentLightProperties(BlockGetter arg0, BlockPos arg1, BlockState arg2, BlockState arg3)
method_51561(class_1922 arg0, class_2338 arg1, class_2680 arg2, class_2680 arg3)
needsLightUpdate(BlockView blockView, BlockPos pos, BlockState oldState, BlockState newState)
m_284387_(C_1559_ p_285159_, C_4675_ p_284985_, C_2064_ p_285110_, C_2064_ p_285372_)
public static int
a(cpb arg0, dfj arg1, gw arg2, dfj arg3, gw arg4, ha arg5, int arg6)
getLightBlockInto(BlockGetter arg0, BlockState arg1, BlockPos arg2, BlockState arg3, BlockPos arg4, Direction arg5, int arg6)
method_20049(class_1922 arg0, class_2680 arg1, class_2338 arg2, class_2680 arg3, class_2338 arg4, class_2350 arg5, int arg6)
getRealisticOpacity(BlockView world, BlockState state1, BlockPos pos1, BlockState state2, BlockPos pos2, Direction direction, int opacity2)
m_284282_(C_1559_ p_285330_, C_2064_ p_285453_, C_4675_ p_285187_, C_2064_ p_285318_, C_4675_ p_285240_, C_4687_ p_285196_, int p_285248_)
public static VoxelShape
a(cpb arg0, gw arg1, dfj arg2, ha arg3)
getOcclusionShape(BlockGetter arg0, BlockPos arg1, BlockState arg2, Direction arg3)
method_51562(class_1922 arg0, class_2338 arg1, class_2680 arg2, class_2350 arg3)
getOpaqueShape(BlockView blockView, BlockPos pos, BlockState blockState, Direction direction)
m_284189_(C_1559_ p_285472_, C_4675_ p_285229_, C_2064_ p_285020_, C_4687_ p_285455_)
protected static boolean
a(dfj arg0)
isEmptyShape(BlockState arg0)
method_51563(class_2680 arg0)
isTrivialForLighting(BlockState blockState)
m_284265_(C_2064_ p_285133_)
protected BlockState
c(gw arg0)
getState(BlockPos arg0)
method_50018(class_2338 arg0)
getStateForLighting(BlockPos pos)
m_284512_(C_4675_ arg0)
protected int
a(dfj arg0, gw arg1)
getOpacity(BlockState arg0, BlockPos arg1)
method_50017(class_2680 arg0, class_2338 arg1)
getOpacity(BlockState state, BlockPos pos)
m_284404_(C_2064_ p_285057_, C_4675_ arg1)
protected boolean
a(long arg0, dfj arg1, long arg2, dfj arg3, ha arg4)
shapeOccludes(long arg0, BlockState arg1, long arg2, BlockState arg3, Direction arg4)
method_50016(long arg0, class_2680 arg1, long arg2, class_2680 arg3, class_2350 arg4)
shapesCoverFullCube(long sourceId, BlockState sourceState, long targetId, BlockState targetState, Direction direction)
m_284187_(long p_285154_, C_2064_ p_285155_, long p_285327_, C_2064_ arg3, C_4687_ arg4)
protected VoxelShape
a(dfj arg0, long arg1, ha arg2)
getOcclusionShape(BlockState arg0, long arg1, Direction arg2)
method_20710(class_2680 arg0, long arg1, class_2350 arg2)
getOpaqueShape(BlockState blockState, long pos, Direction direction)
m_284428_(C_2064_ p_285517_, long p_285376_, C_4687_ arg2)
protected LightChunk
a(int arg0, int arg1)
getChunk(int arg0, int arg1)
method_17529(int arg0, int arg1)
getChunk(int chunkX, int chunkZ)
m_284303_(int p_285447_, int arg1)
private void
c()
clearChunkCache()
method_17530()
clearChunkCache()
m_284550_()
public void
a(gw arg0)
checkBlock(BlockPos arg0)
method_15513(class_2338 arg0)
checkBlock(BlockPos arg0)
m_7174_(C_4675_ arg0)
public void
a(long arg0, dhl arg1)
queueSectionData(long arg0, DataLayer arg1)
method_15515(long arg0, class_2804 arg1)
enqueueSectionData(long sectionPos, ChunkNibbleArray lightArray)
m_284203_(long p_285427_, C_2131_ arg1)
public void
b(cpc arg0, boolean arg1)
retainData(ChunkPos arg0, boolean arg1)
method_20599(class_1923 arg0, boolean arg1)
setRetainColumn(ChunkPos pos, boolean retainData)
m_284245_(C_1560_ p_284937_, boolean arg1)
public void
a(hw arg0, boolean arg1)
updateSectionStatus(SectionPos arg0, boolean arg1)
method_15551(class_4076 arg0, boolean arg1)
setSectionStatus(ChunkSectionPos arg0, boolean arg1)
m_6191_(C_4710_ p_284934_, boolean arg1)
public void
a(cpc arg0, boolean arg1)
setLightEnabled(ChunkPos arg0, boolean arg1)
method_15512(class_1923 arg0, boolean arg1)
setColumnEnabled(ChunkPos arg0, boolean arg1)
m_9335_(C_1560_ p_285522_, boolean arg1)
public int
a()
runLightUpdates()
method_15516()
doLightUpdates()
m_9323_()
private int
d()
propagateIncreases()
method_51567()
method_51567()
m_284361_()
private int
e()
propagateDecreases()
method_51570()
method_51570()
m_284399_()
protected void
b(long arg0, long arg1)
enqueueDecrease(long arg0, long arg1)
method_51565(long arg0, long arg1)
method_51565(long blockPos, long flags)
m_284343_(long p_285464_, long arg1)
protected void
c(long arg0, long arg1)
enqueueIncrease(long arg0, long arg1)
method_51566(long arg0, long arg1)
method_51566(long blockPos, long flags)
m_284218_(long p_285022_, long arg1)
public boolean
J_()
hasLightWork()
method_15518()
hasUpdates()
m_75808_()
public DataLayer
a(hw arg0)
getDataLayerData(SectionPos arg0)
method_15544(class_4076 arg0)
getLightSection(ChunkSectionPos arg0)
m_8079_(C_4710_ arg0)
public int
b(gw arg0)
getLightValue(BlockPos arg0)
method_15543(class_2338 arg0)
getLightLevel(BlockPos arg0)
m_7768_(C_4675_ arg0)
public String
b(long arg0)
getDebugData(long arg0)
method_22875(long arg0)
displaySectionLevel(long sectionPos)
m_284216_(long arg0)
public LayerLightSectionStorage$SectionType
c(long arg0)
getDebugSectionType(long arg0)
method_51568(long arg0)
getStatus(long sectionPos)
m_284437_(long arg0)
protected abstract void
a(long arg0)
checkNode(long arg0)
method_51529(long arg0)
method_51529(long blockPos)
m_75858_(long arg0)
protected abstract void
a(long arg0, long arg1, int arg2)
propagateIncrease(long arg0, long arg1, int arg2)
method_51531(long arg0, long arg1, int arg2)
method_51531(long blockPos, long arg1, int lightLevel)
m_284316_(long p_285026_, long arg1, int arg2)
protected abstract void
a(long arg0, long arg1)
propagateDecrease(long arg0, long arg1)
method_51530(long arg0, long arg1)
method_51530(long blockPos, long arg1)
m_284321_(long p_285213_, long arg1)