From 2262222f606962a382730e53e5e2b8753b316267 Mon Sep 17 00:00:00 2001 From: sarhatabaot Date: Sat, 4 May 2019 22:19:12 +0300 Subject: [PATCH] Revert "Revert "Implemeted abstract Task class"" This reverts commit 74b89b93805614a22ffd36abf1d1680b9768235d. --- .../Slimefun/Objects/tasks/SlimefunTask.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/me/mrCookieSlime/Slimefun/Objects/tasks/SlimefunTask.java diff --git a/src/me/mrCookieSlime/Slimefun/Objects/tasks/SlimefunTask.java b/src/me/mrCookieSlime/Slimefun/Objects/tasks/SlimefunTask.java new file mode 100644 index 000000000..531b716fe --- /dev/null +++ b/src/me/mrCookieSlime/Slimefun/Objects/tasks/SlimefunTask.java @@ -0,0 +1,31 @@ +package me.mrCookieSlime.Slimefun.Objects.tasks; + +import org.bukkit.Bukkit; + +import java.util.UUID; + +public abstract class SlimefunTask implements Runnable { + private UUID uuid; + private int id; + + @Override + public void run() { + if(cancelTask()) + return; + executeTask(); + } + + /** + * + * @return True if task was cancelled. + */ + private boolean cancelTask(){ + if(Bukkit.getPlayer(uuid) == null || Bukkit.getPlayer(uuid).isDead() || !Bukkit.getPlayer(uuid).isSneaking()) { + Bukkit.getScheduler().cancelTask(id); + return true; + } + return false; + } + + abstract void executeTask(); +}