🌍
🇷🇺 Русский 🇬🇧 English

v2.3 (2026-09-13)

✅ Добавлено

  • Гибкий обход защиты регионов: regionmc.bypass.<region> — обход конкретного региона
  • Приоритет specific над wildcard: regionmc.bypass.* = true + regionmc.bypass.spawn = false → регион spawn не обходится
  • Новое право regionmc.notify.disabled — отключение уведомлений о входе/выходе для конкретного игрока
  • Улучшенная логика определения региона при ломании/установке/взаимодействии — регион определяется по блоку, а не по позиции игрока
  • Защита от дублирования уведомлений через NotifyGuard (cooldown 2 секунды на игрока + регион + тип события)
  • Снятие листенеров и задач в onDisable() — защита от дублирования при PlugManX/перезагрузках

🛠️ Исправлено

  • Дублирование сообщений «Игрок зашёл в регион» / «вышел из региона»
  • Проверка use-items больше не срабатывает на клик по блоку — только на правый клик в воздух
  • Проверки entry/exit в RegionListener учитывают регион игрока в момент перехода
  • Уведомления владельцам больше не отправляются самому движущемуся игроку
  • Owners и members объединяются в один Set — один игрок получает одно сообщение, даже если он и владелец, и участник

⚠️ Изменения в правах

  • Право regionmc.bypass.notify устарело — используйте regionmc.notify.disabled
  • Причина: regionmc.bypass.notify находилось под wildcard'ом regionmc.bypass.* и не отключалось явным false

v2.1 (2026-06-21)

✅ Добавлено

  • Полная поддержка консоли
  • Система admin-user в Settings/main.yml
  • Класс PermissionUtil
  • Флаги enter-notify и exit-notify

🛠️ Исправлено

  • BlockChatFlag использует regionManager.isAdminBypass()
  • Исправлены вызовы LanguageManager.getMessage()