@Override
public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
if(label.equalsIgnoreCase("test")||label.equalsIgnoreCase("tt")) {
if(args.length==0) {
sender.sendMessage("输入/tt gg");
sender.sendMessage("输入/tt mm");
}
if(args.length==1) {
if(args[0].equalsIgnoreCase("gg")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("GG玩家执行了Test GG指令!");
}else {
sender.sendMessage("控制台执行了Test GG指令!");
}
return true;
}
if(args[0].equalsIgnoreCase("mm")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("MM玩家执行了Test MM指令!");
}else {
sender.sendMessage("控制台执行了Test MM指令!");
}
return true;
}
}
}
return false;
}
为什么我方法体里的执行成功了还会执行到return false去?然后输出plugin.yml文件里的usage的内容?
public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
if(label.equalsIgnoreCase("test")||label.equalsIgnoreCase("tt")) {
if(args.length==0) {
sender.sendMessage("输入/tt gg");
sender.sendMessage("输入/tt mm");
}
if(args.length==1) {
if(args[0].equalsIgnoreCase("gg")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("GG玩家执行了Test GG指令!");
}else {
sender.sendMessage("控制台执行了Test GG指令!");
}
return true;
}
if(args[0].equalsIgnoreCase("mm")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("MM玩家执行了Test MM指令!");
}else {
sender.sendMessage("控制台执行了Test MM指令!");
}
return true;
}
}
}
return false;
}
为什么我方法体里的执行成功了还会执行到return false去?然后输出plugin.yml文件里的usage的内容?
public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
if(label.equalsIgnoreCase("test")||label.equalsIgnoreCase("tt")) {
if(args.length==0) {
sender.sendMessage("输入/tt gg");
sender.sendMessage("输入/tt mm");
}
if(args.length==1) {
if(args[0].equalsIgnoreCase("gg")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("GG玩家执行了Test GG指令!");
}else {
sender.sendMessage("控制台执行了Test GG指令!");
}
return true;
}
if(args[0].equalsIgnoreCase("mm")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("MM玩家执行了Test MM指令!");
}else {
sender.sendMessage("控制台执行了Test MM指令!");
}
return true;
}
}
}
return false;
}
为什么我方法体里的执行成功了还会执行到return false去?然后输出plugin.yml文件里的usage的内容?
2021.12 数据,可能有更多内容
@Overridepublic boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
if(label.equalsIgnoreCase("test")||label.equalsIgnoreCase("tt")) {
if(args.length==0) {
sender.sendMessage("输入/tt gg");
sender.sendMessage("输入/tt mm");
}
if(args.length==1) {
if(args[0].equalsIgnoreCase("gg")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("GG玩家执行了Test GG指令!");
}else {
sender.sendMessage("控制台执行了Test GG指令!");
}
return true;
}
if(args[0].equalsIgnoreCase("mm")) {
if(sender instanceof Player) {
Player player=(Player) sender;
player.sendMessage("MM玩家执行了Test MM指令!");
}else {
sender.sendMessage("控制台执行了Test MM指令!");
}
return true;
}
}
}
return false;
}
为什么我方法体里的执行成功了还会执行到return false去?然后输出plugin.yml文件里的usage的内容?
你if(args.length==0) 花括号里也要写return true
不然无参数的会return false
不然无参数的会return false
if(args.length==0) {
sender.sendMessage("输入/tt gg");
sender.sendMessage("输入/tt mm");
}
很迷,不知道你为什么不写return true;