63 lines
1.6 KiB
Java
Raw Normal View History

2015-01-10 01:05:10 +11:00
package com.intellectualcrafters.plot.util;
2015-07-27 19:50:04 +02:00
import com.intellectualcrafters.plot.PS;
2015-07-03 13:21:21 +02:00
import java.util.HashMap;
import java.util.HashSet;
2015-07-27 04:38:08 +10:00
import java.util.concurrent.atomic.AtomicInteger;
2015-07-06 01:44:10 +10:00
2015-02-19 17:08:15 +11:00
public abstract class TaskManager {
2015-02-20 17:34:19 +11:00
public static HashSet<String> TELEPORT_QUEUE = new HashSet<>();
2015-04-01 11:52:22 +11:00
2015-07-27 04:38:08 +10:00
public static AtomicInteger index = new AtomicInteger(0);
2015-04-01 11:52:22 +11:00
public static HashMap<Integer, Integer> tasks = new HashMap<>();
2015-02-23 12:32:27 +11:00
2015-02-22 22:30:46 +11:00
public static int runTaskRepeat(final Runnable r, final int interval) {
2015-02-20 17:34:19 +11:00
if (r != null) {
return PS.get().TASK.taskRepeat(r, interval);
2015-02-20 17:34:19 +11:00
}
2015-02-22 22:30:46 +11:00
return -1;
2015-02-19 17:08:15 +11:00
}
2015-02-23 12:32:27 +11:00
2015-02-23 11:33:48 +11:00
public static void runTaskAsync(final Runnable r) {
2015-02-20 17:34:19 +11:00
if (r != null) {
PS.get().TASK.taskAsync(r);
2015-02-20 17:34:19 +11:00
}
2015-01-10 01:05:10 +11:00
}
2015-02-23 12:32:27 +11:00
2015-02-23 11:33:48 +11:00
public static void runTask(final Runnable r) {
2015-02-20 17:34:19 +11:00
if (r != null) {
PS.get().TASK.task(r);
2015-02-20 17:34:19 +11:00
}
2015-02-16 02:22:00 +11:00
}
2015-02-23 12:32:27 +11:00
2015-04-29 22:04:25 +10:00
/**
* Run task later (delay in ticks)
* @param r
* @param delay
*/
2015-02-23 11:33:48 +11:00
public static void runTaskLater(final Runnable r, final int delay) {
2015-02-20 17:34:19 +11:00
if (r != null) {
PS.get().TASK.taskLater(r, delay);
2015-02-20 17:34:19 +11:00
}
2015-01-31 18:09:48 +11:00
}
2015-02-23 12:32:27 +11:00
2015-02-23 11:33:48 +11:00
public static void runTaskLaterAsync(final Runnable r, final int delay) {
2015-02-20 17:34:19 +11:00
if (r != null) {
PS.get().TASK.taskLaterAsync(r, delay);
2015-02-20 17:34:19 +11:00
}
2015-02-19 19:51:10 +11:00
}
2015-07-03 13:21:21 +02:00
public abstract int taskRepeat(final Runnable r, int interval);
public abstract void taskAsync(final Runnable r);
public abstract void task(final Runnable r);
public abstract void taskLater(final Runnable r, int delay);
public abstract void taskLaterAsync(final Runnable r, int delay);
public abstract void cancelTask(int task);
2015-01-10 01:05:10 +11:00
}