Помогите Добавление пермишенов к командам и сообщение при его отсутствии у игрока

  • Автор темы Автор темы glavrak
  • Дата начала Дата начала

glavrak

Активный участник
Пользователь
Баллы
96
Имя в Minecraft
Mr_Krab
Пишу первый Hallo World свой. Учусь пока. В общем хочу добавить перм в сам класс на доступ к команде и сообщение для игрока, если перма у него нет. Можно конечно сделать пермы через Plugin.yml, но это будет не красиво совсем.
Вот мой говнокод. Гуглил, но что-то не нашел как это сделать.

Код:
package mr_krab.halloworld;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;

public class plugin extends JavaPlugin {
    public boolean onCommand(CommandSender sender, Command cmd, String plugin,
                    String[] args) {
            if (cmd.getName().equals("test")) {
                            sender.sendMessage(ChatColor.GREEN
                                    + "Выдаваемое сообщение.\nУспешное выполнение команды.");
                                }
            return true;                       
            }
    }
 
Код:
if(!(sender instanceof Player)){
        sender.sendMessage("Only for players");
        return false;
}

Player p = (Player) sender;

if(p.hasPermission("pluginname.command")){
      p.sendMessage("Shit code was passed");
}
 
Код:
if(!(sender instanceof Player)){
        sender.sendMessage("Only for players");
        return false;
}

Player p = (Player) sender;

if(p.hasPermission("pluginname.command")){
      p.sendMessage("Shit code was passed");
}
Благодарю, сейчас уже времени нету, потом займусь. Хочу постепенно привести это дело к простенькому плагину со всего несколькими командами для хаба.
 
Благодарю, сейчас уже времени нету, потом займусь. Хочу постепенно привести это дело к простенькому плагину со всего несколькими командами для хаба.
Ух, как же сложно читается твой код. Всегда делаю в одну строку, а ты их поразделял, вообще долго втыкал в него.
 
Код:
if(!(sender instanceof Player)){
        sender.sendMessage("Only for players");
        return false;
}

Player p = (Player) sender;

if(p.hasPermission("pluginname.command")){
      p.sendMessage("Shit code was passed");
}
Зачем так сложно?
PHP:
if(!s.hasPermission("permission")) {
s.sendMessage("Недостаточно прав");
return true;
}
 
Зачем так сложно?
PHP:
if(!s.hasPermission("permission")) {
s.sendMessage("Недостаточно прав");
return true;
}

Ну чек на консоль вообще практически везде нужен, а каст в плеере ему в любом случае пригодится
 
Ну чек на консоль вообще практически везде нужен, а каст в плеере ему в любом случае пригодится
Я не про консоль, а про то, что проверку на перм можно проще сделать, как я показал.
 
Ух, как же сложно читается твой код. Всегда делаю в одну строку, а ты их поразделял, вообще долго втыкал в него.
Если рабочая область небольшая, то удобнее разделить.
 
Я не про консоль, а про то, что проверку на перм можно проще сделать, как я показал.
Что делать проверку пермишена от сендера, что от игрока без разницы. Так как ему в любом случае понадобится плеер, то проверку на пермишен можно делать и от игрока
 
Пускай пишет как ему удобно, JVM все равно.
 
Пускай пишет как ему удобно, JVM все равно.
Ну можно еще и в одну строку все написать, почему бы и нет, но есть такая штука , как code conventions для того, чтобы другой человек мог прочитать код автора
 
Что делать проверку пермишена от сендера, что от игрока без разницы. Так как ему в любом случае понадобится плеер, то проверку на пермишен можно делать и от игрока
Ты опять не уловил, о чем я. Я имею ввиду, что сделать один блок с проверкой на отсутствие пермишина проще, чем делать с else
 
Ты опять не уловил, о чем я. Я имею ввиду, что сделать один блок с проверкой на отсутствие пермишина проще, чем делать с else

Ой ну если ты про это, то тут как по мне разницы вообще нет, да и вроде бы пример с else работает быстрее
 
Назад
Верх