rubukkit_log_in_or_sign_up
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Убрать мимолетное отображение

just_lofe

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
just_l0fe
Работаю с инвентарями, пишу свой кастомный функциональный блок.
Возникла очень не приятная проблема - когда отменяешь ивент InventoryClickEvent, то при клике на тик с начала всё происходит будто ивент не отменён, а только после - отменяется. Иногда вообще не отменяется, по не понятно какой причине.

ПРИМЕР проблемы

Как это исправить?
 
Ну это в порядке нормы, может быть за исключением того, что бирку на демо (я так полагаю фантомно) удалось положить в слот.
 
Работаю с инвентарями, пишу свой кастомный функциональный блок.
Возникла очень не приятная проблема - когда отменяешь ивент InventoryClickEvent, то при клике на тик с начала всё происходит будто ивент не отменён, а только после - отменяется. Иногда вообще не отменяется, по не понятно какой причине.

ПРИМЕР проблемы

Как это исправить?
Желательно посмотреть на код или хотя бы получить больше различной информации по этому поводу
 
Без кода мало что можно сказать по этому поводу.
В коде, на определенные слоты через свитч просто стоит event.setCancelled(true), не более. Приоритет ивента MONITOR, ивент InventoryClickEvent
 
В коде, на определенные слоты через свитч просто стоит event.setCancelled(true), не более. Приоритет ивента MONITOR, ивент InventoryClickEvent
EventHandler с приоритетом MONITOR находится в очереди слушателей на самом последнем месте.
Учитывая, что все таки логика определения именно твоего инвентаря там наверняка есть (и во всех слушателях этого ивента других плагинов тоже), наверное, можно безболезненно сменить на LOWEST. Хотя, думаю, проблема таки не в этом.
 
EventHandler с приоритетом MONITOR находится в очереди слушателей на самом последнем месте.
Учитывая, что все таки логика определения именно твоего инвентаря там наверняка есть (и во всех слушателях этого ивента других плагинов тоже), наверное, можно безболезненно сменить на LOWEST. Хотя, думаю, проблема таки не в этом.
Не спасло
 
InventoryDragEvent тоже нужно отменять. Он запускается вместо InventoryClickEvent, когда тянешь курсор хоть немного.
 
Если ты в креативе, то через него можно брать любые предметы из воздуха и визуальные баги будут делаться реальными предметами. Т.е., в выживании при визуальном баге взятия предмета он пропадёт, а в креативе нет.
 
Если ты в креативе, то через него можно брать любые предметы из воздуха и визуальные баги будут делаться реальными предметами. Т.е., в выживании при визуальном баге взятия предмета он пропадёт, а в креативе нет.
В креативе можно положить любой предмет исключительно в свой инвентарь. Всё остальное - это исключительно визуальные баги. На видео проблема с другим инвентарём.

И, судя по видео, проблема действительно в неотменённом InventoryDragEvent, как выше написал imDaniX
 
В креативе можно положить любой предмет исключительно в свой инвентарь. Всё остальное - это исключительно визуальные баги. На видео проблема с другим инвентарём.

И, судя по видео, проблема действительно в неотменённом InventoryDragEvent, как выше написал imDaniX
На счёт InventoryDragEvent я уже нашёл и исправил, а вот убрать визуальный баг удалось хоть частично, добавив предмет без текстуры, и вот такой вещи MatrixSystemPVP/item-tooltip-remover: Shader to remove tooltips on specific items (github.com)
 

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

Назад
Верх