eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled())); } else { eventSet.add(new RegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
@Override protected boolean getIgnoreCancelled(Method method, boolean defaultIgnoreCancelled) { EventHandler info = method.getAnnotation(EventHandler.class); if (info == null) { return defaultIgnoreCancelled; } else { return info.ignoreCancelled(); } }
/** * Convenience method for component registration. Use @EventHandler to * specify EventPriority and ignoreCancelled. See * {@link fr.neatmonster.nocheatplus.event.mini.MiniListenerRegistry#register(Class, MiniListener, Object, RegistrationOrder, boolean)} * for reference on how to set up order. * * @param eventClass Type of event to register for. * @param listener * @throws IllegalArgumentException * If @EventHandler is not present or mismatching types. */ @SuppressWarnings("unchecked") public <E extends Event> void register(Class<E> eventClass, MiniListener<E> listener) { final Class<MiniListener<E>> clazz = (Class<MiniListener<E>>) listener.getClass(); EventHandler eh; try { Method method = clazz.getMethod("onEvent", eventClass); if (!method.isAnnotationPresent(EventHandler.class)) { throw new IllegalArgumentException("Must have @EventHandler annotation: " + clazz.getName()); } eh = method.getAnnotation(EventHandler.class); eventClass = (Class<E>) method.getParameterTypes()[0]; } catch (NoSuchMethodException e) { throw new IllegalArgumentException(e); } catch (SecurityException e) { throw new IllegalArgumentException(e); } register(eventClass, listener, eh.priority(), null, eh.ignoreCancelled()); }
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled())); } else { eventSet.add(new RegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));