diff --git a/core/src/mindustry/world/blocks/logic/LogicBlock.java b/core/src/mindustry/world/blocks/logic/LogicBlock.java index f0ce5122de..0f6e713350 100644 --- a/core/src/mindustry/world/blocks/logic/LogicBlock.java +++ b/core/src/mindustry/world/blocks/logic/LogicBlock.java @@ -523,8 +523,6 @@ public class LogicBlock extends Block{ if(state.rules.disableWorldProcessors && privileged) return; if(enabled && executor.initialized()){ - accumulator += edelta() * ipt; - if(accumulator > maxInstructionScale * ipt) accumulator = maxInstructionScale * ipt; while(accumulator >= 1f){ @@ -535,6 +533,10 @@ public class LogicBlock extends Block{ } accumulator --; } + + // Do not move in front of the loop, otherwise the curTime accumulated in WaitI + // may get out of sync with the accumulator increase. + accumulator += edelta() * ipt; } }