Как устроены регионы
Границы, пересечения, владельцы, участники, глобальный регион и хранение данных.
На этой странице
Геометрия и измерения#
Регион — прямоугольный параллелепипед с включительными минимальной и максимальной координатами. ID уникален внутри измерения; одинаковое имя может существовать в разных мирах как независимый регион. Количество заприваченных блоков считается как (maxX − minX + 1) × (maxY − minY + 1) × (maxZ − minZ + 1) и показывается в /rg info и /rg size.
При /rg define и /rg redefine сумма размеров по X, Y и Z не должна превышать 384 блока. Например, 128 × 128 × 128 разрешён, а 129 × 128 × 128 уже превышает лимит.
Пересечения и приоритет#
Если точка принадлежит нескольким регионам, действует один регион с наивысшим числовым приоритетом. Команды изменения приоритета пока нет; поле редактируется в JSON при остановленном сервере.
Флаги разных пересекающихся регионов не объединяются. После выбора региона проверяется только его значение, поэтому вложенная зона с большим приоритетом полностью определяет поведение в своей области.
Глобальный регион#
__global__ автоматически создаётся в каждом измерении и покрывает допустимый диапазон мира. Его приоритет равен Integer.MIN_VALUE, поэтому любой обычный регион находится выше.
Команды запрещают удалить или переопределить __global__. Он не показывается как обычный приват владельца и используется для базовых правил вне созданных регионов.
Владельцы#
Создавший регион игрок автоматически становится владельцем. Владелец может:
- переопределять границы и удалять регион;
- добавлять и удалять владельцев и участников;
- просматривать и менять разрешённые ему флаги;
- строить и взаимодействовать, обходя строительные флаги.
Изменение управляющих данных всё равно требует соответствующей командной permission-ноды. Владение не заменяет regionguard.command.*.
Участники#
Участник считается доверенным пользователем территории и обходит build, block-break, block-place, interact, use, chest-access, entry и passive-entity-damage.
Он не может менять границы, флаги или состав региона и не получает обход pvp deny. Карточка /rg info скрывает от участника управляющие кнопки и сводку флагов.
Гости#
Для гостя применяются все флаги выбранного региона. Если строительный флаг не был выставлен явно в заклеймленном регионе, действие запрещается по умолчанию.
entry deny возвращает гостя за границу региона. Отказ показывается на action bar, чтобы не заполнять чат сообщением на каждом тике.
OP-доступ#
OP уровня 2 может войти в любой регион, строить, взаимодействовать с блоками и контейнерами, выбрасывать предметы и использовать зелья, даже если не добавлен владельцем или участником. PvP-запрет для OP уже обходится. Правила среды и эффекты безопасности зоны — например invincibility, fall-damage, mob-damage и взрывы — остаются активными и для OP.
Доступ модератора без OP#
regionguard.admin.access даёт такой же доступ к действиям игрока внутри любого привата, включая обход pvp deny, но не открывает vanilla-команды и не отключает правила среды. Для управления чужими регионами выдаются отдельные ноды: regionguard.admin.members, regionguard.admin.flags, regionguard.admin.remove и regionguard.admin.redefine. Полный перечень и готовая команда LuckPerms находятся в разделе «Права Farmstead Claims».
Переопределение региона#
/rg redefine <id> использует новое выделение, но переносит старых владельцев, участников и флаги. Если размер выделения недопустим или выделение отсутствует, прежний регион остаётся без изменений.
Телепортация#
/rg tp <id> ищет безопасную посадку около центра. Обычный игрок должен быть владельцем или участником и иметь regionguard.command.tp; в __global__ телепортация запрещена.