How to catch event before blocks changed?

@Listener(order = Order.FIRST, beforeModifications = true)
public void onChangeBlock(ChangeBlockEvent event) {

This code can only get the states of after block changed, I need a way to get some other blocks by the location before blocks changed.


The first event to fire on BlockChange is ChangeBlockEvent.Pre

I do not understand what you need it for? Could you maybe rephrase your statement?


In fact, Pre event won’t be fired when blocks change normaly. (API-7.1)

 * Called before running specific block logic at one or more 
 * {@link Location}'s such as {@link BlockTypes#FLOWING_WATER}.
interface Pre extends Event, Cancellable {}


How come you need it before it changes? Everything about the block before is stored in the state