CommandExecutor
, TabCompleter
, TabExecutor
, Plugin
public abstract class JavaPlugin extends PluginBase
Modifier | Constructor | Description |
---|---|---|
|
JavaPlugin() |
|
protected |
JavaPlugin(JavaPluginLoader loader,
PluginDescriptionFile description,
File dataFolder,
File file) |
Modifier and Type | Method | Description |
---|---|---|
protected ClassLoader |
getClassLoader() |
Returns the ClassLoader which holds this plugin
|
PluginCommand |
getCommand(String name) |
Gets the command with the given name, specific to this plugin.
|
FileConfiguration |
getConfig() |
Gets a
FileConfiguration for this plugin, read through
"config.yml" |
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
|
protected File |
getFile() |
Returns the file which contains this plugin
|
Logger |
getLogger() |
Returns the plugin logger associated with this server's logger.
|
static <T extends JavaPlugin> |
getPlugin(Class<T> clazz) |
This method provides fast access to the plugin that has
provided the given plugin class, which is
usually the plugin that implemented it. |
PluginLoader |
getPluginLoader() |
Gets the associated PluginLoader responsible for this plugin
|
static JavaPlugin |
getProvidingPlugin(Class<?> clazz) |
This method provides fast access to the plugin that has provided the
given class.
|
InputStream |
getResource(String filename) |
Gets an embedded resource in this plugin
|
Server |
getServer() |
Returns the Server instance currently running this plugin
|
protected Reader |
getTextResource(String file) |
Provides a reader for a text file located inside the jar.
|
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
|
boolean |
onCommand(CommandSender sender,
Command command,
String label,
String[] args) |
Executes the given command, returning its success.
|
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.
|
List<String> |
onTabComplete(CommandSender sender,
Command command,
String alias,
String[] args) |
Requests a list of possible completions for a command argument.
|
void |
reloadConfig() |
Discards any data in
Plugin.getConfig() and reloads from disk. |
void |
saveConfig() |
Saves the
FileConfiguration retrievable by Plugin.getConfig() . |
void |
saveDefaultConfig() |
Saves the raw contents of the default config.yml file to the location
retrievable by
Plugin.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
Plugin.getResource(String) . |
protected void |
setEnabled(boolean enabled) |
Sets the enabled state of this plugin
|
void |
setNaggable(boolean canNag) |
Set naggable state
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getSLF4JLogger
equals, getName, hashCode
public JavaPlugin()
protected JavaPlugin(@NotNull JavaPluginLoader loader, @NotNull PluginDescriptionFile description, @NotNull File dataFolder, @NotNull File file)
@NotNull public final File getDataFolder()
@NotNull public final PluginLoader getPluginLoader()
@NotNull public final Server getServer()
public final boolean isEnabled()
@NotNull protected File getFile()
@NotNull public final PluginDescriptionFile getDescription()
@NotNull public FileConfiguration getConfig()
Plugin
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.
@Nullable protected final Reader getTextResource(@NotNull String file)
The returned reader will read text with the UTF-8 charset.
file
- the filename of the resource to loadgetResource(String)
returns nullIllegalArgumentException
- if file is nullClassLoader.getResourceAsStream(String)
public void reloadConfig()
Plugin
Plugin.getConfig()
and reloads from disk.public void saveConfig()
Plugin
FileConfiguration
retrievable by Plugin.getConfig()
.public void saveDefaultConfig()
Plugin
Plugin.getConfig()
.
This should fail silently if the config.yml already exists.
public void saveResource(@NotNull String resourcePath, boolean replace)
Plugin
Plugin.getResource(String)
.
The resource is saved into the plugin's data folder using the same hierarchy as the .jar file (subdirectories are preserved).
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.@Nullable public InputStream getResource(@NotNull String filename)
Plugin
filename
- Filename of the resource@NotNull protected final ClassLoader getClassLoader()
protected final void setEnabled(boolean enabled)
enabled
- true if enabled, otherwise falsepublic boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args)
sender
- Source of the commandcommand
- Command which was executedlabel
- Alias of the command which was usedargs
- Passed command arguments@Nullable public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args)
sender
- Source of the command. For players tab-completing a
command inside of a command block, this will be the player, not
the command block.command
- Command which was executedalias
- The alias usedargs
- The arguments passed to the command, including final
partial argument to be completed and command label@Nullable public PluginCommand getCommand(@NotNull String name)
PluginDescriptionFile
to exist at runtime.name
- name or alias of the commandpublic void onLoad()
Plugin
When multiple plugins are loaded, the onLoad() for all plugins is called before any onEnable() is called.
public void onDisable()
Plugin
public void onEnable()
Plugin
@Nullable public ChunkGenerator getDefaultWorldGenerator(@NotNull String worldName, @Nullable String id)
Plugin
ChunkGenerator
for use in a default world, as specified
in the server configurationworldName
- Name of the world that this will be applied toid
- Unique ID, if any, that was specified to indicate which
generator was requestedpublic final boolean isNaggable()
Plugin
public final void setNaggable(boolean canNag)
Plugin
canNag
- is this plugin still naggable?@NotNull public Logger getLogger()
Plugin
@NotNull public static <T extends JavaPlugin> T getPlugin(@NotNull Class<T> clazz)
provided
the given plugin class, which is
usually the plugin that implemented it.
An exception to this would be if plugin's jar that contained the class does not extend the class, where the intended plugin would have resided in a different jar / classloader.
T
- a class that extends JavaPluginclazz
- the class desiredIllegalArgumentException
- if clazz is nullIllegalArgumentException
- if clazz does not extend JavaPlugin
IllegalStateException
- if clazz was not provided by a plugin,
for example, if called with
JavaPlugin.getPlugin(JavaPlugin.class)
IllegalStateException
- if called from the static initializer for
given JavaPluginClassCastException
- if plugin that provided the class does not
extend the class@NotNull public static JavaPlugin getProvidingPlugin(@NotNull Class<?> clazz)
clazz
- a class belonging to a pluginIllegalArgumentException
- if the class is not provided by a
JavaPluginIllegalArgumentException
- if class is nullIllegalStateException
- if called from the static initializer for
given JavaPluginCopyright © 2020. All rights reserved.