Вопрос Множественная проверка аргумента команды

Alex-Novosiber

Пользователь
Проблема проверки аргумента плагина WorldEdit.
Code (Java):
if (cmd[1].equalsIgnoreCase("del" || "delete" || "remove")) {
Error - Operator '||' cannot be applied to 'java.lang.String', 'java.lang.String'

Как их можно перебрать ?
WorldEdit имеет несколько вариантов удаления региона ...
[19:35:46] [Render thread/INFO]: [CHAT] /region del [-fu] <id>
[19:35:54] [Render thread/INFO]: [CHAT] /region delete [-fu] <id>
[19:36:01] [Render thread/INFO]: [CHAT] /region remove [-fu] <id>

Java:
@EventHandler
    public void onPlayerCommand(PlayerCommandPreprocessEvent event) {
        Player player = event.getPlayer();
        String[] cmd = event.getMessage().split(" ");
      
        if (cmd.length >= 2) {
            if (cmd[0].replaceAll("/", "").equalsIgnoreCase("rg")) {
                if (cmd[1].equalsIgnoreCase("del" || "delete" || "remove")) {
Авто объединение сообщений:

РЕШЕНО
Java:
if (cmd[1].equalsIgnoreCase("del") || cmd[1].equalsIgnoreCase("delete") || cmd[1].equalsIgnorecase("remove")){
    // делаем действия
}
Или так

Java:
List<String> commands = Arrays.asList("del", "delete", "remove");
if (commands.contains(cmd[1].toLowerCase()) {
    // Ваш код
}
 
Последнее редактирование:

BuseSo

Разработчик
[19:35:46] [Render thread/INFO]: [CHAT] /region del [-fu] <id>
[19:35:54] [Render thread/INFO]: [CHAT] /region delete [-fu] <id>
[19:36:01] [Render thread/INFO]: [CHAT] /region remove [-fu] <id>
Забыл про region в проверке.
Да и не имеет смысла убирать /, можно сравнивать вместе с этим слэшом.
 

Alex-Novosiber

Пользователь
И ещё помогли в англоспиготе :
Java:
if (Arrays.asList("del","delete","remove").contains(cmd[1].toLowerCase())) {
    // Тут кодим
}
 

Комнаты в чате

Верх Низ