diff --git a/res/scripts/internal_events.lua b/res/scripts/internal_events.lua index 7aee5450f..c71df5d61 100644 --- a/res/scripts/internal_events.lua +++ b/res/scripts/internal_events.lua @@ -9,6 +9,7 @@ block.__perform_ticks = function(delta) for id, entry in pairs(updating_blocks) do entry.timer = entry.timer + delta local steps = math.floor(entry.timer / entry.delta * #entry / 3) + steps = math.min(steps, #entry / 3) if steps == 0 then goto continue end @@ -28,6 +29,7 @@ block.__perform_ticks = function(delta) for id, queue in pairs(present_queues) do queue.timer = queue.timer + delta local steps = math.floor(queue.timer / queue.delta * #queue / 3) + steps = math.min(steps, #queue / 3) if steps == 0 then goto continue end