From e001beb6bae2f4a7371e42d0958d9c9e0f77a16a Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Sat, 28 Jun 2025 10:06:14 +0300 Subject: [PATCH] Added global API.getActionManager() --- src/api | 2 +- src/main/java/noppes/npcs/ServerTickHandler.java | 11 ++++++++++- src/main/java/noppes/npcs/scripted/NpcAPI.java | 5 +++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/api b/src/api index 3efd012ae..f074267f7 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit 3efd012ae0c465ff39ccfa85986ea966cc1bfa26 +Subproject commit f074267f73cd3c8480efe354af7b3d8c63480d90 diff --git a/src/main/java/noppes/npcs/ServerTickHandler.java b/src/main/java/noppes/npcs/ServerTickHandler.java index c73874df5..ecfdce50a 100644 --- a/src/main/java/noppes/npcs/ServerTickHandler.java +++ b/src/main/java/noppes/npcs/ServerTickHandler.java @@ -11,13 +11,22 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.world.WorldServer; import noppes.npcs.client.AnalyticsTracking; import noppes.npcs.controllers.data.PlayerData; +import noppes.npcs.scripted.NpcAPI; import java.net.InetAddress; import java.net.UnknownHostException; public class ServerTickHandler { + @SubscribeEvent - public void onServerTick(TickEvent.WorldTickEvent event) { + public void onServerTick(TickEvent.ServerTickEvent event) { + if (event.phase == Phase.END) { + NpcAPI.actionManager.tick(MinecraftServer.getServer().getTickCounter()); + } + } + + @SubscribeEvent + public void onWorldTick(TickEvent.WorldTickEvent event) { if (event.phase == Phase.START) { NPCSpawning.findChunksForSpawning((WorldServer) event.world); } diff --git a/src/main/java/noppes/npcs/scripted/NpcAPI.java b/src/main/java/noppes/npcs/scripted/NpcAPI.java index 54d86963d..a514f8508 100644 --- a/src/main/java/noppes/npcs/scripted/NpcAPI.java +++ b/src/main/java/noppes/npcs/scripted/NpcAPI.java @@ -79,6 +79,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(); private static AbstractNpcAPI instance = null; private final static String API_USER_AGENT = "CNPC+API"; @@ -559,6 +560,10 @@ public class NpcAPI extends AbstractNpcAPI { return container instanceof ContainerNpcInterface ? ContainerNpcInterface.getOrCreateIContainer((ContainerNpcInterface) container) : new ScriptContainer(container); } + public IActionManager getActionManager() { + return actionManager; + } + private void checkWorld() { if (CustomNpcs.getServer() == null || CustomNpcs.getServer().isServerStopped()) { throw new CustomNPCsException("No world is loaded right now");