From 71bb35191942919a31e84244008978f004d34e05 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Mon, 28 Apr 2025 08:17:57 +0300 Subject: [PATCH] More conditional create and chain methods --- src/api | 2 +- .../npcs/scripted/ScriptedActionManager.java | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) 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)); + } + + } }