create events for external research

these events get trigered when a block is placed or used, when a block is used it will check if the event is canceled
The change for this class is broken. It doesn't make sense to remove all the code and put it back - in particular since the code added back is the same... Possibly an different indentation problem.