package tc.oc.commons.bukkit.event.targeted; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; /** * {@link Listener} methods with this annotation will receive targeted events. * * This works the same as {@link EventHandler}, but is not actually related to it in any way. */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface TargetedEventHandler { /** * Define the priority of the event. * <p> * First priority to the last priority executed: * <ol> * <li>LOWEST * <li>LOW * <li>NORMAL * <li>HIGH * <li>HIGHEST * <li>MONITOR * </ol> * * @return the priority */ EventPriority priority() default EventPriority.NORMAL; /** * Define if the handler ignores a cancelled event. * <p> * If ignoreCancelled is true and the event is cancelled, the method is * not called. Otherwise, the method is always called. * * @return whether cancelled events should be ignored */ boolean ignoreCancelled() default false; }