- Баллы
- 76
- Имя в Minecraft
- f3azzy
Как сделать так чтобы команду можно было выполнить ТОЛЬКО от консоли..
Вот мой вариант команды:
Но в таком случае выходит ошибка:
Как я понял проблема в 38 строке, вот что написано там
конкретно в 38 строке написано
Вот мой вариант команды:
Код:
if(cmd.getName().equalsIgnoreCase("makeadmin")) {
if(sender == Bukkit.getConsoleSender()) {
if(args.length == 0) {
sender.sendMessage("[gavnoponos] Укажи ник игрока!");
return true;
} else {
if(args.length > 4 || args.length < 4) {
sender.sendMessage("[gavnoponos] Укажи аргументы!");
return true;
} else {
Integer lvl = parse(args[1]);
Integer pass = parse(args[2]);
if(lvl == null || pass == null) {
sender.sendMessage("[gavnoponos] Укажи аргументы!");
return true;
} else {
Player target = Bukkit.getPlayerExact(args[0]);
if(target == null) {
sender.sendMessage("[gavnoponos] Укажи ник игрока!");
return true;
} else {
String admGiveCheck = plugin.getConfig().getString("Admins." + target.getName());
if(admGiveCheck == null) {
plugin.getConfig().set("Admins." + target.getName() + ".Admin Password", pass);
plugin.getConfig().set("Admins." + target.getName() + ".Admin Level", lvl);
plugin.getConfig().set("Admins." + target.getName() + ".Admin Auth", false);
plugin.getConfig().set("Admins." + target.getName() + ".First IP", target.getAddress());
plugin.saveConfig();
target.sendMessage("§6[Информация] §fВас повысили/понизили до " + lvl + " уровня администратора!");
sender.sendMessage("[gavnoponos] Админка выдана.");
} else {
plugin.getConfig().set("Admins." + target.getName() + ".Admin Level", lvl);
plugin.getConfig().set("Admins." + target.getName() + ".Admin Password", pass);
plugin.getConfig().set("Admins." + target.getName() + ".Admin Auth", false);
target.sendMessage("§6[Информация] §fВас повысили/понизили до " + lvl + " уровня администратора!");
target.sendMessage("§4[Ошибка] §cАдмин-пароль поменялся, необходимо вновь авторизоваться..");
sender.sendMessage("[gavnoponos] Админка выдана.");
}
}
}
}
}
} else {
sender.sendMessage("§4[Ошибка] §cУ вас недостаточно прав!");
return true;
}
}
Но в таком случае выходит ошибка:
Код:
[00:42:34] [Server thread/WARN]: Unexpected exception while parsing console command "makeadmin"
org.bukkit.command.CommandException: Unhandled exception executing command 'makeadmin' 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 org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(CraftServer.java:614) [craftbukkit.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java:408) [craftbukkit.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:372) [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.ClassCastException: org.bukkit.craftbukkit.v1_12_R1.command.ColouredConsoleSender cannot be cast to org.bukkit.entity.Player
at t1mqxikzz.main.Administration.onCommand(Administration.java:38) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Bukkit-e60fc34]
... 8 more
Как я понял проблема в 38 строке, вот что написано там
Код:
if(lvl == null || pass == null) {
return true;
} else {
Код:
} else {

