From 42f7a6b8e48edd61fb075c8a29a044050e5e80b7 Mon Sep 17 00:00:00 2001 From: Feildmaster Date: Sun, 15 Jan 2012 02:14:28 -0600 Subject: Don't send events to disabled plugins. --- .../org/bukkit/plugin/SimplePluginManager.java | 52 +++++++++++----------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java index fb19a2ea..5e8615d0 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java @@ -331,35 +331,35 @@ public final class SimplePluginManager implements PluginManager { * @param event Event details */ public synchronized void callEvent(Event event) { - SortedSet eventListeners = listeners.get(event.getType()); + for (RegisteredListener registration : getEventListeners(event.getType())) { + if(!registration.getPlugin().isEnabled()) { + continue; + } - if (eventListeners != null) { - for (RegisteredListener registration : eventListeners) { - try { - long start = System.nanoTime(); - registration.callEvent(event); - registration.getPlugin().incTiming(event.getType(), System.nanoTime() - start); - } catch (AuthorNagException ex) { - Plugin plugin = registration.getPlugin(); - - if (plugin.isNaggable()) { - plugin.setNaggable(false); - - String author = ""; - - if (plugin.getDescription().getAuthors().size() > 0) { - author = plugin.getDescription().getAuthors().get(0); - } - server.getLogger().log(Level.SEVERE, String.format( - "Nag author: '%s' of '%s' about the following: %s", - author, - plugin.getDescription().getName(), - ex.getMessage() - )); + try { + long start = System.nanoTime(); + registration.callEvent(event); + registration.getPlugin().incTiming(event.getType(), System.nanoTime() - start); + } catch (AuthorNagException ex) { + Plugin plugin = registration.getPlugin(); + + if (plugin.isNaggable()) { + plugin.setNaggable(false); + + String author = ""; + + if (plugin.getDescription().getAuthors().size() > 0) { + author = plugin.getDescription().getAuthors().get(0); } - } catch (Throwable ex) { - server.getLogger().log(Level.SEVERE, "Could not pass event " + event.getType() + " to " + registration.getPlugin().getDescription().getName(), ex); + server.getLogger().log(Level.SEVERE, String.format( + "Nag author: '%s' of '%s' about the following: %s", + author, + plugin.getDescription().getName(), + ex.getMessage() + )); } + } catch (Throwable ex) { + server.getLogger().log(Level.SEVERE, "Could not pass event " + event.getType() + " to " + registration.getPlugin().getDescription().getName(), ex); } } } -- cgit v1.2.3