Package net.minecraft.server.world
Class ChunkTaskPrioritySystem
java.lang.Object
net.minecraft.server.world.ChunkTaskPrioritySystem
- All Implemented Interfaces:
AutoCloseable,ChunkHolder.LevelUpdateListener
public class ChunkTaskPrioritySystem extends Object implements AutoCloseable, ChunkHolder.LevelUpdateListener
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classChunkTaskPrioritySystem.SorterMessagestatic classChunkTaskPrioritySystem.Task<T> -
Field Summary
Fields Modifier and Type Field Description private Set<MessageListener<?>>actorsprivate static LoggerLOGGERprivate Map<MessageListener<?>,LevelPrioritizedQueue<? extends Function<MessageListener<Unit>,?>>>queuesprivate TaskExecutor<TaskQueue.PrioritizedTask>sorter -
Constructor Summary
Constructors Constructor Description ChunkTaskPrioritySystem(List<MessageListener<?>> actors, Executor executor, int maxQueues) -
Method Summary
-
Field Details
-
LOGGER
-
queues
private final Map<MessageListener<?>,LevelPrioritizedQueue<? extends Function<MessageListener<Unit>,?>>> queues -
actors
-
sorter
-
-
Constructor Details
-
Method Details
-
createMessage
public static ChunkTaskPrioritySystem.Task<Runnable> createMessage(Runnable runnable, long pos, IntSupplier lastLevelUpdatedToProvider) -
createMessage
public static ChunkTaskPrioritySystem.Task<Runnable> createMessage(ChunkHolder holder, Runnable runnable) -
createSorterMessage
public static ChunkTaskPrioritySystem.SorterMessage createSorterMessage(Runnable runnable, long pos, boolean bool) -
createExecutor
public <T> MessageListener<ChunkTaskPrioritySystem.Task<T>> createExecutor(MessageListener<T> executor, boolean bool) -
createSorterExecutor
public MessageListener<ChunkTaskPrioritySystem.SorterMessage> createSorterExecutor(MessageListener<Runnable> executor) -
updateLevel
public void updateLevel(ChunkPos pos, IntSupplier levelGetter, int targetLevel, IntConsumer levelSetter)- Specified by:
updateLevelin interfaceChunkHolder.LevelUpdateListener
-
sort
private <T> void sort(MessageListener<T> messageListener, long long2, Runnable runnable, boolean bool) -
execute
private <T> void execute(MessageListener<T> actor, Function<MessageListener<Unit>,T> function, long long2, IntSupplier lastLevelUpdatedToProvider, boolean bool) -
method_17630
private <T> void method_17630(LevelPrioritizedQueue<Function<MessageListener<Unit>,T>> levelPrioritizedQueue, MessageListener<T> actor) -
getQueue
private <T> LevelPrioritizedQueue<Function<MessageListener<Unit>,T>> getQueue(MessageListener<T> actor) -
getDebugString
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-