org.bukkit.scheduler
Class BukkitRunnable

java.lang.Object
  extended by org.bukkit.scheduler.BukkitRunnable
All Implemented Interfaces:
Runnable

public abstract class BukkitRunnable
extends Object
implements Runnable

This class is provided as an easy way to handle scheduling tasks.


Constructor Summary
BukkitRunnable()
           
 
Method Summary
 void cancel()
          Attempts to cancel this task.
 int getTaskId()
          Gets the task id for this runnable.
 BukkitTask runTask(Plugin plugin)
          Schedules this in the Bukkit scheduler to run on next tick.
 BukkitTask runTaskAsynchronously(Plugin plugin)
          Asynchronous tasks should never access any API in Bukkit.
 BukkitTask runTaskLater(Plugin plugin, long delay)
          Schedules this to run after the specified number of server ticks.
 BukkitTask runTaskLaterAsynchronously(Plugin plugin, long delay)
          Asynchronous tasks should never access any API in Bukkit.
 BukkitTask runTaskTimer(Plugin plugin, long delay, long period)
          Schedules this to repeatedly run until cancelled, starting after the specified number of server ticks.
 BukkitTask runTaskTimerAsynchronously(Plugin plugin, long delay, long period)
          Asynchronous tasks should never access any API in Bukkit.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.lang.Runnable
run
 

Constructor Detail

BukkitRunnable

public BukkitRunnable()
Method Detail

cancel

public void cancel()
            throws IllegalStateException
Attempts to cancel this task.

Throws:
IllegalStateException - if task was not scheduled yet

runTask

public BukkitTask runTask(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 null
IllegalStateException - if this was already scheduled
See Also:
BukkitScheduler.runTask(Plugin, Runnable)

runTaskAsynchronously

public BukkitTask runTaskAsynchronously(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 null
IllegalStateException - if this was already scheduled
See Also:
BukkitScheduler.runTaskAsynchronously(Plugin, Runnable)

runTaskLater

public BukkitTask runTaskLater(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 task
delay - the ticks to wait before running the task
Returns:
a BukkitTask that contains the id number
Throws:
IllegalArgumentException - if plugin is null
IllegalStateException - if this was already scheduled
See Also:
BukkitScheduler.runTaskLater(Plugin, Runnable, long)

runTaskLaterAsynchronously

public BukkitTask runTaskLaterAsynchronously(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 task
delay - the ticks to wait before running the task
Returns:
a BukkitTask that contains the id number
Throws:
IllegalArgumentException - if plugin is null
IllegalStateException - if this was already scheduled
See Also:
BukkitScheduler.runTaskLaterAsynchronously(Plugin, Runnable, long)

runTaskTimer

public BukkitTask runTaskTimer(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 task
delay - the ticks to wait before running the task
period - the ticks to wait between runs
Returns:
a BukkitTask that contains the id number
Throws:
IllegalArgumentException - if plugin is null
IllegalStateException - if this was already scheduled
See Also:
BukkitScheduler.runTaskTimer(Plugin, Runnable, long, long)

runTaskTimerAsynchronously

public BukkitTask runTaskTimerAsynchronously(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 task
delay - the ticks to wait before running the task for the first time
period - the ticks to wait between runs
Returns:
a BukkitTask that contains the id number
Throws:
IllegalArgumentException - if plugin is null
IllegalStateException - if this was already scheduled
See Also:
BukkitScheduler.runTaskTimerAsynchronously(Plugin, Runnable, long, long)

getTaskId

public int getTaskId()
              throws IllegalStateException
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


Copyright © 2013. All Rights Reserved.