From b8c8beab9a264cdd63023cc07b0980ba3049a7ec Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Fri, 24 Dec 2010 18:16:00 +0000 Subject: [PATCH] Fixed a few bugs getting sample plugin to load --- .gitignore | 7 ++++- .../bukkit/sample/SamplePlugin.java | 28 +++++++++++++++++++ src/org/bukkit/plugin/Plugin.java | 5 ---- src/org/bukkit/plugin/PluginManager.java | 1 - src/org/bukkit/plugin/java/JavaPlugin.java | 2 +- .../bukkit/plugin/java/JavaPluginLoader.java | 4 +-- 6 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java diff --git a/.gitignore b/.gitignore index 863c54ba..9ba47d06 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,9 @@ /nbproject /build.xml /manifest.mf -/dist \ No newline at end of file +/dist +/sample/test +/sample/build.xml +/sample/build +/sample/dist +/sample/nbproject \ No newline at end of file diff --git a/sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java b/sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java new file mode 100644 index 00000000..8f5445d4 --- /dev/null +++ b/sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java @@ -0,0 +1,28 @@ + +package com.dinnerbone.bukkit.sample; + +import java.io.File; +import org.bukkit.Server; +import org.bukkit.plugin.PluginDescriptionFile; +import org.bukkit.plugin.PluginLoader; +import org.bukkit.plugin.java.JavaPlugin; + +/** + * Sample plugin for Bukkit + * + * @author Dinnerbone + */ +public class SamplePlugin extends JavaPlugin { + public SamplePlugin(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File plugin, ClassLoader cLoader) { + super(pluginLoader, instance, desc, plugin, cLoader); + System.out.println("Johnny five is alive!"); + } + + public void onDisable() { + System.out.println("Goodbye world!"); + } + + public void onEnable() { + System.out.println("Hello world!"); + } +} diff --git a/src/org/bukkit/plugin/Plugin.java b/src/org/bukkit/plugin/Plugin.java index a0979451..e9097cdb 100644 --- a/src/org/bukkit/plugin/Plugin.java +++ b/src/org/bukkit/plugin/Plugin.java @@ -44,9 +44,4 @@ public interface Plugin { * Called when this plugin is enabled */ public void onEnable(); - - /** - * Called when this plugin is first initialized - */ - public void onInitialize(); } diff --git a/src/org/bukkit/plugin/PluginManager.java b/src/org/bukkit/plugin/PluginManager.java index 7a399796..d35d91df 100644 --- a/src/org/bukkit/plugin/PluginManager.java +++ b/src/org/bukkit/plugin/PluginManager.java @@ -110,7 +110,6 @@ public final class PluginManager { if (result != null) { plugins.add(result); lookupNames.put(result.getDescription().getName(), result); - result.onInitialize(); } return result; diff --git a/src/org/bukkit/plugin/java/JavaPlugin.java b/src/org/bukkit/plugin/java/JavaPlugin.java index 1b8dd2f5..e2fa61c1 100644 --- a/src/org/bukkit/plugin/java/JavaPlugin.java +++ b/src/org/bukkit/plugin/java/JavaPlugin.java @@ -27,7 +27,7 @@ public abstract class JavaPlugin implements Plugin { * @param plugin File containing this plugin * @param cLoader ClassLoader which holds this plugin */ - protected JavaPlugin(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File plugin, ClassLoader cLoader) { + public JavaPlugin(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File plugin, ClassLoader cLoader) { loader = pluginLoader; server = instance; file = plugin; diff --git a/src/org/bukkit/plugin/java/JavaPluginLoader.java b/src/org/bukkit/plugin/java/JavaPluginLoader.java index bd6d0f86..3eb517ff 100644 --- a/src/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/org/bukkit/plugin/java/JavaPluginLoader.java @@ -28,7 +28,7 @@ public final class JavaPluginLoader implements PluginLoader { public Plugin loadPlugin(File file) throws InvalidPluginException { JavaPlugin result = null; - PluginDescriptionFile description = new PluginDescriptionFile("Sample Plugin", "org.bukkit.plugin.sample.main"); + PluginDescriptionFile description = new PluginDescriptionFile("Sample Plugin", "com.dinnerbone.bukkit.sample.SamplePlugin"); if (!file.exists()) { throw new InvalidPluginException(new FileNotFoundException(String.format("%s does not exist", file.getPath()))); @@ -36,7 +36,7 @@ public final class JavaPluginLoader implements PluginLoader { try { ClassLoader loader = URLClassLoader.newInstance(new URL[]{file.toURI().toURL()}, getClass().getClassLoader()); - Class jarClass = Class.forName(description.getMain()); + Class jarClass = Class.forName(description.getMain(), true, loader); Class plugin = jarClass.asSubclass(JavaPlugin.class); Constructor constructor = plugin.getConstructor(PluginLoader.class, Server.class, PluginDescriptionFile.class, File.class, ClassLoader.class);