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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cancel()
Attempts to cancel this task.int
Gets the task id for this runnable.boolean
Returns true if this task has been cancelled.Schedules this in the Bukkit scheduler to run on next tick.runTaskAsynchronously(Plugin plugin)
Asynchronous tasks should never access any API in Bukkit.runTaskLater(Plugin plugin, long delay)
Schedules this to run after the specified number of server ticks.runTaskLaterAsynchronously(Plugin plugin, long delay)
Asynchronous tasks should never access any API in Bukkit.runTaskTimer(Plugin plugin, long delay, long period)
Schedules this to repeatedly run until cancelled, starting after the specified number of server ticks.runTaskTimerAsynchronously(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 BukkitTask runTask(@NotNull Plugin plugin) throws IllegalArgumentException, IllegalStateExceptionSchedules 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:
BukkitScheduler.runTask(Plugin, Runnable)
-
runTaskAsynchronously
@NotNull public BukkitTask runTaskAsynchronously(@NotNull Plugin plugin) throws IllegalArgumentException, IllegalStateExceptionAsynchronous 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:
BukkitScheduler.runTaskAsynchronously(Plugin, Runnable)
-
runTaskLater
@NotNull public BukkitTask runTaskLater(@NotNull Plugin plugin, long delay) throws IllegalArgumentException, IllegalStateExceptionSchedules 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:
BukkitScheduler.runTaskLater(Plugin, Runnable, long)
-
runTaskLaterAsynchronously
@NotNull public BukkitTask runTaskLaterAsynchronously(@NotNull Plugin plugin, long delay) throws IllegalArgumentException, IllegalStateExceptionAsynchronous 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:
BukkitScheduler.runTaskLaterAsynchronously(Plugin, Runnable, long)
-
runTaskTimer
@NotNull public BukkitTask runTaskTimer(@NotNull Plugin plugin, long delay, long period) throws IllegalArgumentException, IllegalStateExceptionSchedules 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:
BukkitScheduler.runTaskTimer(Plugin, Runnable, long, long)
-
runTaskTimerAsynchronously
@NotNull public BukkitTask runTaskTimerAsynchronously(@NotNull Plugin plugin, long delay, long period) throws IllegalArgumentException, IllegalStateExceptionAsynchronous 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:
BukkitScheduler.runTaskTimerAsynchronously(Plugin, Runnable, long, long)
-
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
-