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