Package org.bukkit.scheduler
Class BukkitRunnable
java.lang.Object
org.bukkit.scheduler.BukkitRunnable
- All Implemented Interfaces:
Runnable
This class is provided as an easy way to handle scheduling tasks.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcancel()Attempts to cancel this task.intGets the task id for this runnable.booleanReturns true if this task has been cancelled.@NotNull BukkitTaskSchedules this in the Bukkit scheduler to run on next tick.@NotNull BukkitTaskrunTaskAsynchronously(@NotNull Plugin plugin) Asynchronous tasks should never access any API in Bukkit.@NotNull BukkitTaskrunTaskLater(@NotNull Plugin plugin, long delay) Schedules this to run after the specified number of server ticks.@NotNull BukkitTaskrunTaskLaterAsynchronously(@NotNull Plugin plugin, long delay) Asynchronous tasks should never access any API in Bukkit.@NotNull BukkitTaskrunTaskTimer(@NotNull Plugin plugin, long delay, long period) Schedules this to repeatedly run until cancelled, starting after the specified number of server ticks.@NotNull BukkitTaskrunTaskTimerAsynchronously(@NotNull Plugin plugin, long delay, long period) Asynchronous tasks should never access any API in Bukkit.
-
Constructor Details
-
BukkitRunnable
public BukkitRunnable()
-
-
Method Details
-
isCancelled
Returns true if this task has been cancelled.- Returns:
- true if the task has been cancelled
- Throws:
IllegalStateException- if task was not scheduled yet
-
cancel
Attempts to cancel this task.- Throws:
IllegalStateException- if task was not scheduled yet
-
runTask
@NotNull public @NotNull BukkitTask runTask(@NotNull @NotNull Plugin plugin) throws IllegalArgumentException, IllegalStateException Schedules this in the Bukkit scheduler to run on next tick.- Parameters:
plugin- the reference to the plugin scheduling task- Returns:
- a BukkitTask that contains the id number
- Throws:
IllegalArgumentException- if plugin is nullIllegalStateException- if this was already scheduled- See Also:
-
runTaskAsynchronously
@NotNull public @NotNull BukkitTask runTaskAsynchronously(@NotNull @NotNull Plugin plugin) throws IllegalArgumentException, IllegalStateException Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.Schedules this in the Bukkit scheduler to run asynchronously.
- Parameters:
plugin- the reference to the plugin scheduling task- Returns:
- a BukkitTask that contains the id number
- Throws:
IllegalArgumentException- if plugin is nullIllegalStateException- if this was already scheduled- See Also:
-
runTaskLater
@NotNull public @NotNull BukkitTask runTaskLater(@NotNull @NotNull Plugin plugin, long delay) throws IllegalArgumentException, IllegalStateException Schedules this to run after the specified number of server ticks.- Parameters:
plugin- the reference to the plugin scheduling taskdelay- the ticks to wait before running the task- Returns:
- a BukkitTask that contains the id number
- Throws:
IllegalArgumentException- if plugin is nullIllegalStateException- if this was already scheduled- See Also:
-
runTaskLaterAsynchronously
@NotNull public @NotNull BukkitTask runTaskLaterAsynchronously(@NotNull @NotNull Plugin plugin, long delay) throws IllegalArgumentException, IllegalStateException Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.Schedules this to run asynchronously after the specified number of server ticks.
- Parameters:
plugin- the reference to the plugin scheduling taskdelay- the ticks to wait before running the task- Returns:
- a BukkitTask that contains the id number
- Throws:
IllegalArgumentException- if plugin is nullIllegalStateException- if this was already scheduled- See Also:
-
runTaskTimer
@NotNull public @NotNull BukkitTask runTaskTimer(@NotNull @NotNull Plugin plugin, long delay, long period) throws IllegalArgumentException, IllegalStateException Schedules this to repeatedly run until cancelled, starting after the specified number of server ticks.- Parameters:
plugin- the reference to the plugin scheduling taskdelay- the ticks to wait before running the taskperiod- the ticks to wait between runs- Returns:
- a BukkitTask that contains the id number
- Throws:
IllegalArgumentException- if plugin is nullIllegalStateException- if this was already scheduled- See Also:
-
runTaskTimerAsynchronously
@NotNull public @NotNull BukkitTask runTaskTimerAsynchronously(@NotNull @NotNull Plugin plugin, long delay, long period) throws IllegalArgumentException, IllegalStateException Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.Schedules this to repeatedly run asynchronously until cancelled, starting after the specified number of server ticks.
- Parameters:
plugin- the reference to the plugin scheduling taskdelay- the ticks to wait before running the task for the first timeperiod- the ticks to wait between runs- Returns:
- a BukkitTask that contains the id number
- Throws:
IllegalArgumentException- if plugin is nullIllegalStateException- if this was already scheduled- See Also:
-
getTaskId
Gets the task id for this runnable.- Returns:
- the task id that this runnable was scheduled as
- Throws:
IllegalStateException- if task was not scheduled yet
-