Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class Task {
- //Static Objects
- public static int DELAYED = 0;
- public static int REPEATING = 1;
- public static Plugin plugin = Main.getPlugin();
- //Objects
- private int tickRate;
- private int tick;
- private int totalTick;
- private int autoCancel;
- public int count = 0;
- private boolean isCancelled;
- //Constructors
- public Task(int i, int tickRate) {
- this.tickRate = tickRate;
- tick = 0;
- totalTick = 0;
- autoCancel = 0;
- isCancelled = false;
- if (i == DELAYED) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
- @Override
- public void run() {
- update();
- cancel();
- }
- }, tickRate);
- return;
- }
- TaskManager.getInstance().addTask(this);
- }
- public Task(int i, int tickRate, int autoCancel) {
- this.tickRate = tickRate;
- tick = 0;
- totalTick = 0;
- this.autoCancel = autoCancel;
- isCancelled = false;
- if (i == DELAYED) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(TunnelsHub.getPlugin(), new Runnable() {
- @Override
- public void run() {
- update();
- cancel();
- }
- }, tickRate);
- return;
- }
- TaskManager.getInstance().addTask(this);
- }
- //Abstract Methods
- public abstract void update();
- //Object Methods
- public void updateTicks() {
- tick++;
- totalTick++;
- if (tick >= tickRate) {
- tick = 0;
- count++;
- update();
- }
- if (autoCancel > 0 && totalTick >= autoCancel) {
- cancel();
- }
- }
- public void setAutoCancel(int autoCancel) {
- this.autoCancel = autoCancel;
- }
- public void cancel() {
- isCancelled = true;
- TaskManager.getInstance().removeTask(this);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement