# Система участков

**<span style="color: rgb(224, 62, 45);">Данное обновление пока недоступно на сервере и находится в разработке.</span>**

Участок — это защищённая зона **внутри** уже защищённой территории. Он не требует отдельного блока защиты: достаточно выделить область топориком и дать ей имя. Внутри участка действуют собственные права доступа, независимые от прав основной зоны.

Основной сценарий — клановая или совместная территория. Один игрок ставит блок и защищает большую площадь, а затем нарезает внутри неё личные участки для остальных: каждый работает только на своём, не имея доступа к чужим.

## Шпаргалка по командам

<table id="bkmrk-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0-%D0%A7%D1%82%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D1%82-%2F"><thead><tr><th>Команда</th><th>Что делает</th></tr></thead><tbody><tr><td>`/ps plot create <название>`</td><td>Создаёт участок из текущего выделения</td></tr><tr><td>`/ps plot delete <название>`</td><td>Удаляет участок</td></tr><tr><td>`/ps plot list`</td><td>Список участков в текущем мире</td></tr><tr><td>`/ps plot add <название> <игрок>`</td><td>Выдаёт игроку полный доступ</td></tr><tr><td>`/ps plot kick <название> <игрок>`</td><td>Заносит игрока в чёрный список</td></tr><tr><td>`/ps plot unkick <название> <игрок>`</td><td>Снимает блокировку, переводя игрока в «прохожие»</td></tr><tr><td>`/ps plot kickall <игрок>`</td><td>Блокирует игрока сразу на всех своих участках</td></tr><tr><td>`/ps plot flag <название> <флаг> <значение>`</td><td>Настраивает публичный доступ к участку</td></tr></tbody></table>

## Создание участка

### Порядок действий

1. Возьмите деревянный топорик и выделите зону: ЛКМ по первому углу, ПКМ по второму.
2. Убедитесь, что выделение целиком помещается внутри вашей защищённой зоны.
3. Введите `/ps plot create <название>`.

### Высота участка - главная ошибка новичков

Участок сохраняет **точный диапазон высот выделения**. Он не тянется от бедрока до неба, как обычный приват от блока.

1. Первым углом (ЛКМ) щёлкните по нижнему блоку — по полу постройки или ниже, если нужен подвал.
2. Постройте временную колонну из любых блоков до высоты, которая должна войти в участок: крыша, верхушка дерева, потолок склада.
3. Вторым углом (ПКМ) щёлкните по верхнему блоку колонны — по диагонали от первого угла.
4. Колонну после выделения можно разобрать, границы участка уже зафиксированы.

Берите высоту с запасом: лишние блоки воздуха сверху ничему не мешают, а нехватка двух блоков оставит сундуки и животных снаружи защиты. Получившиеся границы всегда можно проверить через `/ps plot list`.

### Когда создание отклоняется

- Выделение выходит за границы вашей защищённой зоны или задевает сразу две зоны.
- Выделение перекрывается с существующим участком или чужим регионом.
- Название совпадает с идентификатором уже существующего региона.

## Три состояния доступа

Игрок всегда находится ровно в одном из трёх состояний по отношению к участку. Команды взаимно перекрывают друг друга последняя выполненная определяет текущее состояние.

```
/ps plot add     →  участник: полный доступ
/ps plot unkick  →  прохожий: только то, что открыто публичными флагами
/ps plot kick    →  чёрный список: не действует ничего
```

### Участник — `/ps plot add`

Полный доступ к участку: строить, ломать, открывать контейнеры, взаимодействовать. Доступ к остальной территории основной зоны при этом не выдаётся.

### Заблокирован — `/ps plot kick`

Жёсткий запрет. Он действует **даже если игрок добавлен в основную защищённую зону** и даже если на участке выставлены публичные флаги. Внутри участка заблокированный игрок не сможет:

- ломать и ставить блоки, в том числе многоблочные конструкции;
- пользоваться вёдрами — выливать и набирать жидкости;
- открывать контейнеры, двери, люки и калитки;
- нажимать кнопки, рычаги и нажимные плиты;
- взаимодействовать с рамками и снимать из них предметы;
- повреждать блоки взрывом, если источник взрыва прослеживается до него;
- атаковать существ — вручную и снарядами.

