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");