# Создание города

## 🏙️ FulgurTowns — гайд для игроков

Плагин **FulgurTowns** позволяет игрокам создавать собственные города на сервере.\
Создание города проходит через систему **черновиков и модерации**, чтобы поддерживать качество построек и баланс карты.

***

## Зачем развивать свой город

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

Развитие города даёт несколько практических преимуществ:

* **Общий центр для игры**: у города появляется площадь, жильё, склады, мастерские и понятная структура вместо набора разрозненных баз.
* **Больше безопасности для базы**: город удобнее держать как общую и ухоженную территорию, а новичковые ограничения снижают риск вреда со стороны игроков, которые ещё не получили статус **«Местный»** и доступ к опасным предметам.
* **Цель для строительства**: уровни задают направление, что именно стоит достраивать дальше и как превращать базу в живое поселение.
* **Повод играть вместе**: участники делят роли, строят районы, ведут хозяйство и развивают общий проект, а не просто живут рядом.
* **Участие в системе контрактов**: развитый город может брать и публиковать контракты, получать ОК и включаться в экономику и взаимодействие с другими городами.
* **Статус и узнаваемость**: высокий уровень города показывает масштаб, активность и качество вашей команды на сервере.

Если нужен именно список требований и порогов, переходите на страницу [Уровни городов](https://wiki.fulgur.org/wiki/vanilla/goroda/urovni-gorodov). Если хотите разобраться, как считаются очки и зачем нужны контракты, откройте [Термины, очки и контракты](https://wiki.fulgur.org/wiki/vanilla/goroda/terminy-ochki-i-kontrakty).

***

## 📌 Основная логика системы

Процесс создания города выглядит так:

1️⃣ Игрок создаёт **черновик города**\
2️⃣ Определяет **границы территории**\
3️⃣ Указывает **тематику города**\
4️⃣ Отправляет черновик на **модерацию**\
5️⃣ После одобрения город становится **активным**

⚠️ Город **не создаётся мгновенно** — он должен пройти проверку администрации.

***

## 🚀 Быстрый старт — создание города

### 1️⃣ Создание черновика

```
/towns new <название>
```

После выполнения команды плагин создаст **черновик города** и покажет его **ID**.

***

## 📍 2️⃣ Установка границ города

Самый простой способ — использовать специальную палочку.

```
/towns point wand
```

После получения палочки:

* ЛКМ или ПКМ по блокам — добавляет точку границы
* Каждая точка формирует контур территории

#### Ограничения

* Минимум **6 точек**
* Максимум **256 точек**
* Минимальное расстояние между точками — **20 блоков по X/Z**

***

### Управление точками вручную

```
/towns point add <x> <y> <z>
/towns point insert <afterIndex> <x> <y> <z>
/towns point move <index> <x> <y> <z>
/towns point remove <index|last>
/towns point list
```

***

## 🗺️ 3️⃣ Просмотр территории на карте

Можно посмотреть границы города на онлайн-карте.

```
/towns preview
```

❗ Требования:

* минимум **6 точек**
* работает только для **нового города**
* требуется включённая **Онлаин карта**

***

## 🎨 4️⃣ Указание тематики города

Тематика — обязательный параметр.

```
/towns edit <id> theme <текст>
```

Пример:

```
/towns edit abc-123 theme рыбацкая деревня
```

Без тематики **черновик не будет сохранён**.

***

## 📤 5️⃣ Отправка на проверку

Когда всё готово:

```
/towns save
```

После этого черновик получает статус:

```
На рассмотрении
```

***

## 🎫 6️⃣ Создание тикета

После отправки черновика необходимо:

1️⃣ Создать тикет в **Discord сервера**\
2️⃣ Указать **ID черновика**

Модерация проверит:

* территорию
* соответствие правилам
* адекватность размера

***

## 👑 Управление городом

### Просмотр информации

```
/towns list
/towns info [город|id]
/towns info details <город|id>
/towns info members <город|id>
```

***

## 👥 Управление участниками

### Приглашение игрока

```
/towns member invite <город|id> <игрок>
```

Приглашение действует **72 часа**.

***

### Принятие приглашения

```
/towns invite accept <город|id>
/towns invite decline <город|id>
```

***

### Исключение участника

```
/towns member kick <город|id> <игрок>
```

Заместители также могут кикать игроков.

***

## 🛡️ Заместители

Назначает только владелец.

Добавить:

```
/towns member deputy add <город|id> <игрок>
```

Убрать:

```
/towns member deputy remove <город|id> <игрок>
```

Максимум **2 заместителя на город**.

***

## ✏️ Редактирование города

### Переименование

```
/towns edit <город|id> name <новое название>
```

Изменение проходит **через модерацию**.

***

### Изменение границ

```
/towns edit <город|id> points
```

После редактирования:

```
/towns save
```

***

### Описание города

```
/towns edit <город|id> description <текст>
```

Удалить описание:

```
/towns edit <город|id> description clear
```

***

## 📍 Положение подписи на карте

Можно изменить положение подписи города.

```
/towns edit <город|id> label here
/towns edit <город|id> label <x> <y> <z>
/towns edit <город|id> label offset <dx> <dy> <dz>
/towns edit <город|id> label reset
```

***

## 🚪 Выход из города

```
/towns leave
```

Ограничения:

* владелец не может выйти сам
* после выхода действует **кулдаун 24 часа** на вступление в новый город

***

## 🗑️ Удаление города

```
/towns delete <город|id>
/towns delete confirm
/towns delete cancel
```

Условия:

* в городе не должно быть других игроков
* подтверждение нужно в течение **30 секунд**

***

## ❗ Частые проблемы

#### Нет активного черновика

Создайте новый:

```
/towns new <название>
```

Или выберите существующий:

```
/towns draft use <id>
```

***

#### Черновик не сохраняется

Возможные причины:

* меньше **6 точек**
* не указана **тематика**
* точки стоят слишком близко
* выбран не тот черновик

***

## 📜 Основные команды

```
/towns new <название>
/towns point wand
/towns point list
/towns preview
/towns save
/towns draft list
/towns info [город|id]
/towns edit <город|id> points
/towns edit <город|id> name <новое название>
/towns edit <город|id> theme <текст>
/towns edit <город|id> description <текст>
/towns member invite <город|id> <игрок>
/towns member kick <город|id> <игрок>
/towns member deputy add <город|id> <игрок>
/towns member deputy remove <город|id> <игрок>
/towns invite accept <город|id>
/towns invite decline <город|id>
/towns leave
/towns delete <город|id>
```