При этом остальная территория основной зоны остаётся для него доступной, если он в неё добавлен.

### Прохожий — `/ps plot unkick`

Снимает блокировку, но **не возвращает доступ**. Игрок становится для участка тем же, кем является случайный человек с улицы: личных прав нет, но публичные флаги на него действуют.

<table id="bkmrk-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%97%D0%B0%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%B0"><thead><tr><th>Действие</th><th>Заблокирован</th><th>Прохожий</th></tr></thead><tbody><tr><td>Ломать и ставить блоки</td><td>❌</td><td>❌</td></tr><tr><td>Участок без флагов</td><td>ничего нельзя</td><td>ничего нельзя</td></tr><tr><td>Участок с `interact allow`</td><td>❌ по-прежнему нельзя</td><td>✅ наравне со всеми</td></tr><tr><td>Участок с `chest-access allow`</td><td>❌ по-прежнему нельзя</td><td>✅ наравне со всеми</td></tr></tbody></table>

**Зачем это нужно.** Игрок, добавленный в основную зону, автоматически получает полный доступ ко всем участкам внутри неё. Без этой команды выбор был бы бинарным: либо полный доступ, либо чёрный список. Состояние «прохожий» — третий вариант: закрыть от человека один конкретный сарайчик, не занося его в чёрный список и не мешая ему пользоваться общими фермами.

**Важно:** `unkick` — не отмена `kick`. Команда `kick` удаляет игрока из участников участка, и эта запись не восстанавливается. Если до блокировки у него был личный доступ через `add`, после `unkick` он не вернётся — выдайте доступ заново.

### Массовая блокировка — `/ps plot kickall`

То же, что `kick`, но сразу на всех участках текущего мира, которыми вы управляете. Удобно, когда игрок покидает клан.

### Что происходит при удалении из основной зоны

Команды `/ps remove` и `/ps removeowner` удаляют игрока сразу из всех участков этой зоны — в чате отображается количество затронутых участков. Одновременно снимаются все ограничения на этих участках: и блокировка, и статус «прохожий». Это сделано для того, чтобы при повторном добавлении игрока в зону не осталось забытых пометок.

Доступ, выданный **только** на участок через `/ps plot add`, от `/ps remove` не теряется — в основной зоне такого игрока и не было.

## Публичные флаги

Флаги открывают доступ к участку сразу всем игрокам, независимо от списка участников. Настраиваются они непосредственно на участке и не зависят от флагов основной зоны.

```
/ps plot flag <название> <флаг> <значение>
```

Доступных флага два, и вместе они покрывают всё, что можно сделать **правым кликом**, ничего не ломая и не ставя.

<table id="bkmrk-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%A0%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82-a"><thead><tr><th>Значение</th><th>Результат</th></tr></thead><tbody><tr><td>`allow`</td><td>Разрешить всем</td></tr><tr><td>`deny`</td><td>Явно запретить</td></tr></tbody></table>

### `interact` — механизмы и рабочие блоки

Открывает взаимодействие со всем, что реагирует на правый клик, но не хранит внутри чужие вещи.

<table id="bkmrk-%D0%93%D1%80%D1%83%D0%BF%D0%BF%D0%B0-%D0%91%D0%BB%D0%BE%D0%BA%D0%B8-%D0%9F%D1%80%D0%BE%D1%85%D0%BE%D0%B4%D1%8B"><thead><tr><th>Группа</th><th>Блоки</th></tr></thead><tbody><tr><td>Проходы</td><td>Двери, люки, калитки — деревянные и медные всех видов</td></tr><tr><td>Управление редстоуном</td><td>Кнопки, рычаги, нажимные плиты, растяжки, повторители, компараторы, датчик дневного света, наблюдатель</td></tr><tr><td>Рабочие столы</td><td>Верстак, стол зачарований, наковальня, точило, камнерез, ткацкий станок, картографический и кузнечный стол, чан</td></tr><tr><td>Бытовые блоки</td><td>Кровати, колокол, костры, свечи, лампы, цветочный горшок, компостер, котёл, книжная полка с пазами</td></tr><tr><td>Звук и декор</td><td>Нотный блок, проигрыватель, музыкальная шкатулка, знамёна и таблички</td></tr><tr><td>Транспорт и хранение</td><td>Посадка в вагонетки и лодки, установка и снятие вагонеток и лодок с рельсов и воды</td></tr><tr><td>Прочее</td><td>Стойка для брони, поводки, торговля с деревенскими жителями, доение коров, стрижка овец</td></tr></tbody></table>

