summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorErik Broes <erikbroes@grum.nl>2011-03-30 00:38:46 +0200
committerErik Broes <erikbroes@grum.nl>2011-03-30 00:38:46 +0200
commitf5803e187626c838bf5267fd839f58de5807c273 (patch)
treed9179dc429e44248cfcfbbf318d90c5363ad4098 /src
parent6929a1830e75ae54ce9108c0fc7670030651e985 (diff)
downloadbukkit-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.java12
-rw-r--r--src/main/java/org/bukkit/plugin/SimplePluginManager.java16
-rw-r--r--src/main/java/org/bukkit/plugin/java/JavaPlugin.java10
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;;
+ }
+
}