The block class inherits a method named updateTick(..). Many blocks don't really need to update, so I believe you need to set it to update. So in your block constructor call the method setTickRandomly(true). That should do it. Unlike tile entities, blocks don't update every tick. They only update at completely random intervals, or they update when blocks around them change, if they need to.
That's what I have already, but unfortunately I have a setup which means that I need the block to update every tick or two. Even four would do. Sadly, randomised ticking just won't work, so I may have a problem here.