Thank you for your suggestion, I took your advice looked into the @Mod.EventBusSubscriber annotation.
That will make things very neat, I am glad I looked into it further, awesome tip.
I have implemented the change but I am still having no luck with BlockEvent.PlaceEvent.
It just isn't firing, but is registered in an identical fashion to BlockEvent.BreakEvent.
However BlockEvent.BreakEvent is working perfectly.
So I am singling out these two events as they are registered in the same way, but one works and the other does not.
Here is the code, in the Main mod class I have explicitly assigned the value and bus fields of the annotation to be on the safe side (rather than leaving them as default):