diff --git a/core/src/main/java/com/nisovin/magicspells/MagicSpells.java b/core/src/main/java/com/nisovin/magicspells/MagicSpells.java index c9df605c6..502140822 100644 --- a/core/src/main/java/com/nisovin/magicspells/MagicSpells.java +++ b/core/src/main/java/com/nisovin/magicspells/MagicSpells.java @@ -1972,7 +1972,7 @@ public static void registerEvents(final Listener listener, EventPriority customP if (handler == null) continue; EventPriority priority = handler.priority(); - if (hasAnnotation(method, OverridePriority.class)) priority = customPriority; + if (method.getAnnotation(OverridePriority.class) != null) priority = customPriority; final Class[] paramTypes = method.getParameterTypes(); if (paramTypes.length != 1 || !Event.class.isAssignableFrom(paramTypes[0])) { @@ -2020,10 +2020,6 @@ public void execute(@NotNull Listener listener, @NotNull Event event) { } } - private static boolean hasAnnotation(Method m, Class clazz) { - return m.getAnnotation(clazz) != null; - } - public static int scheduleDelayedTask(final Runnable task, long delay) { return Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, !plugin.enableErrorLogging ? task : () -> { try { diff --git a/core/src/main/java/com/nisovin/magicspells/util/OverridePriority.java b/core/src/main/java/com/nisovin/magicspells/util/OverridePriority.java index e3a3d4485..0ceb06807 100644 --- a/core/src/main/java/com/nisovin/magicspells/util/OverridePriority.java +++ b/core/src/main/java/com/nisovin/magicspells/util/OverridePriority.java @@ -1,5 +1,18 @@ package com.nisovin.magicspells.util; +import org.bukkit.event.EventHandler; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used on {@link EventHandler} annotated methods implemented by + * PassiveSpell triggers to allow for configurable override of their priority. + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) public @interface OverridePriority { }