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

В разработке Очистка дропа BlockBreakEvent

pizzlywizzly, приоритет определяет порядок обработки. Т.е. если у Вашего обработчика приоритет минимальный и вы производите какие-то действия с дропом (или даже отменяете события), то другой плагин, у которого более высокий приоритет у обработчика, также может произвести манипуляции с тем же дропом и, допустим, снова восстановить отмененное событие.
Т.е. кто последний - тот может перечеркнуть действия предыдущих.
Разве не считается правилом хорошего тона использовать самый высокий приоритет только у логгеров?
 
pizzlywizzly, это про MONITOR, а ещё есть HIGH и HIGHEST.
Ну и это вопрос не "хорошего тона", а производственной необходимости. В большинстве случае достаточно HIGH, но мне помню как-то потребовался именно MONITOR - нужно было "обмануть" HIGHEST у какого-то плагина ;)
 
Разве не считается правилом хорошего тона использовать самый высокий приоритет только у логгеров?
Очень плохой тон. Тогда плагины логов будут ловить события, которые в дальнейшем будут отменены (например, попытки разрушения привата). А так эти плагины ставятся в очередь самыми последними, тогда отменённые события до них просто не доходят.
 
Очень плохой тон. Тогда плагины логов будут ловить события, которые в дальнейшем будут отменены (например, попытки разрушения привата). А так эти плагины ставятся в очередь самыми последними, тогда отменённые события до них просто не доходят.
Мы можем проверять, было ли отменено событие (ignoreCancelled). Вы написали чушь ^_^
 
Очень плохой тон. Тогда плагины логов будут ловить события, которые в дальнейшем будут отменены (например, попытки разрушения привата). А так эти плагины ставятся в очередь самыми последними, тогда отменённые события до них просто не доходят.

Вы протестируйте как это работает сначала. Обработчик события с высшим приоритетом берёт событие на обработку ПОСЛЕДНИМ. Чтобы иметь возможность исправить то, что наделали в обработчиках с низшим приоритетом.
Т.е. Ваши слова актуальны для события с приоритетом LOWEST (допустим Вы взяли и отменили), при условии, что в остальных плагина установлено ignoreCancelled=true.
Но это уже дело автора и задачи, которую он себе ставит.

Делать что-то под "монитором" не приветствуется потому что после этого ничего с событием не сделать. Именно поэтому рекомендуется под этим приоритетом делать всякие логгеры - просто для того: тут уже ясно что произошло с событием и можно писать в лог - других изменений не будет.
Опять же запрета, что-то делать тут нет. Если Ваша задача это требует и её нельзя по ряду причин делать с низшим приоритетом - то делайте. Просто такие задачи встречаются достаточно редко, большинству с головой хватит нормального приоритета :)
 
Hilgert, увы и ах, но при помощи ReActions этого не сделать (возможно пока :-)). Но думаю это реализуемо при помощи я VarScript. )
 

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

Назад
Верх