嗨我正在为我的我的Minecraft服务器制作一个插件,但现在我有一个问题,我坚持和if else语句更新它。 我在很多论坛上搜索过,但现在我在这里没有帮助。 我用eclipse。
if(commandName.equals("t")){
}
if(!player.hasPermission("Clans.teamchat")) {
player.sendMessage(ChatColor.RED + "You do not have permission to use this command.");
return true;
}
if(!tPlayer.hasTeam()) {
player.sendMessage(ChatColor.RED + "You are not on a team.");
return true;
}
else if(!getRank(PlayerName).canTeamChat()) {
player.sendMessage(ChatColor.RED + "You lack sufficient permissions to talk in team chat.");
return true;
}
else if (args.length < 1) {
player.sendMessage(ChatColor.RED + "You did not enter a message to send.");
return true;
}
else if (args[0].equalsIgnoreCase("@loc")) {
return true;
}
答案 0 :(得分:1)
不确定所有相关代码,但可能是您错过了return
之后的最终if
语句。原因是,使用现在的代码,您不会处理不符合任何条件但仍需要为方法提供返回值的情况。
答案 1 :(得分:0)
你需要在这里更勤奋;它从格式和大括号开始。你真的想要在if之后的每个块,甚至像
这样的东西if (something) {
just one thing
} else {
just another thing
}
在{和}中出现阻止。然后你以一种规范的方式格式化你的代码(你知道,任何体面的IDE都可以为你做到这一点) - 为了能够掌握你正在创建的“内容”。
换句话说:您的问题只是违反了语法规则。避免这种情况的最简单方法是编写带有结构的源代码来指导您。
你看,可能你错过了一个最终的返回语句,或者你把两个不同的东西放在一起 - 如果你只是使用相同的规则和格式不断地写下你的代码,那么所有这些都会变得很明显。
另一件事当然是:这种冗长的if / else链总是你想要通过适当的OO设计来避免的东西。你不要求对象属性然后做出决定;相反,你使用接口,具有不同的实现;所以,稍后,您只需调用这些方法(有关详细说明,请参阅here。)