From 466b49db5ee5648932e44de0d7a7e2f6abab0eb3 Mon Sep 17 00:00:00 2001 From: KAMKEEL <28842281+KAMKEEL@users.noreply.github.com> Date: Tue, 11 Aug 2026 04:52:50 -0400 Subject: [PATCH] Let the day/night transform actually fire EntityAITransform claimed the PASSIVE mutex, so any running movement or look task blocked it from ever starting. The swap only happened in the gaps where those yielded - which is why it appeared to trigger when an NPC said a line and for a moment afterwards. The task only polls world time and flips the state, so it needs no mutex at all. --- src/main/java/noppes/npcs/ai/EntityAITransform.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/noppes/npcs/ai/EntityAITransform.java b/src/main/java/noppes/npcs/ai/EntityAITransform.java index 9f565bccc..b0c3fa30e 100644 --- a/src/main/java/noppes/npcs/ai/EntityAITransform.java +++ b/src/main/java/noppes/npcs/ai/EntityAITransform.java @@ -10,7 +10,10 @@ public class EntityAITransform extends EntityAIBase { public EntityAITransform(EntityNPCInterface npc) { this.npc = npc; - setMutexBits(AiMutex.PASSIVE); + // No mutex: this only polls the world time and flips the transform, it drives nothing. + // Claiming PASSIVE let any running movement or look task starve it, so the day/night + // swap only fired in the gaps where those yielded - such as while saying a line. + setMutexBits(0); } @Override