# Uses of Interface
org.bukkit.scheduler.BukkitTask

Packages that use BukkitTask
Package
Description
com.destroystokyo.paper.exception
org.bukkit.scheduler
Classes dedicated to letting `plugins` run code at specific time intervals, including thread safety.

## Uses of BukkitTask in com.destroystokyo.paper.exception

Methods in com.destroystokyo.paper.exception that return BukkitTask
Modifier and Type
Method
Description
`BukkitTask`
ServerSchedulerException.`getTask()`
Gets the task which threw the exception
Constructors in com.destroystokyo.paper.exception with parameters of type BukkitTask
Modifier
Constructor
Description
`protected`
`ServerSchedulerException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, BukkitTask task)`
``
`ServerSchedulerException(String message, Throwable cause, BukkitTask task)`
``
`ServerSchedulerException(Throwable cause, BukkitTask task)`

## Uses of BukkitTask in org.bukkit.scheduler

Methods in org.bukkit.scheduler that return BukkitTask
Modifier and Type
Method
Description
`@NotNull BukkitTask`
BukkitRunnable.`runTask(@NotNull Plugin plugin)`
Schedules this in the Bukkit scheduler to run on next tick.
`@NotNull BukkitTask`
BukkitScheduler.`runTask(@NotNull Plugin plugin, @NotNull Runnable task)`
Returns a task that will run on the next server tick.
`@NotNull BukkitTask`
BukkitScheduler.`runTask(@NotNull Plugin plugin, @NotNull BukkitRunnable task)`
Deprecated.
Use `BukkitRunnable.runTask(Plugin)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskAsynchronously(@NotNull Plugin plugin)`
Asynchronous tasks should never access any API in Bukkit.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskAsynchronously(@NotNull Plugin plugin, @NotNull Runnable task)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskAsynchronously(@NotNull Plugin plugin, @NotNull BukkitRunnable task)`
Deprecated.
Use `BukkitRunnable.runTaskAsynchronously(Plugin)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskLater(@NotNull Plugin plugin, long delay)`
Schedules this to run after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLater(@NotNull Plugin plugin, @NotNull Runnable task, long delay)`
Returns a task that will run after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLater(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay)`
Deprecated.
Use `BukkitRunnable.runTaskLater(Plugin, long)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskLaterAsynchronously(@NotNull Plugin plugin, long delay)`
Asynchronous tasks should never access any API in Bukkit.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLaterAsynchronously(@NotNull Plugin plugin, @NotNull Runnable task, long delay)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLaterAsynchronously(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay)`
Deprecated.
Use `BukkitRunnable.runTaskLaterAsynchronously(Plugin, long)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskTimer(@NotNull Plugin plugin, long delay, long period)`
Schedules this to repeatedly run until cancelled, starting after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimer(@NotNull Plugin plugin, @NotNull Runnable task, long delay, long period)`
Returns a task that will repeatedly run until cancelled, starting after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimer(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay, long period)`
Deprecated.
Use `BukkitRunnable.runTaskTimer(Plugin, long, long)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskTimerAsynchronously(@NotNull Plugin plugin, long delay, long period)`
Asynchronous tasks should never access any API in Bukkit.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimerAsynchronously(@NotNull Plugin plugin, @NotNull Runnable task, long delay, long period)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimerAsynchronously(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay, long period)`
Deprecated.
Use `BukkitRunnable.runTaskTimerAsynchronously(Plugin, long, long)`
Methods in org.bukkit.scheduler that return types with arguments of type BukkitTask
Modifier and Type
Method
Description
`@NotNull List<BukkitTask>`
BukkitScheduler.`getPendingTasks()`
Returns a list of all pending tasks.
Method parameters in org.bukkit.scheduler with type arguments of type BukkitTask
Modifier and Type
Method
Description
`void`
BukkitScheduler.`runTask(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task)`
Returns a task that will run on the next server tick.
`void`
BukkitScheduler.`runTaskAsynchronously(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`void`
BukkitScheduler.`runTaskLater(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay)`
Returns a task that will run after the specified number of server ticks.
`void`
BukkitScheduler.`runTaskLaterAsynchronously(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`void`
BukkitScheduler.`runTaskTimer(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay, long period)`
Returns a task that will repeatedly run until cancelled, starting after the specified number of server ticks.
`void`
BukkitScheduler.`runTaskTimerAsynchronously(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay, long period)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.