org.bukkit.plugin
Interface Plugin

All Superinterfaces:
CommandExecutor, TabCompleter, TabExecutor
All Known Implementing Classes:
JavaPlugin, PluginBase

public interface Plugin
extends TabExecutor

Represents a Plugin

The use of PluginBase is recommended for actual Implementation


Method Summary
 FileConfiguration getConfig()
          Gets a FileConfiguration for this plugin, read through "config.yml"
 com.avaje.ebean.EbeanServer getDatabase()
          Gets the EbeanServer tied to this plugin.
 File getDataFolder()
          Returns the folder that the plugin data's files are located in.
 ChunkGenerator getDefaultWorldGenerator(String worldName, String id)
          Gets a ChunkGenerator for use in a default world, as specified in the server configuration
 PluginDescriptionFile getDescription()
          Returns the plugin.yaml file containing the details for this plugin
 Logger getLogger()
          Returns the plugin logger associated with this server's logger.
 String getName()
          Returns the name of the plugin.
 PluginLoader getPluginLoader()
          Gets the associated PluginLoader responsible for this plugin
 InputStream getResource(String filename)
          Gets an embedded resource in this plugin
 Server getServer()
          Returns the Server instance currently running this plugin
 boolean isEnabled()
          Returns a value indicating whether or not this plugin is currently enabled
 boolean isNaggable()
          Simple boolean if we can still nag to the logs about things
 void onDisable()
          Called when this plugin is disabled
 void onEnable()
          Called when this plugin is enabled
 void onLoad()
          Called after a plugin is loaded but before it has been enabled.
 void reloadConfig()
          Discards any data in getConfig() and reloads from disk.
 void saveConfig()
          Saves the FileConfiguration retrievable by getConfig().
 void saveDefaultConfig()
          Saves the raw contents of the default config.yml file to the location retrievable by getConfig().
 void saveResource(String resourcePath, boolean replace)
          Saves the raw contents of any resource embedded with a plugin's .jar file assuming it can be found using getResource(String).
 void setNaggable(boolean canNag)
          Set naggable state
 
Methods inherited from interface org.bukkit.command.TabCompleter
onTabComplete
 
Methods inherited from interface org.bukkit.command.CommandExecutor
onCommand
 

Method Detail

getDataFolder

File getDataFolder()
Returns the folder that the plugin data's files are located in. The folder may not yet exist.

Returns:
The folder

getDescription

PluginDescriptionFile getDescription()
Returns the plugin.yaml file containing the details for this plugin

Returns:
Contents of the plugin.yaml file

getConfig

FileConfiguration getConfig()
Gets a FileConfiguration for this plugin, read through "config.yml"

If there is a default config.yml embedded in this plugin, it will be provided as a default for this Configuration.

Returns:
Plugin configuration

getResource

InputStream getResource(String filename)
Gets an embedded resource in this plugin

Parameters:
filename - Filename of the resource
Returns:
File if found, otherwise null

saveConfig

void saveConfig()
Saves the FileConfiguration retrievable by getConfig().


saveDefaultConfig

void saveDefaultConfig()
Saves the raw contents of the default config.yml file to the location retrievable by getConfig(). If there is no default config.yml embedded in the plugin, an empty config.yml file is saved. This should fail silently if the config.yml already exists.


saveResource

void saveResource(String resourcePath,
                  boolean replace)
Saves the raw contents of any resource embedded with a plugin's .jar file assuming it can be found using getResource(String).

The resource is saved into the plugin's data folder using the same hierarchy as the .jar file (subdirectories are preserved).

Parameters:
resourcePath - the embedded resource path to look for within the plugin's .jar file. (No preceding slash).
replace - if true, the embedded resource will overwrite the contents of an existing file.
Throws:
IllegalArgumentException - if the resource path is null, empty, or points to a nonexistent resource.

reloadConfig

void reloadConfig()
Discards any data in getConfig() and reloads from disk.


getPluginLoader

PluginLoader getPluginLoader()
Gets the associated PluginLoader responsible for this plugin

Returns:
PluginLoader that controls this plugin

getServer

Server getServer()
Returns the Server instance currently running this plugin

Returns:
Server running this plugin

isEnabled

boolean isEnabled()
Returns a value indicating whether or not this plugin is currently enabled

Returns:
true if this plugin is enabled, otherwise false

onDisable

void onDisable()
Called when this plugin is disabled


onLoad

void onLoad()
Called after a plugin is loaded but before it has been enabled.

When mulitple plugins are loaded, the onLoad() for all plugins is called before any onEnable() is called.


onEnable

void onEnable()
Called when this plugin is enabled


isNaggable

boolean isNaggable()
Simple boolean if we can still nag to the logs about things

Returns:
boolean whether we can nag

setNaggable

void setNaggable(boolean canNag)
Set naggable state

Parameters:
canNag - is this plugin still naggable?

getDatabase

com.avaje.ebean.EbeanServer getDatabase()
Gets the EbeanServer tied to this plugin. This will only be available if enabled in the PluginDescriptionFile.isDatabaseEnabled()

For more information on the use of Avaje Ebeans ORM, see Avaje Ebeans Documentation

For an example using Ebeans ORM, see Bukkit's Homebukkit Plugin

Returns:
ebean server instance or null if not enabled

getDefaultWorldGenerator

ChunkGenerator getDefaultWorldGenerator(String worldName,
                                        String id)
Gets a ChunkGenerator for use in a default world, as specified in the server configuration

Parameters:
worldName - Name of the world that this will be applied to
id - Unique ID, if any, that was specified to indicate which generator was requested
Returns:
ChunkGenerator for use in the default world generation

getLogger

Logger getLogger()
Returns the plugin logger associated with this server's logger. The returned logger automatically tags all log messages with the plugin's name.

Returns:
Logger associated with this plugin

getName

String getName()
Returns the name of the plugin.

This should return the bare name of the plugin and should be used for comparison.

Returns:
name of the plugin


Copyright © 2014. All rights reserved.