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

(Решено)HolographicDisplays и отслеживание кликов по стенду

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

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

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

    Баллы:
    76
    Как уже понятно из названия темы, я не могу отследить нажатие ПКМ игроком по стенду.
    В самом плагине через апи можно установить так называемый "TouchHandler" на каждую "строку" голограмы. Через него я и устанавливаю свои действия при клике, но они, почему-то не работают. Я уже всю голову сломал и пол интернета перерыл.
    Помогите, пожалуйста!

    Может быть, есть какие-то альтернативные апи для голограм? Свое писать впадлу, хочется уже готовый велосипед, чтобы свой не писать.

    Что я пробовал:
    PHP:
    NamedHologram holo = new NamedHologram(loc"myholo");
    holo.appendTextLine(new Message(name).getMessage()).setTouchHandler(new TouchHandler() {
                    @
    Override
                    
    public void onTouch(Player player) {
                        
    player.sendMessage("tertergergf");
                    }
                });
    NamedHologramManager.addHologram(holo);
    Сама голограмма отображается, pickupHandler тоже работает, но вот именно нажатия на стенд не робят...
     
  2. Автор темы
    reZero

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

    Баллы:
    76
  3. HauserGrim

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

    Баллы:
    96
  4. Автор темы
    reZero

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

    Баллы:
    76
    Смотрел. Там реализовано через тот же touchHandler
    Пробовал поставить этот плагин - тоже не работает
     
  5. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Сделал на 1.16.4 и все работает. Попробуй обновить плагин что-ли. Использовал версию 2.4.0
    PHP:
    public void createHolo(Player p) {
        
    Hologram hologram HologramsAPI.createHologram(thisp.getLocation().add(010));
        
    hologram.appendTextLine("Test").setTouchHandler(player -> player.sendMessage("Test123"));
    }
    [​IMG]
     
  6. Автор темы
    reZero

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

    Баллы:
    76
    Юзаю эту же версию, даже код твой скопировал. Ничего не работает...
    У меня бумага 1.12.2. мб в этом дело..
     
  7. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Да не, щас на 1.12.2 запустил и все нормально. Ты точно ту версию в зависимостях используешь? Откуда у тебя класс NamedHologram? Лично у меня такого класса нету. Перепроверь версию в зависимости и в самом плагине. Если используешь Maven, то попробуй подключить так:
    Код:
            <repository>
                <id>codemc-repo</id>
                <url>https://repo.codemc.io/repository/maven-public/</url>
            </repository>
    Код:
            <dependency>
                <groupId>com.gmail.filoghost.holographicdisplays</groupId>
                <artifactId>holographicdisplays-api</artifactId>
                <version>2.4.0</version>
                <scope>provided</scope>
            </dependency>
     
  8. Автор темы
    reZero

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

    Баллы:
    76
    Хм, похоже, я понял в чем проблема..
    Позже отпишусь как опробую
    Спасибо!
     
  9. Автор темы
    reZero

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

    Баллы:
    76
    Решено.
    Проблема была в Citizens.
    Решил через loadbefore: [Citizens] в plugin.yml у HolographicDisplays
    (Для тех кто тоже столкнется)
    Всем спасибо еще раз
     
Статус темы:
Закрыта.

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