Что именно нужно сделать

Вы хотите настроить защиту так, чтобы игроки могли:
- ставить блоки или не могли ставить блоки по вашему правилу
- ломать блоки нельзя (или нельзя ломать определенные блоки)
- при этом защита работала в нужных регионах, а не только “иногда”

На практике это означает, что запрет на ломание должен задаваться правами региона (обычно через WorldGuard) и не должен перекрываться другими настройками плагинов, правами или режимом игры.

Проверьте причину, почему “где нельзя драться, там можно ломать”

Частая причина - вы смотрите не на те флаги.

Например, защита может запрещать:
- PvP
- урон игрокам
- взаимодействие в бою

Но это не то же самое, что запретить ломать блоки. Для WorldGuard отдельные флаги отвечают именно за добычу/ломание/взаимодействие с блоками.

Еще две причины:
- регион создан, но для игрока он не применяется из-за наследования/приоритета регионов
- есть исключения по правам (например, у группы есть доступ “строить и ломать” в обход ограничений)

Как настроить WorldGuard: запретить ломать блоки в регионе

  1. Убедитесь, что у вас включен плагин WorldGuard и регион реально применим в нужных координатах.
  2. Выдайте себе права администратора, чтобы проверить, как работает порядок приоритета регионов.
  3. Включите просмотр/проверку флагов для региона (как это сделать зависит от сборки, но логика одна - вы должны видеть, какие флаги стоят).
  4. Найдите флаг(и), которые управляют ломанием:
  5. запрет на ломание блоков (harvest/break - зависит от версии и связки плагинов)
  6. запрет на добычу ресурсов (если у вас запрет ломания “проваливается”, иногда помогает запрет добычи)
  7. запрет на использование инструментов или взаимодействие с блоками (в зависимости от того, как именно игрок ломает - чем и каким действием)

  8. Добавьте правило так, чтобы для нужного региона “deny” применялось к действию ломать блоки, а не только к PvP.

Мини-чеклист по приоритету регионов

WorldGuard учитывает пересечение регионов. Если над вашим запретом стоит другой регион с разрешающими настройками, игрок может ломать.

Что проверить Как понять по поведению игрока Что сделать
Пересечение регионов В одних точках нельзя ломать, в других можно Убедитесь, что нужный регион покрывает область, и что он “выше” по приоритету
Наследование флагов Админ может ломать, игроки нет или наоборот Проверьте группы и права, а также исключения
Неверный флаг PvP запрещен, но ломание идет Добавьте флаг, который отвечает именно за добычу/ломание блоков
Доступ по permission Игроки с правом могут ломать даже в запрещенной зоне Уберите permission или настройте его исключения

Если у вас включен отдельный плагин на команды регионов или расширения

Вы указали, что используете WorldGuard и связанные плагины. Тогда порядок такой:
- WorldGuard задает правила региона
- расширения (например, WGExtender) могут добавлять новые флаги или менять логику
- плагины вроде FastAsyncWorldEdit могут перехватывать действия с блоками при вставках/правках

Что сделать:
1. Временно отключите расширяющие плагины по очереди (начните с тех, что добавляют флаги или меняют работу WorldEdit).
2. Проверьте, исчезло ли ломание.
3. Верните плагины обратно и настройте их флаги так, чтобы запрет “ломать блоки нельзя” применялся и к тем инструментам, которыми игроки фактически ломают.

Если хотите запретить ломать только определенные блоки

Иногда нужно не “полностью запретить”, а запретить конкретный список.

Подход:
- в WorldGuard ставят ограничения через настройки добычи/harvest по блокам (или через связанные флаги)
- либо используют доп. плагины/скрипты, если ваша версия WorldGuard не дает нужную детализацию

В типовых решениях на форумах фигурирует идея: ловить событие ломания и отменять действие, если блок не разрешен. Но для серверов Bukkit/Spigot обычно лучше идти через флаги региона, а код подключать только когда флаги не покрывают задачу.

Когда код все же нужен (и где обычно ошибаются)

Если вы пишете свой плагин, правильное место - отменять обработку события, в котором игрок пытается добыть/ломать блок. В обсуждениях по разработке встречается путаница между событиями “задействовано/скорость ломания” и “факт добычи”.

Если вы просто отменяете “не тот” этап, игрок может:
- начать процесс
- даже “ударить”, но результат не меняется так, как вы ожидаете
- или ломать, когда добыча подтверждается другим событием

В качестве ориентира по логике: в Forge-обсуждениях приводили примеры, что обработка должна быть на событии добычи/ломания, а не на связанных параметрах вроде BreakSpeed, иначе эффект отличается от ожидаемого (процесс может продолжаться и ломание случится после проверки). Смысл совпадает и для Spigot-плагинов: отменяйте нужное событие именно для “break/harvest”, а не для косвенного параметра.

Важный нюанс: “разрешить” и “запретить” блоки - это не про серверные регионы

В Minecraft есть технические блоки “разрешить” и “запретить”, которые часто путают с региональными настройками. Они относятся к Education Edition и имеют особое применение, поэтому на обычном сервере Java они не заменят WorldGuard. В документации Minecraft это отдельно отмечается.

Типичные ошибки

  • Путают запрет PvP с запретом ломать блоки. PvP-флаги никак не гарантируют, что добыча блоков будет запрещена.
  • Настраивают флаги в одном регионе, но игрок реально стоит в пересечении с другим регионом.
  • Дают группе permission, который дает обход защиты.
  • Полагаются на “технические” блоки вроде разрешить/запретить, думая, что это повлияет на серверные регионы.
  • Настраивают только одну точку проверки, а реальное действие происходит через другой механизм (инструмент, команда, WorldEdit вставка).

Итог

Чтобы сделать так, чтобы нельзя было ломать блоки:
1. Запрет должен идти через флаги WorldGuard, которые отвечают именно за добычу/ломание.
2. Нужно убедиться, что регион покрывает нужную область и имеет правильный приоритет среди пересекающихся регионов.
3. Проверьте права групп и возможные обходы permission.
4. Если стоит WGExtender или WorldEdit-интеграции, настройте их совместно, а при необходимости временно отключайте для диагностики.

Полезные ссылки

  • WorldGuard (документация по флагам и регионам): https://worldguard.com/
  • Minecraft Wiki про блоки “разрешить” и “запретить” (важный нюанс, что это Education Edition): https://minecraft.fandom.com/ru/wiki/%D0%91%D0%BB%D0%BE%D0%BA%D0%B8_%C2%AB%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D1%82%D1%8C%C2%BB_%D0%B8_%C2%AB%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%C2%BB
  • Примеры обсуждений по запрету ломания и логике отмены событий:
  • Bukkit/Spigot сообщество: https://bukkit.ru/threads/kak-sdelat-tak-chtoby-stavit-bloki-bylo-nelzja-a-lomat-mozhno.67959/
  • Rubukkit/похожие вопросы: https://rubukkit.org/threads/kak-zapretit-lomat-opredeljonnyj-blok.136934/
  • SpigotMC (пример запроса с WorldGuard): https://spigotmc.ru/threads/kak-sdelat-tak-chtoby-igroki-srazu-ne-mogli-lomat-v-rg-i-mogli-poluchat-uron.16048/