Scheduler

By: Raphfrk <raphfrk@gmail.com>
This commit is contained in:
Bukkit/Spigot
2011-02-02 23:51:52 +00:00
parent d7e0bed36b
commit a5886d6edc
3 changed files with 101 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
package org.bukkit.scheduler;
import org.bukkit.plugin.Plugin;
public interface BukkitScheduler {
/**
* Schedules a once off task to occur after a delay
* This task will be executed by the main server thread
*
* @param Plugin Plugin that owns the task
* @param Runnable Task to be executed
* @param long Delay in server ticks before executing task
* @return int Task id number (-1 if scheduling failed)
*/
public int scheduleSyncDelayedTask(Plugin plugin, Runnable task, long delay);
/**
* Schedules a once off task to occur as soon as possible
* This task will be executed by the main server thread
*
* @param Plugin Plugin that owns the task
* @param Runnable Task to be executed
* @return int Task id number (-1 if scheduling failed)
*/
public int scheduleSyncDelayedTask(Plugin plugin, Runnable task);
/**
* Schedules a repeating task
* This task will be executed by the main server thread
*
* @param Plugin Plugin that owns the task
* @param Runnable Task to be executed
* @param long Delay in server ticks before executing first repeat
* @param long Period in server ticks of the task
* @return int Task id number (-1 if scheduling failed)
*/
public int scheduleSyncRepeatingTask(Plugin plugin, Runnable task, long delay, long period);
/**
* Schedules a once off task to occur after a delay
* This task will be executed by a thread managed by the scheduler
*
* @param Plugin Plugin that owns the task
* @param Runnable Task to be executed
* @param long Delay in server ticks before executing task
* @return int Task id number (-1 if scheduling failed)
*/
public int scheduleAsyncDelayedTask(Plugin plugin, Runnable task, long delay);
/**
* Schedules a once off task to occur as soon as possible
* This task will be executed by a thread managed by the scheduler
*
* @param Plugin Plugin that owns the task
* @param Runnable Task to be executed
* @return int Task id number (-1 if scheduling failed)
*/
public int scheduleAsyncDelayedTask(Plugin plugin, Runnable task);
/**
* Schedules a repeating task
* This task will be executed by a thread managed by the scheduler
*
* @param Plugin Plugin that owns the task
* @param Runnable Task to be executed
* @param long Delay in server ticks before executing first repeat
* @param long Period in server ticks of the task
* @return int Task id number (-1 if scheduling failed)
*/
public int scheduleAsyncRepeatingTask(Plugin plugin, Runnable task, long delay, long period);
/**
* Removes task from scheduler
*
* @param int Id number of task to be removed
*/
public void cancelTask(int taskId);
/**
* Removes all tasks associated with a particular plugin from the scheduler
*
* @param Plugin Owner of tasks to be removed
*/
public void cancelTasks(Plugin plugin);
/**
* Removes all tasks from the scheduler
*/
public void cancelAllTasks();
}