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
looks fine here in my intelliJ, looks like tab values are different on github, i'll try to fix it