我正在使用Bukkit插件,我想禁用该插件,如果配置file = false
...
配置:
DeathmessagesListenerDisable: false
主档案:
public static void start() {
Bukkit.getPluginManager().registerEvents(new DeathmessagesListener(), r.getUC());
//Set deathmessages
if (r.getCnfg().getBoolean("Chat.DeathmessagesListenerDisable") == false) {
//stuff
return;
} //rest off code
答案 0 :(得分:2)
如果要停用插件,可以拨打
Bukkit.getPluginManager().disablePlugin(plugin);
plugin
是你插件的实例。所以,如果这是在你的主类,你会使用
Bukkit.getPluginManager().disablePlugin(this);
所以你需要做的就是检查onEnable()
方法中的配置值是否为false,如果
public class MyMainClass extends JavaPlugin{
@Override
public void onEnable(){
//check if the config contains the value before checking if it's false
//remove just the below contains() check to disable the plugin if
//the config doesn't contain a value for "Chat.DeathmessagesListenerDisable"
if(this.getConfig().contains("Chat.DeathmessagesListenerDisable")){
//this could be replaced with any other check(s) that should be
//done to see if the plugin should be disabled or not
if(!this.getConfig().getBoolean("Chat.DeathmessagesListenerDisable")){
//disable the plugin
Bukkit.getPluginManager().disablePlugin(this);
return;
}
}
//normal onEnable() stuff
}
//your code
}
另外,仅从UX的角度出发,我建议将Chat.DeathmessagesListenerDisable
的名称更改为Chat.DeathmessagesListenerEnabled
,因为有些人可能认为必须将值设置为true才能禁用该插件。
答案 1 :(得分:0)
不确定您使用start()方法做什么,或者何时/如何调用它,但执行此操作的一般方法是在onEnable()
@Override
public void onEnable(){
if (r.getCnfg().getBoolean("Chat.DeathmessagesListenerDisable") == false) {
Bukkit.getPluginManager().disablePlugin(this);
return;
}
}