mdbd/COMMANDS_GUIDE.md

489 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Dead by Daylight Plugin — Руководство команд
**Версия:** 1.2
**Обновлено:** Июнь 2026
**Платформа:** Minecraft 1.21.5 (Paper)
---
## Содержание
1. [Фазы игры](#фазы-игры)
2. [Команды игроков — /dbd](#команды-игроков--dbd)
3. [Команды администратора — /dbdadmin](#команды-администратора--dbdadmin)
4. [Команды настройки карты — /dbdsetup](#команды-настройки-карты--dbdsetup)
5. [Права доступа](#права-доступа)
6. [Порядок настройки сервера](#порядок-настройки-сервера)
7. [Таблица всех команд](#таблица-всех-команд)
---
## Фазы игры
```
LOBBY
Игроки делают /dbd join → телепорт в мир lobby
Action bar показывает: ▶ Старт через: 45с ████████░░ (3/5)
Когда набралось минимум игроков — идёт отсчёт 60 сек
При нехватке игроков — таймер сбрасывается
↓
ROLE ASSIGN (5 сек)
Случайно выбирается 1 киллер, остальные — выжившие
Показывается тайтл с ролью
Все телепортируются на свои спавны в мире game
↓
GAMEPLAY
Выжившие чинят генераторы (нужно 5 из 7)
Киллер охотится
При починке всех нужных генераторов — открываются ворота
↓
ENDGAME (2 минуты)
Выжившие открывают ворота и убегают
Или используют люк (если остался 1 выживший)
Коллапс через 120 сек убивает всех оставшихся
```
---
## Команды игроков — /dbd
Все команды ниже доступны любому игроку (`mdbd.player`, по умолчанию `true`).
---
### /dbd join
Присоединиться к игровой очереди.
```
/dbd join
```
- Добавляет игрока в текущую сессию как выжившего (роль назначится позже)
- Телепортирует в мир `lobby`
- В action bar начинает отображаться счётчик и таймер
- Если игра не создана — сообщение об ошибке
```
→ [DBD] Вы присоединились к игре!
→ [DBD] PlayerName присоединился к очереди! (1/5)
```
---
### /dbd leave
Покинуть сессию.
```
/dbd leave
```
- В лобби: просто убирает из очереди, таймер может сброситься
- В игре: выживший считается мёртвым, киллер завершает игру
- Игрок телепортируется обратно в `lobby`
```
→ [DBD] Вы покинули игру
```
---
### /dbd lobby
Телепортироваться в лобби-мир.
```
/dbd lobby
```
- Работает в любой момент, не убирает из сессии
- Телепортирует на точку спавна лобби (из `locations.yml`) или на спавн мира `lobby`
```
→ [DBD] Вы телепортированы в лобби!
```
---
## Команды администратора — /dbd (admin)
Требуют право `mdbd.admin` (по умолчанию только OP).
---
### /dbd create
Создать новую игровую сессию.
```
/dbd create
```
- Создаёт сессию и открывает лобби
- Нельзя создать вторую сессию пока первая активна
```
→ [DBD] Игра создана!
→ [DBD] Игра уже существует (если уже есть)
```
---
### /dbd forcestart
Принудительно запустить игру, пропустив таймер.
```
/dbd forcestart
```
- Работает только если сессия в фазе LOBBY
- Игроков в очереди может быть меньше минимума
```
→ [DBD] Игра форсирована!
```
---
### /dbd stop
Немедленно завершить текущую сессию.
```
/dbd stop
```
- Все игроки телепортируются в `lobby`
- Сессия уничтожается, можно создавать новую
```
→ [DBD] Игра остановлена
```
---
### /dbd reload
Перезагрузить все конфиги без перезапуска сервера.
```
/dbd reload
```
Перезагружает: `config.yml`, `game.yml`, `messages.yml`, `skillcheck.yml`, `locations.yml`, `generators.yml`
```
→ [DBD] Конфиги перезагружены!
```
> Если игра в процессе — сначала `/dbd stop`, иначе новые настройки применятся только к следующей сессии.
---
### /dbd setlobby
Установить текущую позицию игрока как точку спавна лобби.
```
/dbd setlobby
```
- Сохраняется в `locations.yml`
- Эквивалентно `/dbdsetup lobby`
```
→ [DBD] Лобби установлено!
```
---
## Команды администратора — /dbdadmin
Требуют право `mdbd.admin`. Все команды только для игроков (не консоли).
---
### /dbdadmin create generator
Режим расстановки генераторов.
```
/dbdadmin create generator
```
- Включает режим: в action bar оранжевая подсказка
- **Сломай блок** — координаты сохранятся, блок не разрушится
- Повторная команда — отключает режим
- Режим остаётся активным для нескольких генераторов подряд
```
→ Режим выбора генератора включен!
→ Сломайте блок, чтобы установить генератор
(сломал блок)
→ Генератор установлен! Всего: 1
```
**Tab complete:** `generator`
---
### /dbdadmin list
Список всех установленных генераторов.
```
/dbdadmin list
```
```
=== Генераторы (3) ===
[0] game:100.00,64.00,200.00
[1] game:150.00,64.00,150.00
[2] game:200.00,64.00,100.00
```
---
### /dbdadmin remove \<id\>
Удалить генератор по ID из списка.
```
/dbdadmin remove 0
```
**Tab complete:** подсказывает существующие ID (0, 1, 2...)
```
→ Генератор удален: game:100.00,64.00,200.00
→ Генератор с ID 5 не найден (если нет такого)
```
---
### /dbdadmin clear
Удалить все генераторы.
```
/dbdadmin clear
```
> Необратимо.
```
→ Все генераторы удалены
```
---
### /dbdadmin world \<мир\>
Телепортироваться в указанный мир для настройки карты.
```
/dbdadmin world lobby
/dbdadmin world game
/dbdadmin world <любое_название_мира>
```
- `lobby` — телепорт в мир-лобби (void, платформа 7x7)
- `game` — телепорт в игровой мир
- Любое другое название — телепорт в мир с таким именем (если загружен)
```
→ Телепортирован в мир: lobby
→ Мир не найден: abc (если мир не существует)
```
**Tab complete:** `lobby`, `game`
---
## Команды настройки карты — /dbdsetup
Требуют право `mdbd.admin`.
---
### /dbdsetup wand
Выдать топорик для расстановки ворот.
```
/dbdsetup wand
```
- Выдаёт деревянный топорик (WOODEN_AXE) с подписью DBD Setup Wand
- **ЛКМ** по блоку = точка 1 (pos1)
- **ПКМ** по блоку = точка 2 (pos2)
- Только для ворот. Для остальных объектов ванд не нужен.
---
### /dbdsetup set \<тип\>
Войти в режим установки объекта. **Сломай блок** — объект установится на его месте, блок восстановится.
```
/dbdsetup set generator
/dbdsetup set hook
/dbdsetup set pallet
/dbdsetup set chest
/dbdsetup set killer-spawn
/dbdsetup set survivor-spawn
```
| Тип | Описание | Рекомендуемое кол-во |
|-----|----------|---------------------|
| `generator` | Генератор | 7 |
| `hook` | Крюк | 7–10 |
| `pallet` | Паллет | 15–20 |
| `chest` | Сундук | 5–10 |
| `killer-spawn` | Спавн киллера | 1 |
| `survivor-spawn` | Спавн выжившего | 4 |
```
→ Режим установки: hook
→ Сломай блок чтобы установить (блок восстановится)
(ломаешь блок)
→ Крюк установлен: [game, 150, 65, 200]
```
---
### /dbdsetup set gate A|B
Установить ворота через две точки топориком.
```
/dbdsetup wand — получить топорик
ЛКМ по блоку → точка 1 — нижний левый угол
ПКМ по блоку → точка 2 — верхний правый угол
/dbdsetup set gate A — установить ворота A в центре между точками
/dbdsetup set gate B — установить ворота B
```
Центр ворот вычисляется: X = средняя точка, Y = минимальная из двух.
```
→ [Wand] Точка 1: [game, 100, 64, 200]
→ [Wand] Точка 2: [game, 110, 64, 210]
→ Ворота A установлены: [game, 105, 64, 205]
```
---
### /dbdsetup build
Построить карту по шаблону и `locations.yml`.
```
/dbdsetup build
```
```
→ Строительство карты...
→ Карта построена!
```
---
### /dbdsetup clear
Очистить карту.
```
/dbdsetup clear
```
```
→ Очистка карты...
→ Карта очищена!
```
---
### /dbdsetup lobby
Установить спавн лобби на текущую позицию.
```
/dbdsetup lobby
```
Аналог `/dbd setlobby`. Сохраняется в `locations.yml`.
---
## Права доступа
| Право | Кому | Что даёт |
|-------|------|----------|
| `mdbd.player` | Все (`default: true`) | `/dbd join`, `leave`, `lobby` |
| `mdbd.admin` | OP (`default: op`) | Все остальные команды |
---
## Порядок настройки сервера
### Первый запуск
1. Запустить сервер — плагин создаст миры `lobby` и `game` автоматически
2. `/dbdadmin world lobby` — войти в лобби-мир и осмотреться (платформа 7x7)
3. `/dbd setlobby` — встать на нужную точку и сохранить спавн лобби
### Настройка игровой карты
4. `/dbdadmin world game` — перейти в игровой мир
5. Построить или загрузить карту
6. Расставить объекты:
- `/dbdsetup set generator` → ломать блоки для генераторов
- `/dbdsetup set hook` → ломать блоки для крюков
- `/dbdsetup set pallet` → ломать блоки для паллетов
- `/dbdsetup set chest` → ломать блоки для сундуков
7. Установить спавны:
- `/dbdsetup set killer-spawn` → спавн киллера
- `/dbdsetup set survivor-spawn` → 4 раза для выживших
8. Установить ворота:
- `/dbdsetup wand` → получить топорик
- ЛКМ/ПКМ по блокам → отметить углы ворот
- `/dbdsetup set gate A` и `/dbdsetup set gate B`
### Тест
8. `/dbd create` — создать сессию
9. `/dbd join` (5 игроков или меньше с форс-стартом)
10. `/dbd forcestart` — запустить не дожидаясь таймера
---
## Таблица всех команд
| Команда | Право | Описание |
|---------|-------|----------|
| `/dbd join` | player | Войти в очередь |
| `/dbd leave` | player | Покинуть сессию |
| `/dbd lobby` | player | Телепорт в лобби |
| `/dbd create` | admin | Создать сессию |
| `/dbd forcestart` | admin | Принудительный старт |
| `/dbd stop` | admin | Остановить игру |
| `/dbd reload` | admin | Перезагрузить конфиги |
| `/dbd setlobby` | admin | Сохранить спавн лобби |
| `/dbdadmin create generator` | admin | Режим расстановки генераторов |
| `/dbdadmin list` | admin | Список генераторов |
| `/dbdadmin remove <id>` | admin | Удалить генератор |
| `/dbdadmin clear` | admin | Очистить все генераторы |
| `/dbdadmin world <lobby\|game\|мир>` | admin | Телепорт в мир |
| `/dbdsetup wand` | admin | Топорик для ворот (ЛКМ/ПКМ) |
| `/dbdsetup set <тип>` | admin | Установить объект (сломать блок) |
| `/dbdsetup set gate A\|B` | admin | Установить ворота (из точек ванда) |
| `/dbdsetup build` | admin | Построить карту |
| `/dbdsetup clear` | admin | Очистить карту |
| `/dbdsetup lobby` | admin | Сохранить спавн лобби |
---
*Dead by Daylight Minecraft Plugin — актуально для версии 1.1+*