Hey Bedrock_Miner,
you told that the regen effect doesnt apply fast enough because it gets reseted every tick.
The solution?
In your onArmorUpdate() method make a int-variable that counts ticks. Make it increase on every tick by 1 and
when it hits lets say 200 (10 secs) then you reapply the regen-effect. Then reset the counter again to 0.