package me.fromgate.reactions.actions; import me.fromgate.reactions.util.ActVal; import me.fromgate.reactions.util.Param; import me.fromgate.reactions.util.Util; import me.fromgate.reactions.util.message.M; import me.fromgate.reactions.util.waiter.ActionsWaiter; import org.bukkit.entity.Player; public class ActionDelayed extends Action { @Override public boolean execute(Player p, Param params) { long delay = Util.parseTime(params.getParam("time", "0")); if (delay == 0) return false; String actionSource = params.getParam("action", ""); if (actionSource.isEmpty()) return false; String actionStr; String paramStr = ""; if (!actionSource.contains(" ")) actionStr = actionSource; else { actionStr = actionSource.substring(0, actionSource.indexOf(" ")); paramStr = actionSource.substring(actionSource.indexOf(" ") + 1); } if (!Actions.isValid(actionStr)) { M.logOnce(actionSource, "Failed to execute delayed action: " + actionSource); return false; } ActVal av = new ActVal(actionStr, paramStr); ActionsWaiter.executeDelayed(p, av, this.isAction(), delay); /* final Actions action = Actions.getByName(actionStr); if (action==null) { M.logOnce(actionSource, "Failed to execute delayed action: "+actionSource); return false; } final boolean isAction = this.isAction(); //final Activator activator = this.getActivator(); final Param actionParam = new Param (paramStr); Bukkit.getScheduler().runTaskLater(plg(), new Runnable(){ @Override public void run() { if (p==null) return; action.performAction(p, isAction, actionParam); } }, Util.timeToTicks(delay)); */ return false; } }