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

Получение ника из gui.

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

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

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

    Баллы:
    66
    Здравствуйте, не давно у меня появился вопрос: Как получить имя или владельца головы в gui. Тоесть, игрок вводит ник любого игрока и его голова добавляется в menu, как сделать так что-бы при нажатии на голову, в чат выводилось имя игрока который был добавлен в меню.
    P.S запись всех items и создание вызывается методом, а получение имени головы получается из конфига. Причем если я попробую через ConfigurationSelection вывести имя игрока, то выводит весь список, получение элемента из списка так-же не является возможным.
     
  2. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ну ты гуи по-нормальному сделай и по слотам определяй клик и действие для него, регистрируешь клик с консумером по слоту в гуи, в котором уже закешировано, чья голова стоит.
    Если не могешь в такое, то есть костыль для тебя, взять у итемстака головы мету, кастить к SkullMeta и вызвать getOwner()
     
  3. Автор темы
    MrHaber

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

    Баллы:
    66
    gui то я получаю:
    Код:
           @EventHandler
           public void onPlayerClickInventory(InventoryClickEvent e){
               Player player = (Player) e.getWhoClicked();
               ItemStack clicked = e.getCurrentItem();
               Inventory inventory = e.getInventory();
    if(inventory.getName().equals("gui")
    
    Так-же я обрабатывал общий нейм всех голов в гуи:
    Код:
    if(clicked.getItemMeta().getDisplayName().contains("Ник опубликовавшего: "))
    
    Как получить ник с его именем, сканить лор, или нейм.
    Можно ли получить голову на которую кликнули через определенную переменную clicked?
    Пожно ли получить мету кликнутой головы?
     
  4. _Nanit_

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

    Баллы:
    76
    Имя в Minecraft:
    _Nanit_
    Просто присвой предмету nbt тег какой-нибудь, на форуме полно тем как это сделать.
     
  5. Автор темы
    MrHaber

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

    Баллы:
    66
    А как его привязать к имени игрока?
     
  6. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Оно здесь не нужно, это костыль какой-то в данном кейсе.
     
  7. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Тебе надо при создании гуи регать у себя действия для каждого слота, а не проверять по предмету, насмотрелся гайдов на ютубер что ли. И не проверяй инвентарь по имени, проверяй по InventoryHolder.
     
  8. TheZefirrkka

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

    Баллы:
    76
    SkullMet'у юзать
     
  9. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Привет, как эклипс?
     
  10. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Я ему это предложил, но это костыль, надо снести все это и сделать нормальное гуи, а не зависящее от названий, меты и т. п.
     
  11. Sonicxd2

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

    Баллы:
    76
     

    Вложения:

Статус темы:
Закрыта.

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