1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

(Решено) Игнорирование прав

Тема в разделе "Разработка плагинов для новичков", создана пользователем GodSpeed_x, 19 сен 2019.

Статус темы:
Закрыта.
  1. Автор темы
    GodSpeed_x

    GodSpeed_x Активный участник

    Баллы:
    61
    Имя в Minecraft:
    GodSpeed_x
    Здравствуйте. Возник такой вопрос. Как можно сделать так, чтобы можно было использовать 2 сообщение, игнорируя право "*" или /op.

    Например. У меня имеется "*", но при заходе на сервер высвечивается 1 сообщение. Как установить 2? (Без снятия "*")

    Буду очень благодарен.

    (На говно код не обращать внимания :) )

    Код:
    @EventHandler
        public void onJoin(PlayerJoinEvent e) {
            String name = e.getPlayer().getName();
            Player player = e.getPlayer();
            String prefix = PermissionsEx.getUser(name).getPrefix().replace("&", "§");
            if((player.hasPermission("Тут право"))){
                for(Player p:Bukkit.getServer().getOnlinePlayers())
                    if(!p.getName().equals(name))
                        p.sendMessage(ChatColor.DARK_RED + "" + ChatColor.BOLD + "»" + " " + prefix + " " + name + " " + ChatColor.GRAY + "зашел на сервер.");
            } else {
                if((player.hasPermission("Тут право"))){
                    for(Player p:Bukkit.getServer().getOnlinePlayers())
                        if(!p.getName().equals(name))
                            p.sendMessage(ChatColor.DARK_RED + "" + ChatColor.BOLD + "»" + " " + prefix + " " + name + " " + ChatColor.GRAY + "присоединился к игре.");
                } 
     
  2. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    96
    Убрать else
    Сделать 2 условия по очереди
    if (есть права) {
    }
    if (есть права 2) {
    }
     
  3. Автор темы
    GodSpeed_x

    GodSpeed_x Активный участник

    Баллы:
    61
    Имя в Minecraft:
    GodSpeed_x
    Если не ошибаюсь, пробовал такое, но при моем заходе, игроки видели сразу оба сообщения, а не 1. Но перепроверю, может спутал с чем-то другим.
     
  4. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    *Насрал*
    - "На говно не обращайте внимание"
    Код:
    @EventHandler
    public void onJoin(PlayerJoinEvent event)
    {
        Player player = event.getPlayer();
    
        if (player.hasPermission("pravo"))
        {
            Bukkit.getOnlinePlayers()
                  .stream()
                  .filter((onlinePlayer) -> !onlinePlayer.getName().equals(player.getName())
                  .forEach((onlinePlayer) -> onlinePlayer.sendMessage("bla bla bla"));
        } else if () {
            // чекаешь второе право
        }
    }
    
    * Тянуть экономику или права лучше всего через Vault *

    Если я правильно тебя понял, то, в твоём случае, проще проверять отсутствие права. Проверяешь, если нужное тебе право есть - значит это оп или '*'. В ином случае делаешь проверку на нужные тебе права.
     
    Последнее редактирование: 19 сен 2019
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Чел походу не знает, что у * и op все права на все. Можно проверить наличие op разве что отдельно.
     
  6. Автор темы
    GodSpeed_x

    GodSpeed_x Активный участник

    Баллы:
    61
    Имя в Minecraft:
    GodSpeed_x
    Это я знаю :)
    Но все равно, хочу, чтобы например у того-же оп было другое сообщение, а не самое 1.
     
Статус темы:
Закрыта.

Поделиться этой страницей