... Supporting the plugins which really shouldn't be doing what they're doing. Don't put crap in the constructor!

This commit is contained in:
Dinnerbone 2011-02-20 00:43:06 +00:00
parent 1a2c154145
commit 346de2a934

View File

@ -38,6 +38,8 @@ public abstract class JavaPlugin implements Plugin {
public JavaPlugin(PluginLoader pluginLoader, Server instance,
PluginDescriptionFile desc, File folder, File plugin,
ClassLoader cLoader) {
initialize(pluginLoader, instance, desc, folder, plugin, cLoader);
System.out.println("Using the stupidly long constructor " + desc.getMain() + "(PluginLoader, Server, PluginDescriptionFile, File, File, ClassLoader) is no longer recommended. Go nag the plugin author of " + desc.getName() + " to remove it! (Nothing is broken, we just like to keep code clean.)");
ArrayList<String> authors = desc.getAuthors();
@ -161,13 +163,10 @@ public abstract class JavaPlugin implements Plugin {
* @param file File containing this plugin
* @param classLoader ClassLoader which holds this plugin
*/
protected void initialize(PluginLoader loader, Server server,
protected final void initialize(PluginLoader loader, Server server,
PluginDescriptionFile description, File dataFolder, File file,
ClassLoader classLoader) {
if (initialized) {
throw new UnsupportedOperationException("Cannot reinitialize a plugin");
}
if (!initialized) {
this.initialized = true;
this.loader = loader;
this.server = server;
@ -178,6 +177,7 @@ public abstract class JavaPlugin implements Plugin {
this.config = new Configuration(new File(dataFolder, "config.yml"));
this.config.load();
}
}
/**
* Gets the initialization status of this plugin