Bukkit has a system called Event Priorities to help plugins handle events in the correct older. The seven priorities are (in older from first executed to last):
If you are planning to cancel a lot of events (e.g. protection plugin) it would be a good idea to use lower priority (or lowest) to avoid problems.
You should never modify outcome of an event at MONITOR.
@EventHandler //same as @EventHandler(priority = EventPriority.NORMAL)
public void onLogin(PlayerLoginEvent event) {
// normal login
}
@EventHandler(priority = EventPriority.HIGH)
public void onLogin(PlayerLoginEvent event) {
// high login
}
More info: