public interface PluginLoader
JavaPluginLoader| Modifier and Type | Method and Description |
|---|---|
void |
disablePlugin(Plugin plugin)
停用一个插件。
Disables a plugin. |
void |
enablePlugin(Plugin plugin)
启用一个插件。
Enables a plugin. |
PluginDescription |
getPluginDescription(File file)
通过插件的
File对象,来获得描述这个插件的 PluginDescription对象。Gets a PluginDescription object describes the plugin by a File object describes the plugin file. |
PluginDescription |
getPluginDescription(String filename)
通过插件文件名的字符串,来获得描述这个插件的
PluginDescription对象。Gets a PluginDescription object describes the plugin by its file name. |
Pattern[] |
getPluginFilters()
返回这个插件加载器支持的文件类型。
Returns the file types this plugin loader supports. |
Plugin |
loadPlugin(File file)
通过插件的
File对象,来加载和初始化一个插件。Loads and initializes a plugin by a File object describes the file. |
Plugin |
loadPlugin(String filename)
通过文件名字的字符串,来加载和初始化一个插件。
Loads and initializes a plugin by its file name. |
Plugin loadPlugin(String filename) throws Exception
这个方法应该设置好插件的相关属性。比如,插件所在的服务器对象,插件的加载器对象,插件的描述对象,插件的数据文件夹。
Properties for loaded plugin should be set in this method. Such as, the Server object for which this
plugin is running in, the PluginLoader object for its loader, and the File object for its
data folder.
如果插件加载失败,这个方法应该返回null,或者抛出异常。
If the plugin loader does not load this plugin successfully, a null should be returned,
or an exception should be thrown.
filename - 这个插件的文件名字字符串。Plugin对象。Plugin object.Exception - 插件加载失败所抛出的异常。loadPlugin(File),
PluginBase.init(PluginLoader, Server, PluginDescription, File, File)Plugin loadPlugin(File file) throws Exception
File对象,来加载和初始化一个插件。File object describes the file.
这个方法应该设置好插件的相关属性。比如,插件所在的服务器对象,插件的加载器对象,插件的描述对象,插件的数据文件夹。
Properties for loaded plugin should be set in this method. Such as, the Server object for which this
plugin is running in, the PluginLoader object for its loader, and the File object for its
data folder.
如果插件加载失败,这个方法应该返回null,或者抛出异常。
If the plugin loader does not load this plugin successfully, a null should be returned,
or an exception should be thrown.
file - 这个插件的文件的 File对象。File object for this plugin.Plugin对象。Plugin object.Exception - 插件加载失败所抛出的异常。loadPlugin(String),
PluginBase.init(PluginLoader, Server, PluginDescription, File, File)PluginDescription getPluginDescription(String filename)
PluginDescription对象。PluginDescription object describes the plugin by its file name.
如果插件的描述对象获取失败,这个方法应该返回null。
If the plugin loader does not get its description successfully, a null should be returned.
filename - 这个插件的文件名字。PluginDescription对象。PluginDescription object describes the plugin.getPluginDescription(File)PluginDescription getPluginDescription(File file)
File对象,来获得描述这个插件的 PluginDescription对象。PluginDescription object describes the plugin by a File object describes the plugin file.
如果插件的描述对象获取失败,这个方法应该返回null。
If the plugin loader does not get its description successfully, a null should be returned.
file - 这个插件的文件的 File对象。File object for this plugin.PluginDescription对象。PluginDescription object describes the plugin.getPluginDescription(String)Pattern[] getPluginFilters()
在Nukkit读取所有插件时,插件管理器会查找所有已经安装的插件加载器,通过识别这个插件是否满足下面的条件,
来选择对应的插件加载器。
When Nukkit is trying to load all its plugins, the plugin manager will look for all installed plugin loader,
and choose the correct one by checking if this plugin matches the filters given below.
举个例子,识别这个文件是否以jar为扩展名,它的正则表达式是:
For example, to check if this file is has a "jar" extension, the regular expression should be:
^.+\\.jar$
所以只读取jar扩展名的插件加载器,这个函数应该写成:
So, for a jar-extension-only file plugin loader, this method should be:
@Override
public Pattern[] getPluginFilters() {
return new Pattern[]{Pattern.compile("^.+\\.jar$")};
}
void enablePlugin(Plugin plugin)
plugin - 要被启用的插件。disablePlugin(org.cloudburstmc.server.plugin.Plugin)void disablePlugin(Plugin plugin)
plugin - 要被停用的插件。enablePlugin(org.cloudburstmc.server.plugin.Plugin)Copyright © 2020. All rights reserved.