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

Статус
Закрыто для дальнейших ответов.

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 + "присоединился к игре.");
            }
 
Убрать else
Сделать 2 условия по очереди
if (есть права) {
}
if (есть права 2) {
}
 
Убрать else
Сделать 2 условия по очереди
if (есть права) {
}
if (есть права 2) {
}
Если не ошибаюсь, пробовал такое, но при моем заходе, игроки видели сразу оба сообщения, а не 1. Но перепроверю, может спутал с чем-то другим.
 
Здравствуйте. Возник такой вопрос. Как можно сделать так, чтобы можно было использовать 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 + "присоединился к игре.");
            }
*Насрал*
- "На говно не обращайте внимание"
Java:
@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 *

Если я правильно тебя понял, то, в твоём случае, проще проверять отсутствие права. Проверяешь, если нужное тебе право есть - значит это оп или '*'. В ином случае делаешь проверку на нужные тебе права.
 
Последнее редактирование:
Чел походу не знает, что у * и op все права на все. Можно проверить наличие op разве что отдельно.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх