From 2bb1df968bfed7f119082b1774c94d9fe2176fea Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Mon, 30 Jun 2025 17:50:10 +0300 Subject: [PATCH] Improved ParallelActionChain --- src/api | 2 +- .../controllers/data/action/ActionChain.java | 13 +++++----- .../data/action/ParallelActionChain.java | 24 +++++-------------- 3 files changed, 14 insertions(+), 25 deletions(-) diff --git a/src/api b/src/api index f998e8feb..13d32ae42 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit f998e8feb4e45e130632df26a313016031ad82d0 +Subproject commit 13d32ae42518a70ea3cc80677a7d3e611a2aef9b diff --git a/src/main/java/noppes/npcs/controllers/data/action/ActionChain.java b/src/main/java/noppes/npcs/controllers/data/action/ActionChain.java index 7b6debd71..e4ba13ef0 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/ActionChain.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ActionChain.java @@ -10,11 +10,12 @@ import java.util.function.Consumer; * helper to build a back‐to‐back chain of one‐shot actions */ public class ActionChain implements IActionChain { - private final ScriptedActionManager manager; - private int index = 0; + protected final ScriptedActionManager manager; + protected String defaultName = "sequential#"; + protected int index = 0; - public ActionChain(ScriptedActionManager scriptedActionManager) { - this.manager = scriptedActionManager; + public ActionChain(ScriptedActionManager manager) { + this.manager = manager; } /** @@ -22,14 +23,14 @@ public class ActionChain implements IActionChain { */ @Override public IActionChain after(int delay, String name, Consumer task) { - index++; manager.schedule(name, delay, task).updateEvery(1).once(); + index++; return this; } @Override public IActionChain after(int delay, Consumer task) { - return after(delay, "chain#" + index, task); + return after(delay, defaultName + index, task); } @Override diff --git a/src/main/java/noppes/npcs/controllers/data/action/ParallelActionChain.java b/src/main/java/noppes/npcs/controllers/data/action/ParallelActionChain.java index d0bba15f2..0598d0fef 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/ParallelActionChain.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ParallelActionChain.java @@ -6,12 +6,12 @@ import noppes.npcs.scripted.ScriptedActionManager; import java.util.function.Consumer; -public class ParallelActionChain implements IActionChain { - private final ScriptedActionManager manager; - private int offset = 0, idx = 0; +public class ParallelActionChain extends ActionChain implements IActionChain { + private int offset; - public ParallelActionChain(ScriptedActionManager scriptedActionManager) { - this.manager = scriptedActionManager; + public ParallelActionChain(ScriptedActionManager manager) { + super(manager); + defaultName = "parallel#"; } /** @@ -20,20 +20,8 @@ public class ParallelActionChain implements IActionChain { @Override public IActionChain after(int delay, String name, Consumer task) { offset += delay; - idx++; - manager.scheduleParallel(name, offset, task).updateEvery(1).once(); - return this; - } - - @Override - public IActionChain after(int delay, Consumer task) { - return after(delay, "parallel#" + idx, task); - } - - @Override - public IActionChain start() { - manager.start(); + index++; return this; } }