Well, I don't really use comparators for timer systems (I don't trust their update rate, though that might be totally ungrounded), but here's some code that should work just fine.
// Initialization commands... scoreboard objectives add Ticks dummy scoreboard objectives add Seconds dummy scoreboard objectives add Minutes dummy scoreboard players set TimerSystem Ticks 0 scoreboard players set TimerSystem Seconds 0 scoreboard players set TimerSystem Minutes 0 // Run-time commands... scoreboard players add TimerSystem Ticks 1 // Run this one in a repeating command block. The rest go in chain command blocks. scoreboard players test TimerSystem Ticks 20 // Checks to see if the Ticks score >= 20 scoreboard players add TimerSystem Seconds 1 // CONDITIONAL CHAIN COMMAND BLOCK scoreboard players set TimerSystem Ticks 0 // Also conditional chain command block scoreboard players test TimerSystem Seconds 60 // Checks to see if Seconds score >= 60 scoreboard players add TimerSystem Minutes 1 // CONDITIONAL CHAIN COMMAND BLOCK scoreboard players set TimerSystem Seconds 0 // Also conditional chain command block
It's a pretty simple pattern. Use the scoreboard TEST function to see if you're in the range you're looking for, and then execute two conditional command blocks afterward if it's successful.
This particular method only works if you've got one global clock (or rather, you need to duplicate it for each global clock you're running).
If you're doing it on a player-by-player basis, you can actually do it in fewer commands, but it means you can't use fake players (like I'm doing with the fake player named "TimerSystem" up above).
On a player-by-player basis, I'd use these runtime commands, instead.
// Run-time commands... Run the first one as a repeating block, the rest as regular chain blocks. scoreboard players add @a[score_Ticks=20] Ticks 1 scoreboard players add @a[score_Ticks_min=20] Seconds 1 scoreboard players set @a[score_Ticks_min=20] Ticks 0 scoreboard players add @a[score_Seconds_min=60] Minutes 1 scoreboard players set @a[score_Seconds_min=60] Seconds 0
Hope that helps!
1