mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Implemeted abstract Task class
* Removes the duplicated code in every Task class.
This commit is contained in:
parent
b20851da07
commit
82b3f3c06c
@ -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();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user