@Listener
public void onBlockBreak(ChangeBlockEvent.Break evt, @Root Player player) {
//go through all changes (will mostly be only one)
for (Transaction<BlockSnapshot> tr : evt.getTransactions()) {
//check if the original state was a LOG
if (tr.getOriginal().getState().getType() != BlockTypes.LOG) {
//if not, set the transaction invalid
tr.setValid(false);
}
}
}