summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2010-12-24 13:06:44 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2010-12-24 13:06:44 +0000
commit231c037142ffb74d3b0eea741b633312ec660c70 (patch)
tree4ffa3e5c81b5283f70fba53a0cf9b03350fa0f72
parent3f46b28753092e86f7cdb5037a3b7f46c738affd (diff)
downloadbukkit-231c037142ffb74d3b0eea741b633312ec660c70.tar
bukkit-231c037142ffb74d3b0eea741b633312ec660c70.tar.gz
bukkit-231c037142ffb74d3b0eea741b633312ec660c70.tar.lz
bukkit-231c037142ffb74d3b0eea741b633312ec660c70.tar.xz
bukkit-231c037142ffb74d3b0eea741b633312ec660c70.zip
Few additions to Plugin for retrieving the Server and PluginLoader responsible for the plugin
-rw-r--r--src/org/bukkit/plugin/Plugin.java33
-rw-r--r--src/org/bukkit/plugin/PluginManager.java3
2 files changed, 35 insertions, 1 deletions
diff --git a/src/org/bukkit/plugin/Plugin.java b/src/org/bukkit/plugin/Plugin.java
index 78cb7dc6..ba781ce2 100644
--- a/src/org/bukkit/plugin/Plugin.java
+++ b/src/org/bukkit/plugin/Plugin.java
@@ -1,11 +1,44 @@
package org.bukkit.plugin;
+import org.bukkit.Server;
+
/**
* Represents a plugin
*/
public abstract class Plugin {
private boolean isEnabled = false;
+ private final PluginLoader loader;
+ private final Server server;
+
+ /**
+ * Constructs a new plugin instance
+ *
+ * @param pluginLoader PluginLoader that is responsible for this plugin
+ * @param instance Server instance that is running this plugin
+ */
+ protected Plugin(PluginLoader pluginLoader, Server instance) {
+ loader = pluginLoader;
+ server = instance;
+ }
+
+ /**
+ * Gets the associated PluginLoader responsible for this plugin
+ *
+ * @return PluginLoader that controls this plugin
+ */
+ protected final PluginLoader getPluginLoader() {
+ return loader;
+ }
+
+ /**
+ * Returns the Server instance currently running this plugin
+ *
+ * @return Server running this plugin
+ */
+ public final Server getServer() {
+ return server;
+ }
/**
* Returns a value indicating whether or not this plugin is currently enabled
diff --git a/src/org/bukkit/plugin/PluginManager.java b/src/org/bukkit/plugin/PluginManager.java
index 11854407..de710414 100644
--- a/src/org/bukkit/plugin/PluginManager.java
+++ b/src/org/bukkit/plugin/PluginManager.java
@@ -26,8 +26,9 @@ public final class PluginManager {
* Registers the specified plugin loader
*
* @param loader Class name of the PluginLoader to register
+ * @throws IllegalArgumentException Thrown when the given Class is not a valid PluginLoader
*/
- public void RegisterInterface(Class loader) {
+ public void RegisterInterface(Class loader) throws IllegalArgumentException {
PluginLoader instance;
if (PluginLoader.class.isAssignableFrom(loader)) {