|
|
|
|
@ -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();
|
|
|
|
|
|
|
|
|
|
}
|