From a3a28fe3deb59ad7afac5a1147f7c9a4e6342da3 Mon Sep 17 00:00:00 2001 From: Jesse Boyd Date: Mon, 13 Aug 2018 04:28:14 +1000 Subject: [PATCH] Register each method + debug bad getMethods() --- .../boydti/fawe/bukkit/v0/ChunkListener.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/ChunkListener.java b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/ChunkListener.java index a1e85b0a..fb413095 100644 --- a/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/ChunkListener.java +++ b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/ChunkListener.java @@ -69,8 +69,27 @@ public abstract class ChunkListener implements Listener { if (Settings.IMP.TICK_LIMITER.ENABLED) { PluginManager plm = Bukkit.getPluginManager(); Plugin plugin = Fawe.imp().getPlugin(); - plm.registerEvents(this, plugin); try { plm.registerEvents(new ChunkListener_8Plus(this), plugin); } catch (Throwable ignore) {} + try { + for (Method method : this.getClass().getMethods()) { + if (method.isAnnotationPresent(EventHandler.class)) { + try { + EventHandler annotation = method.getAnnotation(EventHandler.class); + EventPriority priority = annotation.priority(); + boolean ignoreC = annotation.ignoreCancelled(); + Class event = (Class) method.getParameterTypes()[0]; + EventExecutor executor = EventExecutor.create(method, event); + plm.registerEvent(event, this, priority, executor, plugin, ignoreC); + } catch (Throwable e) { + Fawe.debug("Failed to register " + method + " | " + e.getMessage()); + e.printStackTrace(); + } + } + } + } catch (Throwable e) { + System.out.println("Failed to get methods"); + e.printStackTrace(); + } TaskManager.IMP.repeat(new Runnable() { @Override public void run() {