Думаю использовать для этого ивенты немного неэффективно.
Если у тебя есть свой блок, к которому ты хочешь применить эту механику, то тебе лучше переопределить метод разрушения блока onBlockDestroyedByPlayer(), а дальше использовать код наложения эффекта, представленный выше.
Ивенты нужны, если...