#java
#java
Вопрос:
Я новичок в программировании, и я создаю командный плагин Minecraft для своего помощника, плагин отправляет сообщение игроку, когда он использует команду. Кажется, я не могу заставить их все работать, на сервере будет работать только первая команда, я перепробовал все, что знаю, например, if-else и т. Д. Может кто-нибудь помочь, пожалуйста?
package com.legroom.applyplugin.Commands;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class commands implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player) sender;
if (sender == null) {
}
if
(cmd.getName().equalsIgnoreCase("famous")) {
player.sendMessage("§7§m----------------------------");
player.sendMessage("§3» §3Requirements:");
player.sendMessage("§3» §f500 Subscribers");
player.sendMessage("§3» §f1 vid on the server");
player.sendMessage("§3» §fReasonable views/likes");
player.sendMessage("");
player.sendMessage("§3» To apply, use:");
player.sendMessage("§3 » §fMedia.nivina.cc");
player.sendMessage("");
player.sendMessage("§m----------------------------");
if
(cmd.getName().equalsIgnoreCase("appeal")) {
player.sendMessage("§7§m----------------------------");
player.sendMessage("");
player.sendMessage("§3» To appeal, use:");
player.sendMessage("§3 »§fDiscord.nivina.cc");
player.sendMessage("");
player.sendMessage("§7§m----------------------------");
if
(cmd.getName().equalsIgnoreCase("apply")) {
player.sendMessage("§7§m----------------------------");
player.sendMessage("");
player.sendMessage("§3» To apply, use:");
player.sendMessage("§3 » §fStaff.nivina.cc");
player.sendMessage("§3 » §fMedia.nivina.cc");
player.sendMessage("");
player.sendMessage("§7§m----------------------------");
if
(cmd.getName().equalsIgnoreCase("youtube")) {
player.sendMessage("§7§m----------------------------");
player.sendMessage("§3» §3Requirements:");
player.sendMessage("§3 » §f200 Subscribers");
player.sendMessage(" » §f1 vid on the server");
player.sendMessage("§3 » §fReasonable views/likes");
player.sendMessage("");
player.sendMessage("§3» To apply, use:");
player.sendMessage("§3» §fMedia.nivina.cc");
player.sendMessage("");
player.sendMessage("§m----------------------------");
}
return true;
}
return true;
}
return true;
}
return true;
}
}
'''
Ответ №1:
Вы вкладываете свои if-операторы:
if (condition) {
if (someOtherConditionThatConflictsWithFirstCondition) {
// Never reached
}
}
Второй оператор if, поскольку он содержится в фигурных скобках первого, выполняется только в том случае, если первое условие оценивается как true . Но ваши условия равны — операции над одной и той же строкой, поэтому, если первое условие оценивается true
как , второе не может быть оценено true
как .
Вместо этого вам нужно разместить их друг за другом:
if (condition) {
}
if (someOtherCondition) {
}
if (thirdCondition) {
}
Или в качестве альтернативы:
if (condition) {
}
else if (someOtherCondition) {
}
else if (thirdCondition) {
}