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
}
}
我的错误日志显示第 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
}
}