From f1be19748f0c70d1e94db14aa6df758fa7c25fc4 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Tue, 4 Mar 2025 15:14:05 +0200 Subject: [PATCH] Cleaned API ActionManager --- java/noppes/npcs/api/IAction.java | 69 --------------------- java/noppes/npcs/api/IActionManager.java | 51 --------------- java/noppes/npcs/api/entity/ICustomNpc.java | 2 +- 3 files changed, 1 insertion(+), 121 deletions(-) delete mode 100644 java/noppes/npcs/api/IAction.java delete mode 100644 java/noppes/npcs/api/IActionManager.java diff --git a/java/noppes/npcs/api/IAction.java b/java/noppes/npcs/api/IAction.java deleted file mode 100644 index 14acd2e..0000000 --- a/java/noppes/npcs/api/IAction.java +++ /dev/null @@ -1,69 +0,0 @@ -package noppes.npcs.api; - -import java.util.function.Consumer; - -public interface IAction { - - /** - * @return number of times the function passed has been called upon - */ - int getCount(); - - /** - * @return number of ticks since action starting - */ - int getDuration(); - - String getName(); - - int getMaxDuration(); - - /** - * @param done set to true to end action - */ - void setDone(boolean done); - - boolean isDone(); - - /** - * Allows the storage of objects that might be needed within the action. - * Equivalent to npc.getTempData(). - * All data deleted on action ending - * - * @param key - * @return - */ - void addData(String key, Object value); - - Object getData(String key); - - int getUpdateEveryXTick(); - - /** - * @param X calls upon the function passed every X ticks - */ - void setUpdateEveryXTick(int X); - - /** - * @return number of ticks to elapse before starting action - */ - int getStartAfterTicks(); - - /** - * Creates a new IAction. allows for instant daisy-chaining without having to go through npc.getActionManager() again - * - * @param name - * @param maxDuration - * @param startAfterTicks - * @param action - * @return - */ - IAction create(String name, int maxDuration, int startAfterTicks, Consumer action); - - /** - * Schedules newAction right after this one, skipping the line of everything after - * - * @param newAction - */ - void scheduleAfter(IAction newAction); -} diff --git a/java/noppes/npcs/api/IActionManager.java b/java/noppes/npcs/api/IActionManager.java deleted file mode 100644 index 3adef83..0000000 --- a/java/noppes/npcs/api/IActionManager.java +++ /dev/null @@ -1,51 +0,0 @@ -package noppes.npcs.api; - -import java.util.Queue; -import java.util.function.Consumer; - -public interface IActionManager { - /** - * @param name - * @param maxDuration once maxDuration is reached the action ends - * @param action function to invoke as long as this action is active - * @param startAfterTicks number of ticks to elapse before starting action - * @return - */ - IAction createAction(String name, int maxDuration, int startAfterTicks, Consumer action); - - /** - * Starts ActionManager (paused by default) - */ - void start(); - - /** - * stops ActionManager - */ - void stop(); - - void addScheduledAction(IAction action); - - void addScheduledAction(String name, int maxDuration, int startAfterTicks, Consumer action); - - /** - * @param index to add action at in the actionQueue - * @param action - */ - void addScheduledActionAt(int index, IAction action); - - /** - * @param after The action to add toSchedule after - * @param toSchedule - */ - void scheduleActionAfter(IAction after, IAction toSchedule); - - /** - * @param action - * @return action's index in the actionQueue - */ - int getActionIndex(IAction action); - - IAction getCurrentAction(); - - Queue getActionQueue(); -} diff --git a/java/noppes/npcs/api/entity/ICustomNpc.java b/java/noppes/npcs/api/entity/ICustomNpc.java index 0253508..610ae53 100644 --- a/java/noppes/npcs/api/entity/ICustomNpc.java +++ b/java/noppes/npcs/api/entity/ICustomNpc.java @@ -1,10 +1,10 @@ package noppes.npcs.api.entity; import net.minecraft.entity.EntityCreature; -import noppes.npcs.api.IActionManager; import noppes.npcs.api.IPos; import noppes.npcs.api.ITimers; import noppes.npcs.api.entity.data.IModelData; +import noppes.npcs.api.handler.IActionManager; import noppes.npcs.api.handler.IOverlayHandler; import noppes.npcs.api.handler.data.IAnimationData; import noppes.npcs.api.handler.data.IDialog;