From 7ea05e4ecc7f7f99fd0bc30fa9f404084f9c9198 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Mon, 30 Jun 2025 18:13:31 +0300 Subject: [PATCH] Refactored ScriptedActionManager to ActionManager, moved to same package as Actions --- .../npcs/controllers/data/PlayerData.java | 4 ++-- .../npcs/controllers/data/action/Action.java | 19 +++++++++---------- .../controllers/data/action/ActionChain.java | 5 ++--- .../data/action/ActionManager.java} | 8 ++------ .../data/action/ConditionalAction.java | 13 ++++++------- .../data/action/ParallelActionChain.java | 3 +-- .../npcs/entity/EntityNPCInterface.java | 4 ++-- .../java/noppes/npcs/scripted/NpcAPI.java | 8 +++----- 8 files changed, 27 insertions(+), 37 deletions(-) rename src/main/java/noppes/npcs/{scripted/ScriptedActionManager.java => controllers/data/action/ActionManager.java} (97%) diff --git a/src/main/java/noppes/npcs/controllers/data/PlayerData.java b/src/main/java/noppes/npcs/controllers/data/PlayerData.java index bd97b85d0..07cc91a1d 100644 --- a/src/main/java/noppes/npcs/controllers/data/PlayerData.java +++ b/src/main/java/noppes/npcs/controllers/data/PlayerData.java @@ -22,6 +22,7 @@ import noppes.npcs.constants.EnumRoleType; import noppes.npcs.controllers.CustomEffectController; import noppes.npcs.controllers.PartyController; import noppes.npcs.controllers.PlayerDataController; +import noppes.npcs.controllers.data.action.ActionManager; import noppes.npcs.entity.EntityCustomNpc; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.entity.data.DataSkinOverlays; @@ -29,7 +30,6 @@ import noppes.npcs.entity.data.DataTimers; import noppes.npcs.roles.RoleCompanion; import noppes.npcs.scripted.NpcAPI; import noppes.npcs.scripted.ScreenSize; -import noppes.npcs.scripted.ScriptedActionManager; import noppes.npcs.util.CustomNPCsThreader; import noppes.npcs.util.NBTJsonUtil; @@ -52,7 +52,7 @@ public class PlayerData implements IExtendedEntityProperties, IPlayerData { public DataSkinOverlays skinOverlays = new DataSkinOverlays(this); public MagicData magicData = new MagicData(); - public ScriptedActionManager actionManager = new ScriptedActionManager(); + public ActionManager actionManager = new ActionManager(); public PlayerDataScript scriptData; public EntityNPCInterface editingNpc; diff --git a/src/main/java/noppes/npcs/controllers/data/action/Action.java b/src/main/java/noppes/npcs/controllers/data/action/Action.java index 72823cdb5..cc68534cd 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/Action.java +++ b/src/main/java/noppes/npcs/controllers/data/action/Action.java @@ -4,7 +4,6 @@ import noppes.npcs.api.handler.data.IAction; import noppes.npcs.api.handler.data.actions.IConditionalAction; import noppes.npcs.controllers.ScriptContainer; import noppes.npcs.scripted.CustomNPCsException; -import noppes.npcs.scripted.ScriptedActionManager; import org.apache.commons.lang3.exception.ExceptionUtils; import java.util.HashMap; @@ -13,7 +12,7 @@ import java.util.function.Consumer; import java.util.function.Function; public class Action implements IAction { - protected final ScriptedActionManager manager; + protected final ActionManager manager; protected final String name; protected int startAfterTicks; protected int count, maxCount = -1; @@ -27,7 +26,7 @@ public class Action implements IAction { protected ScriptContainer reportTo; - public Action(ScriptedActionManager manager, String name) { + public Action(ActionManager manager, String name) { this.manager = manager; this.name = name; @@ -35,31 +34,31 @@ public class Action implements IAction { reportTo = ScriptContainer.Current; } - public Action(ScriptedActionManager manager, Consumer task) { + public Action(ActionManager manager, Consumer task) { this(manager, task.toString(), task); } - public Action(ScriptedActionManager manager, String name, Consumer task) { + public Action(ActionManager manager, String name, Consumer task) { this(manager, name); this.task = task; } - public Action(ScriptedActionManager manager, int startAfterTicks, Consumer task) { + public Action(ActionManager manager, int startAfterTicks, Consumer task) { this(manager, task); this.startAfterTicks = startAfterTicks; } - public Action(ScriptedActionManager manager, String name, int startAfterTicks, Consumer task) { + public Action(ActionManager manager, String name, int startAfterTicks, Consumer task) { this(manager, name, task); this.startAfterTicks = startAfterTicks; } - public Action(ScriptedActionManager manager, int maxDuration, int startAfterTicks, Consumer task) { + public Action(ActionManager manager, int maxDuration, int startAfterTicks, Consumer task) { this(manager, startAfterTicks, task); this.maxDuration = maxDuration; } - public Action(ScriptedActionManager manager, String name, int maxDuration, int startAfterTicks, Consumer task) { + public Action(ActionManager manager, String name, int maxDuration, int startAfterTicks, Consumer task) { this(manager, name, startAfterTicks, task); this.maxDuration = maxDuration; } @@ -113,7 +112,7 @@ public class Action implements IAction { } @Override - public ScriptedActionManager getManager() { + public ActionManager getManager() { return manager; } 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 e4ba13ef0..20d5c9d01 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/ActionChain.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ActionChain.java @@ -2,7 +2,6 @@ package noppes.npcs.controllers.data.action; import noppes.npcs.api.handler.data.IAction; import noppes.npcs.api.handler.data.IActionChain; -import noppes.npcs.scripted.ScriptedActionManager; import java.util.function.Consumer; @@ -10,11 +9,11 @@ import java.util.function.Consumer; * helper to build a back‐to‐back chain of one‐shot actions */ public class ActionChain implements IActionChain { - protected final ScriptedActionManager manager; + protected final ActionManager manager; protected String defaultName = "sequential#"; protected int index = 0; - public ActionChain(ScriptedActionManager manager) { + public ActionChain(ActionManager manager) { this.manager = manager; } diff --git a/src/main/java/noppes/npcs/scripted/ScriptedActionManager.java b/src/main/java/noppes/npcs/controllers/data/action/ActionManager.java similarity index 97% rename from src/main/java/noppes/npcs/scripted/ScriptedActionManager.java rename to src/main/java/noppes/npcs/controllers/data/action/ActionManager.java index 6da5d3254..234321464 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptedActionManager.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ActionManager.java @@ -1,13 +1,9 @@ -package noppes.npcs.scripted; +package noppes.npcs.controllers.data.action; import noppes.npcs.api.handler.IActionManager; import noppes.npcs.api.handler.data.IAction; import noppes.npcs.api.handler.data.IActionChain; import noppes.npcs.api.handler.data.actions.IConditionalAction; -import noppes.npcs.controllers.data.action.Action; -import noppes.npcs.controllers.data.action.ActionChain; -import noppes.npcs.controllers.data.action.ConditionalAction; -import noppes.npcs.controllers.data.action.ParallelActionChain; import java.util.*; import java.util.concurrent.ConcurrentLinkedDeque; @@ -22,7 +18,7 @@ import java.util.function.Function; * - conditional actions * - cancellation & clearing */ -public class ScriptedActionManager implements IActionManager { +public class ActionManager implements IActionManager { private boolean isWorking = false; private final Deque actionQueue = new ConcurrentLinkedDeque<>(); diff --git a/src/main/java/noppes/npcs/controllers/data/action/ConditionalAction.java b/src/main/java/noppes/npcs/controllers/data/action/ConditionalAction.java index a578c0d12..d1ee784ad 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/ConditionalAction.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ConditionalAction.java @@ -2,7 +2,6 @@ package noppes.npcs.controllers.data.action; import noppes.npcs.api.handler.data.IAction; import noppes.npcs.api.handler.data.actions.IConditionalAction; -import noppes.npcs.scripted.ScriptedActionManager; import org.apache.commons.lang3.exception.ExceptionUtils; import java.util.function.Consumer; @@ -17,32 +16,32 @@ public class ConditionalAction extends Action implements IConditionalAction { private int checkCount; private boolean taskExecuted; - public ConditionalAction(ScriptedActionManager manager, Function condition, Consumer task) { + public ConditionalAction(ActionManager manager, Function condition, Consumer task) { super(manager, task); this.condition = condition; } - public ConditionalAction(ScriptedActionManager manager, String name, Function condition, Consumer task) { + public ConditionalAction(ActionManager manager, String name, Function condition, Consumer task) { super(manager, name, task); this.condition = condition; } - public ConditionalAction(ScriptedActionManager manager, Function condition, Consumer task, Function terminateWhen) { + public ConditionalAction(ActionManager manager, Function condition, Consumer task, Function terminateWhen) { this(manager, condition, task); this.terminateWhen = terminateWhen; } - public ConditionalAction(ScriptedActionManager manager, String name, Function condition, Consumer task, Function terminateWhen) { + public ConditionalAction(ActionManager manager, String name, Function condition, Consumer task, Function terminateWhen) { this(manager, name, condition, task); this.terminateWhen = terminateWhen; } - public ConditionalAction(ScriptedActionManager manager, Function condition, Consumer task, Function terminateWhen, Consumer onTermination) { + public ConditionalAction(ActionManager manager, Function condition, Consumer task, Function terminateWhen, Consumer onTermination) { this(manager, condition, task, terminateWhen); this.onTermination = onTermination; } - public ConditionalAction(ScriptedActionManager manager, String name, Function condition, Consumer task, Function terminateWhen, Consumer onTermination) { + public ConditionalAction(ActionManager manager, String name, Function condition, Consumer task, Function terminateWhen, Consumer onTermination) { this(manager, name, condition, task, terminateWhen); this.onTermination = onTermination; } 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 0598d0fef..869766ddd 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/ParallelActionChain.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ParallelActionChain.java @@ -2,14 +2,13 @@ package noppes.npcs.controllers.data.action; import noppes.npcs.api.handler.data.IAction; import noppes.npcs.api.handler.data.IActionChain; -import noppes.npcs.scripted.ScriptedActionManager; import java.util.function.Consumer; public class ParallelActionChain extends ActionChain implements IActionChain { private int offset; - public ParallelActionChain(ScriptedActionManager manager) { + public ParallelActionChain(ActionManager manager) { super(manager); defaultName = "parallel#"; } diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index 56808721a..7fd5525e2 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -72,10 +72,10 @@ import noppes.npcs.controllers.FactionController; import noppes.npcs.controllers.LinkedNpcController; import noppes.npcs.controllers.LinkedNpcController.LinkedData; import noppes.npcs.controllers.data.*; +import noppes.npcs.controllers.data.action.ActionManager; import noppes.npcs.entity.data.DataTimers; import noppes.npcs.roles.*; import noppes.npcs.scripted.NpcAPI; -import noppes.npcs.scripted.ScriptedActionManager; import noppes.npcs.scripted.entity.ScriptNpc; import noppes.npcs.scripted.event.NpcEvent; import noppes.npcs.util.GameProfileAlt; @@ -98,7 +98,7 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti public DataTimers timers; public CombatHandler combatHandler = new CombatHandler(this); - public ScriptedActionManager actionManager = new ScriptedActionManager(); + public ActionManager actionManager = new ActionManager(); public String linkedName = ""; public long linkedLast = 0; diff --git a/src/main/java/noppes/npcs/scripted/NpcAPI.java b/src/main/java/noppes/npcs/scripted/NpcAPI.java index a514f8508..76a9936c2 100644 --- a/src/main/java/noppes/npcs/scripted/NpcAPI.java +++ b/src/main/java/noppes/npcs/scripted/NpcAPI.java @@ -51,10 +51,8 @@ import noppes.npcs.config.ConfigScript; import noppes.npcs.constants.EnumAnimationPart; import noppes.npcs.containers.ContainerNpcInterface; import noppes.npcs.controllers.*; -import noppes.npcs.controllers.data.Animation; -import noppes.npcs.controllers.data.Frame; -import noppes.npcs.controllers.data.FramePart; -import noppes.npcs.controllers.data.SkinOverlay; +import noppes.npcs.controllers.data.*; +import noppes.npcs.controllers.data.action.ActionManager; import noppes.npcs.entity.EntityCustomNpc; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.entity.EntityProjectile; @@ -79,7 +77,7 @@ public class NpcAPI extends AbstractNpcAPI { private static final CacheHashMap> scriptItemCache = new CacheHashMap<>(60 * 1000); public static final HashMap engineObjects = new HashMap<>(); public static final EventBus EVENT_BUS = new EventBus(); - public static final ScriptedActionManager actionManager = new ScriptedActionManager(); + public static final ActionManager actionManager = new ActionManager(); private static AbstractNpcAPI instance = null; private final static String API_USER_AGENT = "CNPC+API";