diff options
author | Erik Broes <erikbroes@grum.nl> | 2011-03-30 00:38:46 +0200 |
---|---|---|
committer | Erik Broes <erikbroes@grum.nl> | 2011-03-30 00:38:46 +0200 |
commit | f5803e187626c838bf5267fd839f58de5807c273 (patch) | |
tree | d9179dc429e44248cfcfbbf318d90c5363ad4098 /src | |
parent | 6929a1830e75ae54ce9108c0fc7670030651e985 (diff) | |
download | bukkit-f5803e187626c838bf5267fd839f58de5807c273.tar bukkit-f5803e187626c838bf5267fd839f58de5807c273.tar.gz bukkit-f5803e187626c838bf5267fd839f58de5807c273.tar.lz bukkit-f5803e187626c838bf5267fd839f58de5807c273.tar.xz bukkit-f5803e187626c838bf5267fd839f58de5807c273.zip |
Just NAG once, to be nice
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/bukkit/plugin/Plugin.java | 12 | ||||
-rw-r--r-- | src/main/java/org/bukkit/plugin/SimplePluginManager.java | 16 | ||||
-rw-r--r-- | src/main/java/org/bukkit/plugin/java/JavaPlugin.java | 10 |
3 files changed, 32 insertions, 6 deletions
diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java index 82359691..11c2aa84 100644 --- a/src/main/java/org/bukkit/plugin/Plugin.java +++ b/src/main/java/org/bukkit/plugin/Plugin.java @@ -68,4 +68,16 @@ public interface Plugin extends CommandExecutor { * Called when this plugin is enabled */ public void onEnable(); + + /** + * Simple boolean if we can still nag to the logs about things + * @return boolean whether we can nag + */ + public boolean isNaggable(); + + /** + * Set naggable state + * @param canNag is this plugin still naggable? + */ + public void setNaggable(boolean canNag); } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java index 5cdee774..efa1f033 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java @@ -254,12 +254,16 @@ public final class SimplePluginManager implements PluginManager { try { registration.callEvent( event ); } catch (AuthorNagException ex) { - server.getLogger().log(Level.SEVERE, String.format( - "Nag author: %s of %s about the following:", - registration.getPlugin().getDescription().getAuthors().get(0), - registration.getPlugin().getDescription().getName(), - ex.getMessage() - )); + Plugin plugin = registration.getPlugin(); + if (plugin.isNaggable()) { + plugin.setNaggable(false); + server.getLogger().log(Level.SEVERE, String.format( + "Nag author: %s of %s about the following:", + plugin.getDescription().getAuthors().get(0), + 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); } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java index 10186f6c..f33ddb78 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java @@ -24,6 +24,7 @@ public abstract class JavaPlugin implements Plugin { private File dataFolder = null; private ClassLoader classLoader = null; private Configuration config = null; + private boolean naggable = true; public JavaPlugin() { } @@ -189,4 +190,13 @@ public abstract class JavaPlugin implements Plugin { public void onLoad() { // Empty! } + + public final boolean isNaggable() { + return naggable; + } + + public final void setNaggable(boolean canNag) { + this.naggable = canNag;; + } + } |