fix: colors, /dbd join flow, world creation, role assign, action bar lobby, /dbdadmin world, tab complete
This commit is contained in:
parent
327ad9b906
commit
1adb8c84fd
19 changed files with 874 additions and 112 deletions
524
COMMANDS_GUIDE.md
Normal file
524
COMMANDS_GUIDE.md
Normal file
|
|
@ -0,0 +1,524 @@
|
|||
# Dead by Daylight Plugin — Руководство команд
|
||||
|
||||
**Версия:** 1.1
|
||||
**Обновлено:** Июнь 2026
|
||||
**Платформа:** Minecraft 1.21.1 (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
|
||||
```
|
||||
|
||||
- Выдаёт палку (STICK) с подписью
|
||||
- ЛКМ = первая точка (pos1)
|
||||
- ПКМ = вторая точка (pos2)
|
||||
|
||||
---
|
||||
|
||||
### /dbdsetup pos1 / pos2
|
||||
|
||||
Установить точку выделения вручную (по позиции игрока).
|
||||
|
||||
```
|
||||
/dbdsetup pos1
|
||||
/dbdsetup pos2
|
||||
```
|
||||
|
||||
```
|
||||
→ Установлена точка 1: [game, 100, 64, 200]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /dbdsetup save \<название\>
|
||||
|
||||
Сохранить блоки между pos1 и pos2 как шаблон карты.
|
||||
|
||||
```
|
||||
/dbdsetup save main_map
|
||||
```
|
||||
|
||||
**Tab complete для load/save:** показывает существующие шаблоны.
|
||||
|
||||
```
|
||||
→ Шаблон 'main_map' сохранен!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /dbdsetup load \<название\>
|
||||
|
||||
Загрузить шаблон на текущую позицию игрока.
|
||||
|
||||
```
|
||||
/dbdsetup load main_map
|
||||
```
|
||||
|
||||
**Tab complete:** список сохранённых шаблонов.
|
||||
|
||||
```
|
||||
→ Шаблон 'main_map' загружен!
|
||||
→ Шаблон не найден! (если нет такого)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /dbdsetup list
|
||||
|
||||
Показать список сохранённых шаблонов карт.
|
||||
|
||||
```
|
||||
/dbdsetup list
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /dbdsetup set \<тип\>
|
||||
|
||||
Сохранить текущую позицию игрока как объект указанного типа.
|
||||
|
||||
```
|
||||
/dbdsetup set generator
|
||||
/dbdsetup set hook
|
||||
/dbdsetup set pallet
|
||||
/dbdsetup set chest
|
||||
/dbdsetup set totem
|
||||
/dbdsetup set gate
|
||||
/dbdsetup set lobby
|
||||
```
|
||||
|
||||
| Тип | Описание | Рекомендуемое кол-во |
|
||||
|-----|----------|---------------------|
|
||||
| `generator` | Генератор | 7 |
|
||||
| `hook` | Крюк | 7–10 |
|
||||
| `pallet` | Паллет | 15–20 |
|
||||
| `gate` | Ворота выхода | 2 |
|
||||
| `lobby` | Спавн в лобби | 1 |
|
||||
|
||||
> `chest`, `totem` — сохраняются в `locations.yml`, но пока не подключены к игровой логике.
|
||||
|
||||
**Tab complete:** все типы выше.
|
||||
|
||||
```
|
||||
→ Установлен: hook на [game, 150, 65, 200]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /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. Расставить объекты:
|
||||
- `/dbdadmin create generator` → ломать блоки для 7 генераторов
|
||||
- `/dbdsetup set hook` → встать у каждого крюка (7–10 штук)
|
||||
- `/dbdsetup set pallet` → паллеты (15–20 штук)
|
||||
- `/dbdsetup set gate` → 2 ворот выхода
|
||||
7. Установить спавны ролей в `locations.yml` вручную или через `/dbdsetup set`:
|
||||
- `killer-spawn` — 1 точка
|
||||
- `survivor-spawns` — 4 точки
|
||||
|
||||
### Тест
|
||||
|
||||
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 pos1` / `pos2` | admin | Точки выделения |
|
||||
| `/dbdsetup save <name>` | admin | Сохранить шаблон карты |
|
||||
| `/dbdsetup load <name>` | admin | Загрузить шаблон |
|
||||
| `/dbdsetup list` | admin | Список шаблонов |
|
||||
| `/dbdsetup set <тип>` | admin | Сохранить позицию объекта |
|
||||
| `/dbdsetup build` | admin | Построить карту |
|
||||
| `/dbdsetup clear` | admin | Очистить карту |
|
||||
| `/dbdsetup lobby` | admin | Сохранить спавн лобби |
|
||||
|
||||
---
|
||||
|
||||
*Dead by Daylight Minecraft Plugin — актуально для версии 1.1+*
|
||||
Loading…
Add table
Add a link
Reference in a new issue