OnEnable()中的NullPointerException(Bukkit插件)

时间:2017-01-12 16:12:37

标签: java plugins minecraft bukkit

我的错误日志在第13行说明(在我的MainClass中)有一个NPE。

My MainClass:

package me.p250;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;

import me.p250.command.BuyCommand;

public class MainClass extends JavaPlugin {

public FileConfiguration config;

public void onEnable() {
    getCommand("a").setExecutor(new BuyCommand(this));
}

public void onDisable() {

    }

}

还有我的其他课程: http://pastebin.com/bYpCnPN2

2 个答案:

答案 0 :(得分:3)

正如其他人已经说过的,你得到一个NPE,因为命令“a”不存在。如果您还没有这样做,也可以将它添加到.yml文件中。

commands:
   a:
     description: does something
     usage: /a

编辑:显然你还没有将它添加到你的onCommand。使用

检查命令
if(cmd.getName().equalsIgnoreCase("a")) {
    //do stuff when /a is executed
}

可以在那里检查args。例如:

if(cmd.getName().equalsIgnoreCase("a")) {
    if(args[0].equalsIgnoreCase("test1")){
        //execute code for /a test1
    } else if(args[0].equalsIgnoreCase("test2")){
        //execute code for /a test2
    }
}

答案 1 :(得分:0)

如果命令不存在,

getCommand将返回null。确保创建了“a”命令。