Package net.minecraft.server.level
Class ThreadedLevelLightEngine
java.lang.Object
net.minecraft.world.level.lighting.LevelLightEngine
net.minecraft.server.level.ThreadedLevelLightEngine
- All Implemented Interfaces:
AutoCloseable
,LightEventListener
-
Nested Class Summary
Modifier and TypeClassDescription(package private) static class
-
Field Summary
Modifier and TypeFieldDescriptionprivate ChunkMap
private it.unimi.dsi.fastutil.objects.ObjectList<com.mojang.datafixers.util.Pair<ThreadedLevelLightEngine.TaskType,Runnable>>
private static org.apache.logging.log4j.Logger
private AtomicBoolean
private ProcessorMailbox<Runnable>
private int
Fields inherited from class net.minecraft.world.level.lighting.LevelLightEngine
levelHeightAccessor, LIGHT_SECTION_PADDING, MAX_SOURCE_LEVEL
-
Constructor Summary
ConstructorDescriptionThreadedLevelLightEngine(LightChunkGetter p_9305_, ChunkMap p_9306_, boolean p_9307_, ProcessorMailbox<Runnable> p_9308_, ProcessorHandle<ChunkTaskPriorityQueueSorter.Message<Runnable>> p_9309_)
-
Method Summary
Modifier and TypeMethodDescriptionprivate void
addTask(int p_9318_, int p_9319_, IntSupplier p_9320_, ThreadedLevelLightEngine.TaskType p_9321_, Runnable p_9322_)
private void
addTask(int p_9313_, int p_9314_, ThreadedLevelLightEngine.TaskType p_9315_, Runnable p_9316_)
void
checkBlock(BlockPos p_9357_)
void
close()
void
enableLightSources(ChunkPos p_9336_, boolean p_9337_)
lightChunk(ChunkAccess p_9354_, boolean p_9355_)
void
onBlockEmissionIncrease(BlockPos p_9359_, int p_9360_)
void
queueSectionData(LightLayer p_9339_, SectionPos p_9340_, DataLayer p_9341_, boolean p_9342_)
void
retainData(ChunkPos p_9370_, boolean p_9371_)
private void
int
runUpdates(int p_9324_, boolean p_9325_, boolean p_9326_)
void
setTaskPerBatch(int p_9311_)
void
protected void
updateChunkStatus(ChunkPos p_9331_)
void
updateSectionStatus(SectionPos p_9364_, boolean p_9365_)
Methods inherited from class net.minecraft.world.level.lighting.LevelLightEngine
getDebugData, getLayerListener, getLightSectionCount, getMaxLightSection, getMinLightSection, getRawBrightness, hasLightWork
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.world.level.lighting.LightEventListener
updateSectionStatus
-
Field Details
-
LOGGER
private static final org.apache.logging.log4j.Logger LOGGER -
taskMailbox
-
lightTasks
private final it.unimi.dsi.fastutil.objects.ObjectList<com.mojang.datafixers.util.Pair<ThreadedLevelLightEngine.TaskType,Runnable>> lightTasks -
chunkMap
-
sorterMailbox
-
taskPerBatch
private volatile int taskPerBatch -
scheduled
-
-
Constructor Details
-
ThreadedLevelLightEngine
public ThreadedLevelLightEngine(LightChunkGetter p_9305_, ChunkMap p_9306_, boolean p_9307_, ProcessorMailbox<Runnable> p_9308_, ProcessorHandle<ChunkTaskPriorityQueueSorter.Message<Runnable>> p_9309_)
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
runUpdates
public int runUpdates(int p_9324_, boolean p_9325_, boolean p_9326_)- Specified by:
runUpdates
in interfaceLightEventListener
- Overrides:
runUpdates
in classLevelLightEngine
-
onBlockEmissionIncrease
- Specified by:
onBlockEmissionIncrease
in interfaceLightEventListener
- Overrides:
onBlockEmissionIncrease
in classLevelLightEngine
-
checkBlock
- Specified by:
checkBlock
in interfaceLightEventListener
- Overrides:
checkBlock
in classLevelLightEngine
-
updateChunkStatus
-
updateSectionStatus
- Specified by:
updateSectionStatus
in interfaceLightEventListener
- Overrides:
updateSectionStatus
in classLevelLightEngine
-
enableLightSources
- Specified by:
enableLightSources
in interfaceLightEventListener
- Overrides:
enableLightSources
in classLevelLightEngine
-
queueSectionData
public void queueSectionData(LightLayer p_9339_, SectionPos p_9340_, @Nullable DataLayer p_9341_, boolean p_9342_)- Overrides:
queueSectionData
in classLevelLightEngine
-
addTask
private void addTask(int p_9313_, int p_9314_, ThreadedLevelLightEngine.TaskType p_9315_, Runnable p_9316_) -
addTask
private void addTask(int p_9318_, int p_9319_, IntSupplier p_9320_, ThreadedLevelLightEngine.TaskType p_9321_, Runnable p_9322_) -
retainData
- Overrides:
retainData
in classLevelLightEngine
-
lightChunk
-
tryScheduleUpdate
public void tryScheduleUpdate() -
runUpdate
private void runUpdate() -
setTaskPerBatch
public void setTaskPerBatch(int p_9311_)
-