Add default configs in src/main/resources/

- config.yml - main plugin settings
- messages.yml - all messages with &#rrggbb colors
- skillcheck.yml - QTE settings with colors
- game.yml - game balance settings
- locations.yml - object coordinates template
- Update ConfigManager to load main config
- Update build.gradle.kts to process all yml files
This commit is contained in:
loki5512344 2026-05-31 21:10:26 +02:00
parent 2a2b9f4b5b
commit 78c881e94c
7 changed files with 494 additions and 0 deletions

View file

@ -29,5 +29,8 @@ tasks {
filesMatching("paper-plugin.yml") {
expand(props)
}
filesMatching("*.yml") {
expand(props)
}
}
}

View file

@ -17,6 +17,7 @@ public class ConfigManager {
private GameConfig gameConfig;
private MessagesConfig messagesConfig;
private SkillCheckConfig skillCheckConfig;
private FileConfiguration mainConfig;
public ConfigManager(mdbd plugin) {
this.plugin = plugin;
@ -27,6 +28,7 @@ public class ConfigManager {
}
public void loadConfigs() {
this.mainConfig = loadConfig("config.yml");
this.locationsConfig = new LocationsConfig(loadConfig("locations.yml"));
this.gameConfig = new GameConfig(loadConfig("game.yml"));
this.messagesConfig = new MessagesConfig(loadConfig("messages.yml"));
@ -84,4 +86,8 @@ public class ConfigManager {
public SkillCheckConfig getSkillCheck() {
return skillCheckConfig;
}
public FileConfiguration getMainConfig() {
return mainConfig;
}
}

View file

@ -0,0 +1,49 @@
# ============================================
# Mdbd Plugin - Главный конфиг
# Версия: ${version}
# ============================================
# Основные настройки плагина
settings:
# Язык сообщений (пока только встроенный)
language: "ru"
# Отладочный режим
debug: false
# Автосохранение каждые X минут
auto-save-minutes: 5
# Настройки игры
game:
# Минимум игроков для старта
min-players: 5
# Максимум игроков
max-players: 5
# Обратный отсчёт в лобби (секунды)
lobby-countdown: 60
# Задержка перед назначением ролей (секунды)
role-assign-delay: 5
# Визуальные настройки
display:
# Использовать титры при старте игры
use-title-on-start: true
# Показывать ActionBar с прогрессом
use-action-bar: true
# Показывать Scoreboard (боковую панель)
use-sidebar: true
# Формат прогресс-бара
progress-bar:
length: 20
filled: "█"
empty: "░"
# Цвета в формате &#rrggbb
color-filled: "&#00FF00"
color-empty: "&#FF0000"

138
src/main/resources/game.yml Normal file
View file

@ -0,0 +1,138 @@
# ============================================
# Mdbd Plugin - Игровой баланс
# ============================================
# Лобби
lobby:
# Минимум игроков для старта
min-players: 5
# Максимум игроков
max-players: 5
# Обратный отсчёт (секунд)
countdown-seconds: 60
# Задержка перед назначением ролей (секунд)
role-assign-delay: 5
# Генераторы
generators:
# Всего генераторов на карте
total-count: 7
# Сколько нужно починить для ворот
required-count: 5
# Время починки одного генератора (секунд)
repair-seconds: 80
# Скорость отката без чинильщика (%/сек)
regression-rate: 0.25
# Скорость отката после пинка (%/сек)
kick-regression-rate: 2.5
# Длительность отката после пинка (секунд)
kick-duration-seconds: 30
# Крюки
hooks:
# Длительность Фазы 1 (секунд)
stage1-seconds: 60
# Длительность Фазы 2 (секунд)
stage2-seconds: 60
# Интервал борьбы на Фазе 2 (секунд)
struggle-interval: 2
# Максимум крюков на одного выжившего
max-hooks: 3
# Скорости (% от нормальной)
movement:
# Киллер
killer: 115
# Киллер с выжившим
killer-carry: 92
# Выживший шагом
survivor-walk: 100
# Выживший спринт
survivor-sprint: 150
# Выживший в нокдауне (ползком)
survivor-crawl: 30
# Длительность истощения (секунд)
exhaustion-duration: 3
# Кулдаун истощения (секунд)
exhaustion-cooldown: 5
# Лечение
healing:
# Самолечение (секунд)
self-heal-seconds: 30
# Лечение другого (секунд)
other-heal-seconds: 16
# Бонус аптечки (0.5 = в 2 раза быстрее)
medkit-bonus: 0.5
# Прерывание при движении
interrupt-on-move: true
# Киллер
killer:
# Кулдаун атаки (секунд)
attack-cooldown: 2.5
# Дальность атаки (блоков)
attack-range: 3.0
# Длительность оглушения паллетом (секунд)
pallet-stun-seconds: 2.5
# Время ломания паллета (секунд)
pallet-break-seconds: 3.0
# Радиус ужаса (блоков)
terror-radius: 32
# Окна
window:
# Быстрый волт выжившего (секунд)
vault-survivor-fast: 1.0
# Медленный волт выжившего (секунд)
vault-survivor-slow: 1.5
# Волт киллера (секунд)
vault-killer: 1.5
# Блокировка после 3 волтов подряд (секунд)
vault-block-seconds: 15
# Эндгейм
endgame:
# Время открытия ворот (секунд)
gate-open-seconds: 20
# Время до коллапса (секунд)
collapse-seconds: 120
# Открытие сундуков (секунд)
chest-open-seconds: 3
# Люк
hatch:
# Минимум живых для открытия люка
min-survivors-for-open: 1
# Условие: живых < починенных генераторов
require-more-gens-than-survivors: true

View file

@ -0,0 +1,59 @@
# ============================================
# Mdbd Plugin - Координаты объектов
# Устанавливайте через /dbdsetup set <тип>
# ============================================
# Лобби (спавн перед игрой)
lobby:
world: "world"
x: 0.0
y: 100.0
z: 0.0
yaw: 0.0
pitch: 0.0
# Генераторы (7 штук)
# Формат: "world,x,y,yaw,pitch"
generators: []
# Пример:
# - "world,100.5,64.0,200.5,0.0,0.0"
# - "world,150.5,64.0,250.5,90.0,0.0"
# Крюки (обычно 4-6)
hooks: []
# Пример:
# - "world,120.5,65.0,180.5,0.0,0.0"
# Паллеты (много)
pallets: []
# Пример:
# - "world,110.5,64.0,190.5,0.0,0.0"
# Окна (много)
windows: []
# Сундуки с лутом (3-4)
chests: []
# Тотемы (5)
totems: []
# Ворота выхода (2)
exitgates: []
# Спавн киллера (1 точка)
killer-spawn: []
# Спавны выживших (4 точки)
survivor-spawns: []
# ============================================
# Команды для настройки:
# /dbdsetup set generator - Установить генератор
# /dbdsetup set hook - Установить крюк
# /dbdsetup set pallet - Установить паллет
# /dbdsetup set chest - Установить сундук
# /dbdsetup set totem - Установить тотем
# /dbdsetup set gate - Установить ворота
# /dbdsetup set lobby - Установить лобби
# ============================================

View file

@ -0,0 +1,119 @@
# ============================================
# Mdbd Plugin - Сообщения
# Поддерживаются цвета в формате &#rrggbb
# ============================================
# Префикс всех сообщений плагина
prefix: "&#FF6B00&l[DBD]&r "
# Сообщения игры
game:
# Старт/конец
start: "&#00FF00Игра началась! Бегите от Киллера!"
end-victory-escape: "&#FFD700Выжившие сбежали! Победа!"
end-victory-killer: "&#DC143CКиллер победил!"
# Ожидание
waiting: "&#FFFF00Ожидание игроков... (%s/%s)"
countdown: "&#FFA500До начала: %s секунд"
countdown-short: "&#FF0000%s..."
# Роли
role-killer: "&#DC143CВы Киллер! Поймайте всех выживших."
role-survivor: "&#00CED1Вы Выживший! Почините генераторы и сбегите."
# Генераторы
generator:
repair-start: "&#00CED1Вы начали чинить генератор..."
repair-stop: "&#87CEEBВы остановились."
repair-complete: "&#00FF00✓ Генератор активирован! (%s/%s)"
repair-progress: "&#FFD700Прогресс: %s%%"
skillcheck-success: "&#00FF00Отлично! +%s%%"
skillcheck-super: "&#FFD700Великолепно! +%s%%"
skillcheck-fail: "&#FF0000✗ Провал! -%s%%"
explosion: "&#FF4500⚠ Взрыв генератора!"
regression: "&#FF6347Генератор откатывается..."
kicked: "&#FF4500Киллер пнул генератор!"
# Киллер
killer:
terror-near: "&#8B0000Сердце колотится..."
terror-medium: "&#FF4500Опасно рядом..."
terror-far: "&#FFA500Киллер где-то рядом"
chase-start: "&#FF0000⚠ Киллер преследует вас!"
chase-stop: "&#00FF00Вы ушли от погони."
hit: "&#DC143CВы ранены! Ищите укрытие!"
down: "&#8B0000Вы в нокдауне! Ползите!"
pickup: "&#800080Киллер поднял вас..."
hook: "&#4B0082Вас повесили на крюк!"
# Выжившие
survivor:
heal-self-start: "&#00FA9AЛечите себя..."
heal-self-complete: "&#00FF00Вылечены!"
heal-other-start: "&#00FA9AЛечите союзника..."
heal-other-complete: "&#00FF00Союзник вылечен!"
heal-interrupt: "&#FFD700Лечение прервано!"
sprint-exhausted: "&#FF8C00Вы устали... (Истощение)"
sprint-ready: "&#00FF00Можно бежать!"
pallet-drop: "&#DEB887Вы бросили паллет!"
pallet-stun: "&#FFD700Киллер оглушён! Уходите!"
vault-fast: "&#00CED1Быстрый прыжок!"
vault-slow: "&#87CEEBМедленный прыжок..."
rescue-start: "&#00CED1Спасаете с крюка..."
rescue-complete: "&#00FF00Союзник спасён!"
# Крюки
hook:
stage1: "&#FFFF00Крюк: Фаза 1 — Не двигайтесь"
stage2: "&#FFA500Крюк: Фаза 2 — БОРИТЕСЬ!"
struggle-success: "&#00FF00Успех! Держитесь!"
struggle-fail: "&#FF0000Провал! Этап ускорен!"
sacrifice: "&#8B0000☠ Вы жертвованы..."
# Предметы
item:
found: "&#FFD700Найдено: %s"
medkit-use: "&#00FA9AИспользуете аптечку..."
medkit-depleted: "&#FF6347Аптечка закончилась"
flashlight-blind: "&#FFFF00Ослепили киллера! Уходите!"
flashlight-depleted: "&#FF6347Батарейка села"
key-hatch: "&#00CED1Ключ открывает люк!"
map-reveal: "&#87CEEBОбъекты показаны на карте"
chest-opening: "&#FFD700Открываете сундук..."
chest-found: "&#00FF00Нашли: %s"
# Эндгейм
endgame:
gates-powered: "&#00FF00Ворота запитаны! Бегите!"
gates-opening: "&#FFD700Открываете ворота..."
hatch-open: "&#4B0082Люк открыт! Сбегите!"
hatch-escape: "&#00FF00✓ Вы сбежали через люк!"
collapse-warning: "&#FF0000⚠ КОЛЛАПС ЧЕРЕЗ %s СЕК!"
collapse-start: "&#8B0000КОЛЛАПС НАЧАЛСЯ! БЕГИТЕ!"
escape: "&#00FF00✓ ПОБЕГ!"
# Ошибки
error:
no-permission: "&#FF0000У вас нет прав!"
not-in-game: "&#FF6347Вы не в игре!"
already-in-game: "&#FF6347Вы уже в игре!"
game-full: "&#FF6347Игра заполнена!"
no-game: "&#FF6347Нет активной игры!"
not-survivor: "&#FF6347Только для выживших!"
not-killer: "&#FF6347Только для киллера!"

View file

@ -0,0 +1,120 @@
# ============================================
# Mdbd Plugin - Настройки Skill Check (QTE)
# ============================================
# Цвета в формате &#rrggbb
colors:
# Зона успеха (зелёная)
zone-success: "&#00FF00"
# Зона супер-успеха (золотая, бонус)
zone-super: "&#FFD700"
# Стрелка (белая)
arrow: "&#FFFFFF"
# Фон трека (тёмно-серый)
background: "&#333333"
# Текст титра (жёлтый)
text-title: "&#FFFF00"
# Подзаголовок (белый)
text-subtitle: "&#FFFFFF"
# Цвет провала (красный)
fail: "&#FF0000"
# Размеры зон (в градусах)
zones:
# Зона обычного успеха (±градусов от цели)
success-size: 15
# Зона супер-успеха (меньше = сложнее)
super-size: 5
# Вращение
rotation:
# Скорость вращения (оборотов в секунду)
speed: 3.0
# Направление: CLOCKWISE или COUNTER_CLOCKWISE
direction: "CLOCKWISE"
# Случайное направление для каждого скиллчека
variation: true
# Случайная начальная позиция
random-start: true
# Тайминги
timing:
# Минимальный интервал между скиллчеками (в тиках, 20 = 1 сек)
min-interval: 80
# Максимальный интервал (в тиках)
max-interval: 200
# Время на реакцию (тиков после входа в зону)
reaction-window: 20
# Задержка перед показом скиллчека (тиков)
pre-delay: 5
# Награды и штрафы (в процентах от прогресса)
rewards:
# Обычный успех: +% к прогрессу
success-bonus: 5.0
# Супер-успех: +% к прогрессу
super-bonus: 10.0
penalties:
# Провал: -% от прогресса
fail-penalty: 10.0
# Радиус алерта киллера при провале (блоков)
fail-alert-range: 16
# Визуальный взрыв при провале
fail-explosion: true
# Громкость звука взрыва (0.0 - 1.0)
explosion-volume: 0.8
# Визуальные эффекты
visual:
# Показывать трек движения
show-track: true
# Показывать стрелку
show-arrow: true
# Анимация при успехе
flash-on-success: true
# Тряска экрана при провале
screenshake-on-fail: true
# Альтернативный режим через BossBar (вместо Title)
use-boss-bar: false
# Звуки
sounds:
# Звук при появлении скиллчека
appear: "BLOCK_NOTE_BLOCK_PLING"
appear-volume: 0.5
# Звук успеха
success: "ENTITY_PLAYER_LEVELUP"
success-volume: 0.6
# Звук супер-успеха
super: "ENTITY_PLAYER_LEVELUP"
super-volume: 1.0
super-pitch: 1.5
# Звук провала
fail: "BLOCK_ANVIL_LAND"
fail-volume: 0.8
fail-pitch: 0.8