Помогите Не проходят аргументы

  • Автор темы Автор темы Kollop
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Kollop

Ньюби
Баллы
1
Имя в Minecraft
Kollop
Снова здравствуйте. Я столкнулся с проблемой и не могу понять, в чём дело. Во время ввода команды не проходят аргументы, причем мне нужен только args[0]. Можете объяснить, в чем дело? Ошибок не выдаёт, просто в массив args[] не поступают аргументы.
Main.java
PHP:
package prime;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;

import commands.*;
import events.*;

public class Main extends JavaPlugin {
    FileConfiguration config = getConfig();
    @Override
    public void onEnable() {
        this.getCommand("core").setExecutor(new reloadCommand(this));
        Bukkit.getServer().getPluginManager().registerEvents(new joinEvent(), this);
        Bukkit.getServer().getPluginManager().registerEvents(new tabEvent(), this);
        
        toConfig(loadConfig());
        getLogger().info(Integer.toString(loadConfig()));
    }
    public void toConfig(int a) {
        config.set("var", a);
        saveConfig();
    }
    public int loadConfig() {
        return config.getInt("var");
    }
}
reloadCommand.java
PHP:
package commands;
import prime.Main;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;

public class reloadCommand implements CommandExecutor {
    Main plugin;
    public reloadCommand(Main instance) {
        plugin = instance;
    }
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String str, String[] args) {
        if (args.length == 1) {
            if ((sender.hasPermission("core.reload") || sender.isOp()) && args[0] == "reload") {
                plugin.reloadConfig();
                sender.sendMessage("§fКонфигурация плагина перезагружена");
                return true;
            }
            else if (!sender.hasPermission("core.reload") && !sender.isOp() && args[0] == "reload") {
                sender.sendMessage("§cУ вас недостаточно прав");
                return true;
            }   
        }
        sender.sendMessage("Противоречивые данные");
        return false;
    }
}
 
Строки не так сравниваются.

args[0] == "reload"

поменять на

args[0].equalsIgnoreCase("reload")
 
args[0].equalsIgnoreCase("reload")
а еще думаю нет смысла проверять есть ли опка у игрока ведь у опки есть все пермишены вроде бы
 
args[0].equalsIgnoreCase("reload")
а еще думаю нет смысла проверять есть ли опка у игрока ведь у опки есть все пермишены вроде бы
Не всегда. Например, PEX можно настроить на "строгий" режим. И тогда он будет требовать явного наличия разрешения.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх