diff --git a/src/api b/src/api index 05c95c96b..5a12178a9 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit 05c95c96b9872cfec53f035418dc02577a1629ba +Subproject commit 5a12178a92962849de1d9bd0c48655ebd76864ed diff --git a/src/main/java/noppes/npcs/scripted/ScriptedActionManager.java b/src/main/java/noppes/npcs/scripted/ScriptedActionManager.java index 667fbc6e2..3f2ccbf5d 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptedActionManager.java +++ b/src/main/java/noppes/npcs/scripted/ScriptedActionManager.java @@ -46,6 +46,27 @@ public class ScriptedActionManager implements IActionManager { public IAction create(Consumer t) { return new Action(t); } + + @Override + public IConditionalAction create(Supplier predicate, Consumer task) { + return new ConditionalAction(predicate, task); + } + + @Override + public IConditionalAction create(String name, Supplier predicate, Consumer task) { + return new ConditionalAction(name, predicate, task); + } + + @Override + public IConditionalAction create(Supplier predicate, Supplier terminate, Consumer task) { + return new ConditionalAction(predicate, terminate, task); + } + + @Override + public IConditionalAction create(String name, Supplier predicate, Supplier terminate, Consumer task) { + return new ConditionalAction(name, predicate, terminate, task); + } + @Override public void start() { isWorking = true; @@ -458,5 +479,35 @@ public class ScriptedActionManager implements IActionManager { @Override public int getCheckCount() { return checkCount; } @Override public int getMaxChecks() { return maxChecks; } + + ///////////////////////////////////////////////// + ///////////////////////////////////////////////// + //Before chains + @Override + public IConditionalAction after(IConditionalAction after) { + return scheduleConditionalAction(after); + } + + @Override + public IConditionalAction after(Supplier predicate, Consumer task) { + return after(create(predicate, task)); + } + + @Override + public IConditionalAction after(String name, Supplier predicate, Consumer task) { + return after(create(name, predicate, task)); + } + + @Override + public IConditionalAction after(Supplier predicate, Supplier terminate, Consumer task) { + return after(create(predicate, terminate, task)); + } + + @Override + public IConditionalAction after(String name, Supplier predicate, Supplier terminate, Consumer task) { + return after(create(name, predicate, terminate, task)); + } + + } }