OnEnable() 中的 NullPointerException(Bukkit 插件)

NullPointerException in OnEnable() (Bukkit plugin)

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

我的主类:

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() {

    }

}

还有我的另一个class: http://pastebin.com/bYpCnPN2

getCommand return 如果命令不存在,则返回 null。确保创建了 "a" 命令。

正如其他人所说,您得到一个 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
    }
}