mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 15:00:13 +01:00
Start the Plugin interfaces
By: Dinnerbone <dinnerbone@dinnerbone.com>
This commit is contained in:
parent
94c43fd0fa
commit
1df4f74b79
2 changed files with 81 additions and 0 deletions
33
paper-api/src/org/bukkit/plugin/Plugin.java
Normal file
33
paper-api/src/org/bukkit/plugin/Plugin.java
Normal file
|
@ -0,0 +1,33 @@
|
|||
|
||||
package org.bukkit.plugin;
|
||||
|
||||
/**
|
||||
* Represents a plugin
|
||||
*/
|
||||
public abstract class Plugin {
|
||||
private boolean isEnabled = false;
|
||||
|
||||
/**
|
||||
* Returns a value indicating whether or not this plugin is currently enabled
|
||||
*
|
||||
* @return true if this plugin is enabled, otherwise false
|
||||
*/
|
||||
public final boolean isEnabled() {
|
||||
return isEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when this plugin is enabled
|
||||
*/
|
||||
protected abstract void onEnable();
|
||||
|
||||
/**
|
||||
* Called when this plugin is disabled
|
||||
*/
|
||||
protected abstract void onDisable();
|
||||
|
||||
/**
|
||||
* Called when this plugin is first initialized
|
||||
*/
|
||||
protected abstract void onInitialize();
|
||||
}
|
48
paper-api/src/org/bukkit/plugin/PluginLoader.java
Normal file
48
paper-api/src/org/bukkit/plugin/PluginLoader.java
Normal file
|
@ -0,0 +1,48 @@
|
|||
|
||||
package org.bukkit.plugin;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* Represents a plugin loader, which provides access and management for all plugins
|
||||
* currently loaded on a server instance
|
||||
*/
|
||||
public interface PluginLoader {
|
||||
/**
|
||||
* Checks if the given plugin is loaded and returns it when applicable
|
||||
*
|
||||
* Please note that the name of the plugin is case-sensitive
|
||||
*
|
||||
* @param name Name of the plugin to check
|
||||
* @return Plugin if it exists, otherwise null
|
||||
*/
|
||||
public Plugin getPlugin(String name);
|
||||
/**
|
||||
* Checks if the given plugin is enabled or not
|
||||
*
|
||||
* Please note that the name of the plugin is case-sensitive.
|
||||
*
|
||||
* @param name Name of the plugin to check
|
||||
* @return true if the plugin is enabled, otherwise false
|
||||
*/
|
||||
public boolean isPluginEnabled(String name);
|
||||
|
||||
/**
|
||||
* Checks if the given plugin is enabled or not
|
||||
*
|
||||
* @param plugin Plugin to check
|
||||
* @return true if the plugin is enabled, otherwise false
|
||||
*/
|
||||
public boolean isPluginEnabled(Plugin plugin);
|
||||
|
||||
/**
|
||||
* Loads the plugin contained in the specified file
|
||||
*
|
||||
* File must be a .jar and contain a valid plugin.yaml file
|
||||
*
|
||||
* @param file File to attempt to load
|
||||
* @return Plugin that was contained in the specified file, or null if
|
||||
* unsuccessful
|
||||
*/
|
||||
public Plugin loadPlugin(File file);
|
||||
}
|
Loading…
Reference in a new issue