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
static final int
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 final int
Fields inherited from class net.minecraft.world.level.lighting.LevelLightEngine
levelHeightAccessor, LIGHT_SECTION_PADDING
-
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()
initializeLight
(ChunkAccess p_285128_, boolean p_285441_) lightChunk
(ChunkAccess p_9354_, boolean p_9355_) void
propagateLightSources
(ChunkPos p_285029_) void
queueSectionData
(LightLayer p_285046_, SectionPos p_285496_, DataLayer p_285495_) void
retainData
(ChunkPos p_9370_, boolean p_9371_) int
private void
void
setLightEnabled
(ChunkPos p_9336_, boolean p_9337_) void
protected void
updateChunkStatus
(ChunkPos p_9331_) void
updateSectionStatus
(SectionPos p_9364_, boolean p_9365_) waitForPendingTasks
(int p_301257_, int p_300921_) Methods inherited from class net.minecraft.world.level.lighting.LevelLightEngine
getDebugData, getDebugSectionType, getLayerListener, getLightSectionCount, getMaxLightSection, getMinLightSection, getRawBrightness, hasLightWork, lightOnInSection
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
-
DEFAULT_BATCH_SIZE
public static final int DEFAULT_BATCH_SIZE- See Also:
-
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 final int taskPerBatch- See Also:
-
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
-
runLightUpdates
public int runLightUpdates()- Specified by:
runLightUpdates
in interfaceLightEventListener
- Overrides:
runLightUpdates
in classLevelLightEngine
-
checkBlock
- Specified by:
checkBlock
in interfaceLightEventListener
- Overrides:
checkBlock
in classLevelLightEngine
-
updateChunkStatus
-
updateSectionStatus
- Specified by:
updateSectionStatus
in interfaceLightEventListener
- Overrides:
updateSectionStatus
in classLevelLightEngine
-
propagateLightSources
- Specified by:
propagateLightSources
in interfaceLightEventListener
- Overrides:
propagateLightSources
in classLevelLightEngine
-
setLightEnabled
- Specified by:
setLightEnabled
in interfaceLightEventListener
- Overrides:
setLightEnabled
in classLevelLightEngine
-
queueSectionData
public void queueSectionData(LightLayer p_285046_, SectionPos p_285496_, @Nullable DataLayer p_285495_) - 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
-
initializeLight
-
lightChunk
-
tryScheduleUpdate
public void tryScheduleUpdate() -
runUpdate
private void runUpdate() -
waitForPendingTasks
-