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

Помогите Смена имени игрока и внедрения туда префикса и суффикса на головой.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Limon-mine, 26 ноя 2021.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Мне надо сменить имя игрока над головой для внедрения туда префикса и суффикса. Я знаю как получить префикс суффикс, но как установить над головой нет Как сделать
     
  2. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    player.setDisplayName("nick")
     
  3. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Это не работает. Нечего не делает
     
  4. Lemar98

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

    Баллы:
    76
    ну подсмотри в NTE, сложно шоль
     
  5. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    я там посмотрел и оно там сделано через FakeTeam. Но я использую Vault
     
  6. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Нте не позволяет изменять ники над головой, выбрасывай
     
  7. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    setDisplayName и SetCustomName не работают
     
  8. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Если тебя интересует именно смена имени
    1. Нужен GameProfile игрока.
    2. В этот GameProfile установить нужное имя
    3. Удалить и заново создать игрока через пакеты
    Шматок кода который у меня завалялся, вроде бы под 1.12.2

    Код:
        public static void setPlayerName(Player p, String name) {
            GameProfile gp = ((CraftPlayer)p).getProfile();
            try {
                Field nameField = GameProfile.class.getDeclaredField("name");
                nameField.setAccessible(true);
                nameField.set(gp, name);
                nameField.setAccessible(false);
            } catch (IllegalAccessException | NoSuchFieldException ex) {
                throw new IllegalStateException(ex);
            }
            for (Player pl : Bukkit.getOnlinePlayers()) {
                if (pl == p) continue;
                ((CraftPlayer)pl).getHandle().playerConnection.sendPacket(new PacketPlayOutEntityDestroy(p.getEntityId()));
                ((CraftPlayer)pl).getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, ((CraftPlayer)p).getHandle()));
                ((CraftPlayer)pl).getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, ((CraftPlayer)p).getHandle()));
                ((CraftPlayer)pl).getHandle().playerConnection.sendPacket(new PacketPlayOutNamedEntitySpawn(((CraftPlayer)p).getHandle()));
            }
        }
     
  9. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Мне надо не как сменить имя ну например при команды тп /tp ник. А только над головой
     
  10. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Да там вроде ник игрока зависит от имени в GameProfile. Можешь попробовать посмотреть как реализовано в различных плагинах
     
  11. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Да я уж не знаю где посмотреть. В NTE идёт через team, в других вообще без отображения его где то
     
  12. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Вопрос всё ещё не решён!
     
  13. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Создай свои плейсхолдеры и используй сторонние плагины для добавления их в ник. Самый простой способ. А если хочешь Через Vault то там есть Chat.setPrefix и тд. Это уже по дефолту отображается в ваулт плейсхолдерах.
     
  14. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    да я знаю как установить префикс и т.д, но как отображать мне его через имя над головой? Я в своём плагини пишу часть с префиксами над головой и в табе. С табом разобрался, а с головой нет
     
  15. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    FakeTeam
     
  16. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
Статус темы:
Закрыта.

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