Package net.minecraftforge.fml
Class DeferredWorkQueue
java.lang.Object
net.minecraftforge.fml.DeferredWorkQueue
Utility for running code on the main launch thread at the next available
opportunity. There is no guaranteed order that work from various mods will be
run, but your own work will be run sequentially.
Use of this class after startup is not possible. At that
point, ReentrantBlockableEventLoop should be used instead.
Exceptions from tasks will be handled gracefully, causing a mod loading error. Tasks that take egregiously long times to run will be logged.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static org.apache.logging.log4j.Loggerprivate ModLoadingStageprivate static Map<ModLoadingStage,DeferredWorkQueue> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionenqueueWork(ModContainer modInfo, Runnable work)<T> CompletableFuture<T>enqueueWork(ModContainer modInfo, Supplier<T> work)static Optional<DeferredWorkQueue>lookup(Optional<ModLoadingStage> parallelClass)private static voidmakeRunnable(DeferredWorkQueue.TaskInfo ti, Executor executor)voidrunTasks()
-
Field Details
-
LOGGER
private static final org.apache.logging.log4j.Logger LOGGER -
workQueues
-
tasks
-
modLoadingStage
-
-
Constructor Details
-
DeferredWorkQueue
-
-
Method Details
-
lookup
-
runTasks
public void runTasks() -
makeRunnable
-
enqueueWork
-
enqueueWork
-