public abstract class JavaPlugin extends PluginBase
Modifier | Constructor and Description |
---|---|
|
JavaPlugin() |
protected |
JavaPlugin(@NotNull JavaPluginLoader loader,
@NotNull PluginDescriptionFile description,
@NotNull File dataFolder,
@NotNull File file) |
Modifier and Type | Method and Description |
---|---|
protected @NotNull ClassLoader |
getClassLoader()
Returns the ClassLoader which holds this plugin
|
@Nullable PluginCommand |
getCommand(@NotNull String name)
Gets the command with the given name, specific to this plugin.
|
@NotNull FileConfiguration |
getConfig()
Gets a
FileConfiguration for this plugin, read through
"config.yml" |
@NotNull File |
getDataFolder()
Returns the folder that the plugin data's files are located in.
|
@Nullable ChunkGenerator |
getDefaultWorldGenerator(@NotNull String worldName,
@Nullable String id)
Gets a
ChunkGenerator for use in a default world, as specified
in the server configuration |
@NotNull PluginDescriptionFile |
getDescription()
Returns the plugin.yaml file containing the details for this plugin
|
protected @NotNull File |
getFile()
Returns the file which contains this plugin
|
@NotNull Logger |
getLogger()
Returns the plugin logger associated with this server's logger.
|
static <T extends JavaPlugin> |
getPlugin(@NotNull 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. |
@NotNull PluginLoader |
getPluginLoader()
Gets the associated PluginLoader responsible for this plugin
|
static @NotNull JavaPlugin |
getProvidingPlugin(@NotNull Class<?> clazz)
This method provides fast access to the plugin that has provided the
given class.
|
@Nullable InputStream |
getResource(@NotNull String filename)
Gets an embedded resource in this plugin
|
@NotNull Server |
getServer()
Returns the Server instance currently running this plugin
|
protected @Nullable Reader |
getTextResource(@NotNull 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(@NotNull CommandSender sender,
@NotNull Command command,
@NotNull String label,
@NotNull 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.
|
@Nullable List<String> |
onTabComplete(@NotNull CommandSender sender,
@NotNull Command command,
@NotNull String alias,
@NotNull 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(@NotNull 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
|
@NotNull String |
toString() |
equals, getName, hashCode
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getSLF4JLogger
@NotNull public final @NotNull File getDataFolder()
@NotNull public final @NotNull PluginLoader getPluginLoader()
@NotNull public final @NotNull Server getServer()
public final boolean isEnabled()
@NotNull protected @NotNull File getFile()
@NotNull public final @NotNull PluginDescriptionFile getDescription()
@NotNull public @NotNull 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 @Nullable Reader getTextResource(@NotNull @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 @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 @Nullable InputStream getResource(@NotNull @NotNull String filename)
Plugin
filename
- Filename of the resource@NotNull protected final @NotNull ClassLoader getClassLoader()
protected final void setEnabled(boolean enabled)
enabled
- true if enabled, otherwise falsepublic boolean onCommand(@NotNull @NotNull CommandSender sender, @NotNull @NotNull Command command, @NotNull @NotNull String label, @NotNull @NotNull String[] args)
sender
- Source of the commandcommand
- Command which was executedlabel
- Alias of the command which was usedargs
- Passed command arguments@Nullable public @Nullable List<String> onTabComplete(@NotNull @NotNull CommandSender sender, @NotNull @NotNull Command command, @NotNull @NotNull String alias, @NotNull @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 @Nullable PluginCommand getCommand(@NotNull @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 @Nullable ChunkGenerator getDefaultWorldGenerator(@NotNull @NotNull String worldName, @Nullable @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 @NotNull Logger getLogger()
Plugin
@NotNull public static <T extends JavaPlugin> T getPlugin(@NotNull @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 @NotNull JavaPlugin getProvidingPlugin(@NotNull @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 © 2021. All rights reserved.