I'm making a lucky blocks plugin and I've found that whenever I break a lucky block, I the BlockBreakEvent is called twice, neither of them are cancelled. A number of events, like the PlayerInteractEvent are called twice, once for the main hand and once for the offhand (Which, to me seems pretty dumb, they should be separated into multiple events that extend the PlayerInteractEvent). In this event's case, the solution is easy: Code (Java): if(event.getHand() == EquipmentSlot.OFF_HAND) return; I assume this is the issue because breaking a block is similar to interacting with a block. But the BlockBreakEvent doesn't have a method to get the hand, most likely since only the mainhand can break blocks. I've tried using cooldowns, but that caused other issues.