diff --git a/src/main/java/noppes/npcs/controllers/data/action/ActionQueue.java b/src/main/java/noppes/npcs/controllers/data/action/ActionQueue.java index cd06bacf2..0a20f4a5a 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/ActionQueue.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ActionQueue.java @@ -19,6 +19,8 @@ public class ActionQueue implements IActionQueue { protected boolean isParallel; protected boolean isDead; + protected boolean stopWhenEmpty; + protected boolean killWhenEmpty; protected int killWhenEmptyAfter = 100; @@ -70,6 +72,18 @@ public class ActionQueue implements IActionQueue { isParallel = parallel; return this; } + + @Override + public boolean isStoppedWhenEmpty() { + return stopWhenEmpty; + } + + @Override + public IActionQueue stopWhenEmpty(boolean stopWhenEmpty) { + this.stopWhenEmpty = stopWhenEmpty; + return this; + } + @Override public boolean isKilledWhenEmpty() { return killWhenEmpty; @@ -309,6 +323,9 @@ public class ActionQueue implements IActionQueue { pit.remove(); } + if (stopWhenEmpty && !hasActiveTasks()) + stop(); + killWhenEmpty(); if (manager.debug && active)