Package net.minecraft.server.world
Class ServerLightingProvider
java.lang.Object
net.minecraft.world.chunk.light.LightingProvider
net.minecraft.server.world.ServerLightingProvider
- All Implemented Interfaces:
AutoCloseable
,LightingView
public class ServerLightingProvider extends LightingProvider implements AutoCloseable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
ServerLightingProvider.Stage
-
Field Summary
Fields Modifier and Type Field Description private ThreadedAnvilChunkStorage
chunkStorage
private MessageListener<ChunkTaskPrioritySystem.Task<Runnable>>
executor
private static Logger
LOGGER
private ObjectList<com.mojang.datafixers.util.Pair<ServerLightingProvider.Stage,Runnable>>
pendingTasks
private TaskExecutor<Runnable>
processor
private int
taskBatchSize
private AtomicBoolean
ticking
-
Constructor Summary
Constructors Constructor Description ServerLightingProvider(ChunkProvider chunkProvider, ThreadedAnvilChunkStorage chunkStorage, boolean hasBlockLight, TaskExecutor<Runnable> processor, MessageListener<ChunkTaskPrioritySystem.Task<Runnable>> executor)
-
Method Summary
Modifier and Type Method Description void
addLightSource(BlockPos pos, int level)
void
checkBlock(BlockPos pos)
void
close()
int
doLightUpdates(int maxUpdateCount, boolean doSkylight, boolean skipEdgeLightPropagation)
private void
enqueue(int x, int z, IntSupplier completedLevelSupplier, ServerLightingProvider.Stage stage, Runnable task)
private void
enqueue(int x, int z, ServerLightingProvider.Stage stage, Runnable task)
void
enqueueSectionData(LightType lightType, ChunkSectionPos pos, ChunkNibbleArray nibbles, boolean bool)
CompletableFuture<Chunk>
light(Chunk chunk, boolean excludeBlocks)
private void
runTasks()
void
setColumnEnabled(ChunkPos pos, boolean lightEnabled)
void
setRetainData(ChunkPos pos, boolean retainData)
void
setSectionStatus(ChunkSectionPos pos, boolean notReady)
void
setTaskBatchSize(int taskBatchSize)
void
tick()
protected void
updateChunkStatus(ChunkPos pos)
Methods inherited from class net.minecraft.world.chunk.light.LightingProvider
displaySectionLevel, get, getLight, hasUpdates
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.chunk.light.LightingView
setSectionStatus
-
Field Details
-
LOGGER
-
processor
-
pendingTasks
private final ObjectList<com.mojang.datafixers.util.Pair<ServerLightingProvider.Stage,Runnable>> pendingTasks -
chunkStorage
-
executor
-
taskBatchSize
private volatile int taskBatchSize -
ticking
-
-
Constructor Details
-
ServerLightingProvider
public ServerLightingProvider(ChunkProvider chunkProvider, ThreadedAnvilChunkStorage chunkStorage, boolean hasBlockLight, TaskExecutor<Runnable> processor, MessageListener<ChunkTaskPrioritySystem.Task<Runnable>> executor)
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
doLightUpdates
public int doLightUpdates(int maxUpdateCount, boolean doSkylight, boolean skipEdgeLightPropagation)- Overrides:
doLightUpdates
in classLightingProvider
-
addLightSource
- Overrides:
addLightSource
in classLightingProvider
-
checkBlock
- Overrides:
checkBlock
in classLightingProvider
-
updateChunkStatus
-
setSectionStatus
- Specified by:
setSectionStatus
in interfaceLightingView
- Overrides:
setSectionStatus
in classLightingProvider
-
setColumnEnabled
- Overrides:
setColumnEnabled
in classLightingProvider
-
enqueueSectionData
public void enqueueSectionData(LightType lightType, ChunkSectionPos pos, @Nullable ChunkNibbleArray nibbles, boolean bool)- Overrides:
enqueueSectionData
in classLightingProvider
-
enqueue
-
enqueue
private void enqueue(int x, int z, IntSupplier completedLevelSupplier, ServerLightingProvider.Stage stage, Runnable task) -
setRetainData
- Overrides:
setRetainData
in classLightingProvider
-
light
-
tick
public void tick() -
runTasks
private void runTasks() -
setTaskBatchSize
public void setTaskBatchSize(int taskBatchSize)
-