### `chest-access` — контейнеры

Открывает всё, где хранятся предметы. Флаг разделён с предыдущим намеренно: механизмы можно открыть людям, а сундуки оставить закрытыми, и наоборот.

<table id="bkmrk-%D0%93%D1%80%D1%83%D0%BF%D0%BF%D0%B0-%D0%91%D0%BB%D0%BE%D0%BA%D0%B8-%D0%A5%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8"><thead><tr><th>Группа</th><th>Блоки</th></tr></thead><tbody><tr><td>Хранилища</td><td>Сундук, ловушка-сундук, большой сундук, бочка, шалкеровый ящик, сундук Края</td></tr><tr><td>Печи</td><td>Печь, коптильня, доменная печь</td></tr><tr><td>Редстоун-контейнеры</td><td>Раздатчик, выбрасыватель, воронка</td></tr><tr><td>Особые</td><td>Варочная стойка, крафтер, декорированный горшок, вагонетка с сундуком и воронкой, лодка с сундуком</td></tr></tbody></table>

### Что флаги не открывают ни при каком значении

- Ломать и ставить блоки
- Пользоваться вёдрами, огнивом и костной мукой.
- Класть и забирать предметы из рамок, вращать содержимое рамки.
- Атаковать существ, в том числе снарядами: любой выстрел внутрь участка трактуется как строительство и не пропускается.
- Взрывать блоки и повреждать животных.

Проще говоря, флаги дают **пользоваться** участком, но не **изменять** его. Строить внутри может только участник или владелец.

### Пример: ферма опыта с общим сундуком

```
/ps plot create storage                    ← выделить зону вокруг сундука и зачарователя
/ps plot flag storage interact allow       ← все могут нажимать кнопки и пользоваться столом
/ps plot flag storage chest-access allow   ← все могут открывать сундуки
```

Ломать блоки при этом по-прежнему нельзя: запрет наследуется от основной зоны.

Флаги не обходят чёрный список. Заблокированный игрок не получит доступ, даже если флаг стоит в `allow`. Если человек всё же должен пользоваться общей фермой, но не иметь личных прав на участок, переведите его в «прохожие» через `unkick`.

## Просмотр и удаление

### `/ps plot list`

Показывает участки текущего мира, которыми вы управляете: название, основную зону, координаты углов и список игроков с личным доступом. Игроки, получившие доступ через основную зону, помечаются пометкой `(via parent)`.

Если на участке есть ограниченные игроки, добавляются две строки:

- `Blocked:` — заблокированные, красным;
- `Guests:` — переведённые в «прохожие», жёлтым.

### `/ps plot delete`

Удалить участок могут владелец участка, владелец основной защищённой зоны и администрация.

## Вложенные зоны

Если одна защищённая зона находится внутри другой, новый участок автоматически привязывается к **наименьшей зоне, которая целиком вмещает выделение**.

```
Зона A (большая)
└── Зона B (внутри A)
    └── Зона C (внутри B)

Выделение внутри C             → участок привязан к C
Выделение внутри B, но вне C   → участок привязан к B
Выделение внутри A, но вне B   → участок привязан к A
Выделение пересекает две зоны  → отказ
```

При удалении зоны удаляются только участки, привязанные к ней напрямую.

## Ограничения и автоматика

### Автоматическая очистка

- **При удалении защищённой зоны** все её участки удаляются вместе с ней.