Помогите Как сделать авторизацию в админ-права?

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

Kloper

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
f3azzy
Мне нужно сделать авторизацию в админ-права, но при этом админ пароль надо брать из конфига, и проверять сходство аргумента с кодом из конфига.

Вроде что то накалякал, но при вводе админ-пароля всё равно кикает, даже если он и правильный.

Код:
if (cmd.getName().equalsIgnoreCase("alogin")) {
            if(!p.hasPermission("ShrekAC.admin")) {
                return true;
            } else {
                if(args.length == 0) {
                    return true;
                } else {
                    String pass = plugin.getConfig().getString("alogin." + p.getName());
                    if(pass != args[0]) {
                        p.kickPlayer("GoodBye!");
                        for (Player admin : Bukkit.getOnlinePlayers()) {
                            if(admin.hasPermission("ShrekAC.admin")) {
                                admin.sendMessage("§4" + p.getName() + " §4НЕУДАЧНО АВТОРИЗОВАЛСЯ В АДМИН-ПРАВА!");
                            } else {
                                return true;
                            }
                        }
                    } else {
                        AdminAutorisation.add(p);
                        if(p.hasPermission("ShrekAC.adminOne")) {
                            p.sendMessage("§aВы успешно авторизовались под администратора Первого Уровня");
                        } else if(p.hasPermission("ShrekAC.adminTwo")) {
                            p.sendMessage("§aВы успешно авторизовались под администратора Второго Уровня");
                        } else if(p.hasPermission("ShrekAC.adminThree")) {
                            p.sendMessage("§aВы успешно авторизовались под администратора Третьего Уровня");
                        }       
                    }
                }
            }
        }

Код:
alogin:
  t1mqxikzz: 1234
 
Строки не так сравниваются

equals нужен
Код:
[20:01:04] [Server thread/INFO]: timqxikzz issued server command: /alogin 1234
[20:01:04] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'alogin' in plugin ShrekAC v0.1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Bukkit-e60fc34]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[craftbukkit.jar:git-Bukkit-e60fc34]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:628) ~[craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1340) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1200) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(SourceFile:37) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(SourceFile:9) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Bukkit-e60fc34]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_261]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_261]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:696) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:371) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:651) [craftbukkit.jar:git-Bukkit-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:555) [craftbukkit.jar:git-Bukkit-e60fc34]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
Caused by: java.lang.NullPointerException
    at t1mqxikzz.main.Administration.onCommand(Administration.java:84) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Bukkit-e60fc34]
    ... 15 more
 
Код:
                    if(pass.equals(args[0])) {
по твоему совету
А переменная "pass" точно получает пароль? Или же там всё таки null оказывается?

UPD: У тебя в конфиге что написано? А заходишь под каким ником? )) Естественно, у тебя в pass null находится.
 
А переменная "pass" точно получает пароль? Или же там всё таки null оказывается?

UPD: У тебя в конфиге что написано? А заходишь под каким ником? )) Естественно, у тебя в pass null находится.
аххаха, вот это фейл с ником :) Всё работает, спасибо!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх