第一章 第二节 了解PluginBase
参与编写者: smartcmd,MagicLu550
建议学习时间: 50分钟
学习要点: 了解PluginBase类中的各个方法,以及他们的作用
PluginBase,即插件主类,所有的nk插件的主类都必须继承于此类
里面包含很多方法,不过最常用的也就这3个:
1 | onLoad()插件读取时调用 |
一个例子:
1 | public class PluginMain extends PluginBase{ |
一些技巧
很多的操作,例如注册Task,监听器,都需要插件主类对象
然而我们在开发中经常遇到这种情况:如果其他类需要插件主类对象,我们需要怎么实现呢?
这里提供了一种解决方法:
1 | public class PluginMain extends PluginBase { |
另外一个类:
1 | public class Listener implements cn.nukkit.Listener{ |
PluginBase类的常用方法:
-
isEnabled和isDisabled分别是查看插件是否执行过onEnable方法和isDisable方法,插件状态为isEnabled时,方可进行注册监听器等操作
-
setEnabled()是强行执行onEnabled,调用它会执行一次onEnabled,无参数方法默认将isEnabled改为true
-
getDataFolder() 获得插件的附属文件夹,文件路径为plugins/插件名称
-
getDescription() 得到插件plugin.yml的相关信息
-
getLogger() 得到日志对象,可以通过它进行日志输出的操作
-
isInitialized() 返回这个插件是否已经初始化
-
getCommand(String name) 获得插件的指定名称的指令对象 # 这个不太明确
-
getConfig() 获得默认的配置文件对象
-
getServer() 获得服务端对象
10.getName() 获得插件名称,在plugin.yml标记的
11.getFullName() 获得插件完整的名字,一个插件完整的名字由"名字+v+版本号"组成
12.getFile() 获得插件文件的对象
13.getPluginLoader() 获得插件加载器对象
14.init(…) 当插件开始被加载读取时,调用该方法初始化插件的基本内容
15.onCommand(…) 执行plugin.yml中定义的命令
16.getResource(…) 见1-5
17.saveConfig() saveDefaultConfig()保存默认配置文件
18.reloadConfig()重新加载配置文件,使得里面信息程序可以读取到