Помогите Не работают события клика правой кнопкой мыши

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

Ghetreek

Ньюби
Баллы
1
Доброе утро, уважаемые юзеры форума!
У меня такая проблемка, пишу простенький плагин, цель проста: на стене весит итемфрейм, в интемфрейме стоит карта с особым названием, в котором находятся координаты для телепортации (например, "-512;-512"). "В чём же проблема?" - спросите Вы. А проблема вот в чём: события клика просто не работают. Я не знаю с чем это связано, пишу всё правильно:
Код:
@EventHandler
public boolean onClickEntity(PlayerInteractEntityEvent event) {
    Player player = event.getPlayer();
     
    if (event.getRightClicked().getType() == EntityType.ITEM_FRAME) {
        Entity entity = event.getRightClicked();
        player.sendMessage(entity.getCustomName()); // для начала хочу получить имя карты
    }
}
Прошу не кидаться помидорами! Если уж и хотите что-то кинуть, то киньте ссылку, которая поможет решению данной проблемы)
P.S. Абсолютно такая же проблема и с кликом по блоку/воздуху. Ничего не происходит.
UPD: Ядро - Spigot последней версии
 
Код:
@EventHandler
public boolean onClickEntity(PlayerInteractEntityEvent event) {
    Player player = event.getPlayer();
    
    if (event.getRightClicked().getType() == EntityType.ITEM_FRAME) {
        Entity entity = event.getRightClicked();
        player.sendMessage(entity.getCustomName()); // для начала хочу получить имя карты
    }
}

С оператором == можно отлично затупить, будь осторожен, пример со строками:

PHP:
String s1 = new String( "Test" );
String s2 = new String( "Test" );

System.out.println( s1 == s2 ); // false
System.out.println( s1.equals( s2 )); // true

Также если игрок кликнул на рамку у которой нету имени - получишь NPE.
 
За решение огромное спасибо @AtomicScience !
Решилось всё так:
У меня все слушатели событий (@EventHandler) находились в одном классе. Мне оставалось только наследовать мой класс от интерфейса Listener, а так-же зарегистрировать класс.
Готовый код, если кому нужно:
Код:
public class ИМЯ_КЛАССА extends JavaPlugin implements Listener {
    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
    }
    @EventHandler
    public boolean onClickEntity(PlayerInteractEntityEvent event) {
        // код
}
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх