Вопрос Почему-то не работают ивенты.

OneLaimer

Заблокирован
Сообщения
224
Решения
4
Тупо не работают ивенты, хотя команда полностью рабочая, ошибок в компиляторе нет. Ивенты так же зареганы.
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Вам необходимо зарегистрироваться для просмотра изображений-вложений
 
попробуйте Bukkit.getLogger().log(String) добавить перед каждой строчкой, узнаете где он прекращает работать
Я уже проверял, сразу же после анотации евентхандлер не работает
Объединено

?
 
Последнее редактирование модератором:
Это он так считает, нигде ошибки не вижу. Кроме проверки с e.getInventory().equals() + у него там return стоит и код сразу прерывается, поэтому отсюда и пошло, что ивенты не работает
 
Метод e.getInventory().equals() - не так работает. Попробуй проверять инвентарь через e.getView().getTitle().equalsIgnoreCase()
offtop Наоборот как-бы... Это самый правильный вариант проверки, действительно ли инвентарь тот, который нужен.
 
Покажи класс Gui.
offtop Наоборот как-бы... Это самый правильный вариант проверки, действительно ли инвентарь тот, который нужен.

В его случае, нет. Он сравнивает два разных объекта, а на версии 1.16.5 у inventory equals не переопределен. Что я вижу, он тут тупо создал новый объект, при этом, скорее всего, он каждый раз создает объект класса Gui, когда хочет его открыть.
 
В его случае, нет. Он сравнивает два разных объекта,
Его инвентари могут быть статическими и, если он не создаёт каждый раз одинаковые, это лучший вариант. Тут не видно, как именно он открывает гуи
 
Наоборот как-бы... Это самый правильный вариант проверки, действительно ли инвентарь тот, который нужен.
на версиях ниже 1.16 equals и == не работает. Приходится делать по названию.
 
С помощью проверки:

if (e.getView().getTitle().equalsIgnoreCase("Сдача")) {
e.setCancelled(true);
Лучше добавь цветовые коды, ибо игроки переименовав сундук смогут использовать его как это меню.
 
Назад
Сверху Снизу