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

Помогите Чёртов ник над головой...

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

  1. Автор темы
    pro100koder

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

    Баллы:
    76
    Я не могу сам найти решение этой проблемы... Короче, нужно сделать отображение изменённого ника везде (К примеру, [1lvl]player). Так-то бы я всё сделал, работает, но именно над головой игрока ник не меняется. Вот код, которым я ник ставлю...
    Код:
    p.setPlayerListName(ChatColor.GREEN+"["+main.connection.GetLvl(p.getName())+"] "+fcolor+p.getName());
            p.setCustomName(ChatColor.GREEN+"["+main.connection.GetLvl(p.getName())+"] "+fcolor+p.getName());
            p.setCustomNameVisible(true); //От отчаяния это пихнул, не помогло.
            p.setDisplayName(ChatColor.GREEN+"["+main.connection.GetLvl(p.getName())+"] "+fcolor+p.getName());
    У любых entity метод setCustomName ставит ник над головой. При этом вроде как само имя моба не меняется. А игроки? Я не знаю короче... Подкиньте гайд какой-нибудь что ли, а то сам я гуглом пользоваться не умею...
     
  2. Difuuz

    Difuuz Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    Difuuz
    Bukkit Team
     
  3. Автор темы
    pro100koder

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

    Баллы:
    76
    Окей, что-то накашеварил, вот код.
    Код:
    Team t = null;
            if(main.s.getTeam(ChatColor.GREEN+"["+main.connection.GetLvl(p.getName())+"] "+fcolor) == null){
                t = main.s.registerNewTeam(ChatColor.GREEN+"["+main.connection.GetLvl(p.getName())+"] "+fcolor);
                t.setPrefix(ChatColor.GREEN+"["+main.connection.GetLvl(p.getName())+"] "+fcolor);
            }
            else t = main.s.getTeam(ChatColor.GREEN+"["+main.connection.GetLvl(p.getName())+"] "+fcolor);
            t.addEntry(p.getName());
            main.globMessage(main.s.getEntryTeam(p.getName()).getPrefix()+"", null);
    Что ж, в чате пишет, что действительно есть префикс у этого зашедшего игрока. А на деле его нет. Что же я не так сделал?
     
  4. Автор темы
    pro100koder

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

    Баллы:
    76
    Тема всё ещё актуальна. И появился новый вопрос... Как получить префикс из PEX? Ну, допустим, подключил я PEX в плагин, и хочу помимо лвла отображать префикс. Гайда не нашёл... Запрос в гугл не смог составит наверн) И над головой ник так и не смог поставить... Что-то видел про TAG api, но про него говорят, что есть методы проще и лучше... Но конечно же не указывают, какие -_-
     
  5. DeethzzCoder

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

    Баллы:
    76
    Ты серьезно даже это найти не можешь? https://github.com/PEXPlugins/PermissionsEx/wiki/Integrating-with-PEX

    Попробуй использовать вместо метода addEntry, addPlayer.

    Это не относиться к теме, но все же, почитай о java code conventions.
     
  6. Автор темы
    pro100koder

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

    Баллы:
    76
    Окей. Этот метод устарел, но попробую. Про остальное - посмотрю. Спасибо.
     

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