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
-
Field Summary
Modifier and TypeFieldDescriptionprivate final ChunkMap
private final it.unimi.dsi.fastutil.objects.ObjectList<com.mojang.datafixers.util.Pair<ThreadedLevelLightEngine.TaskType,
Runnable>> private static final org.slf4j.Logger
private final AtomicBoolean
private final ProcessorHandle<ChunkTaskPriorityQueueSorter.Message<Runnable>>
private final 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_) retainData
(ChunkAccess p_215137_) 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.slf4j.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
-
retainData
-
lightChunk
-
tryScheduleUpdate
public void tryScheduleUpdate() -
runUpdate
private void runUpdate() -
setTaskPerBatch
public void setTaskPerBatch(int p_9311_)
-