stevenh a89a96416b Refactored event calling so its front loading avoiding the lookup for each event call.
This now uses an annoymous class implementing IExecutor that facilitates direct event method handler calling

Changed commands from being executed exclusively by a player to by a CommandSender to facilitate external command callers such as rcon

Fixed CustomEventListener

Merged in additional events

Added getFullName to PluginDescriptionFile which returns the combination of Name and Version

There's also a few bits of reformatting as it seems someones been editing with either tabs or dos eol :(
2011-01-29 16:23:56 +00:00

74 lines
1.7 KiB
Java

package org.bukkit.plugin;
import java.io.File;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.util.config.Configuration;
/**
* Represents a Plugin
*/
public interface Plugin {
/**
* Returns the folder that the plugin data's files are located in. The
* folder may not yet exist.
*
* @return
*/
public File getDataFolder();
/**
* Returns the plugin.yaml file containing the details for this plugin
*
* @return Contents of the plugin.yaml file
*/
public PluginDescriptionFile getDescription();
/**
* Returns the main configuration file. It should be loaded.
*
* @return
*/
public Configuration getConfiguration();
/**
* Gets the associated PluginLoader responsible for this plugin
*
* @return PluginLoader that controls this plugin
*/
public PluginLoader getPluginLoader();
/**
* Returns the Server instance currently running this plugin
*
* @return Server running this plugin
*/
public Server getServer();
/**
* Returns a value indicating whether or not this plugin is currently enabled
*
* @return true if this plugin is enabled, otherwise false
*/
public boolean isEnabled();
/**
* Called when this plugin is disabled
*/
public void onDisable();
/**
* Called when this plugin is enabled
*/
public void onEnable();
/**
* Called when a command registered by this plugin is received.
* @param commandLabel
* @return TODO
*/
public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args);
}