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:
parent
2a2b9f4b5b
commit
78c881e94c
7 changed files with 494 additions and 0 deletions
|
|
@ -29,5 +29,8 @@ tasks {
|
|||
filesMatching("paper-plugin.yml") {
|
||||
expand(props)
|
||||
}
|
||||
filesMatching("*.yml") {
|
||||
expand(props)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
49
src/main/resources/config.yml
Normal file
49
src/main/resources/config.yml
Normal 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: "�FF00"
|
||||
color-empty: "&#FF0000"
|
||||
138
src/main/resources/game.yml
Normal file
138
src/main/resources/game.yml
Normal 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
|
||||
59
src/main/resources/locations.yml
Normal file
59
src/main/resources/locations.yml
Normal 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 - Установить лобби
|
||||
# ============================================
|
||||
119
src/main/resources/messages.yml
Normal file
119
src/main/resources/messages.yml
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# ============================================
|
||||
# Mdbd Plugin - Сообщения
|
||||
# Поддерживаются цвета в формате &#rrggbb
|
||||
# ============================================
|
||||
|
||||
# Префикс всех сообщений плагина
|
||||
prefix: "&#FF6B00&l[DBD]&r "
|
||||
|
||||
# Сообщения игры
|
||||
game:
|
||||
# Старт/конец
|
||||
start: "�FF00Игра началась! Бегите от Киллера!"
|
||||
end-victory-escape: "&#FFD700Выжившие сбежали! Победа!"
|
||||
end-victory-killer: "&#DC143CКиллер победил!"
|
||||
|
||||
# Ожидание
|
||||
waiting: "&#FFFF00Ожидание игроков... (%s/%s)"
|
||||
countdown: "&#FFA500До начала: %s секунд"
|
||||
countdown-short: "&#FF0000%s..."
|
||||
|
||||
# Роли
|
||||
role-killer: "&#DC143CВы Киллер! Поймайте всех выживших."
|
||||
role-survivor: "�CED1Вы Выживший! Почините генераторы и сбегите."
|
||||
|
||||
# Генераторы
|
||||
generator:
|
||||
repair-start: "�CED1Вы начали чинить генератор..."
|
||||
repair-stop: "WCEEBВы остановились."
|
||||
repair-complete: "�FF00✓ Генератор активирован! (%s/%s)"
|
||||
repair-progress: "&#FFD700Прогресс: %s%%"
|
||||
|
||||
skillcheck-success: "�FF00Отлично! +%s%%"
|
||||
skillcheck-super: "&#FFD700Великолепно! +%s%%"
|
||||
skillcheck-fail: "&#FF0000✗ Провал! -%s%%"
|
||||
|
||||
explosion: "&#FF4500⚠ Взрыв генератора!"
|
||||
regression: "&#FF6347Генератор откатывается..."
|
||||
kicked: "&#FF4500Киллер пнул генератор!"
|
||||
|
||||
# Киллер
|
||||
killer:
|
||||
terror-near: "B0000Сердце колотится..."
|
||||
terror-medium: "&#FF4500Опасно рядом..."
|
||||
terror-far: "&#FFA500Киллер где-то рядом"
|
||||
|
||||
chase-start: "&#FF0000⚠ Киллер преследует вас!"
|
||||
chase-stop: "�FF00Вы ушли от погони."
|
||||
|
||||
hit: "&#DC143CВы ранены! Ищите укрытие!"
|
||||
down: "B0000Вы в нокдауне! Ползите!"
|
||||
pickup: "󃕐Киллер поднял вас..."
|
||||
hook: "B0082Вас повесили на крюк!"
|
||||
|
||||
# Выжившие
|
||||
survivor:
|
||||
heal-self-start: "�FA9AЛечите себя..."
|
||||
heal-self-complete: "�FF00Вылечены!"
|
||||
heal-other-start: "�FA9AЛечите союзника..."
|
||||
heal-other-complete: "�FF00Союзник вылечен!"
|
||||
heal-interrupt: "&#FFD700Лечение прервано!"
|
||||
|
||||
sprint-exhausted: "&#FF8C00Вы устали... (Истощение)"
|
||||
sprint-ready: "�FF00Можно бежать!"
|
||||
|
||||
pallet-drop: "&#DEB887Вы бросили паллет!"
|
||||
pallet-stun: "&#FFD700Киллер оглушён! Уходите!"
|
||||
|
||||
vault-fast: "�CED1Быстрый прыжок!"
|
||||
vault-slow: "WCEEBМедленный прыжок..."
|
||||
|
||||
rescue-start: "�CED1Спасаете с крюка..."
|
||||
rescue-complete: "�FF00Союзник спасён!"
|
||||
|
||||
# Крюки
|
||||
hook:
|
||||
stage1: "&#FFFF00Крюк: Фаза 1 — Не двигайтесь"
|
||||
stage2: "&#FFA500Крюк: Фаза 2 — БОРИТЕСЬ!"
|
||||
struggle-success: "�FF00Успех! Держитесь!"
|
||||
struggle-fail: "&#FF0000Провал! Этап ускорен!"
|
||||
sacrifice: "B0000☠ Вы жертвованы..."
|
||||
|
||||
# Предметы
|
||||
item:
|
||||
found: "&#FFD700Найдено: %s"
|
||||
|
||||
medkit-use: "�FA9AИспользуете аптечку..."
|
||||
medkit-depleted: "&#FF6347Аптечка закончилась"
|
||||
|
||||
flashlight-blind: "&#FFFF00Ослепили киллера! Уходите!"
|
||||
flashlight-depleted: "&#FF6347Батарейка села"
|
||||
|
||||
key-hatch: "�CED1Ключ открывает люк!"
|
||||
map-reveal: "WCEEBОбъекты показаны на карте"
|
||||
|
||||
chest-opening: "&#FFD700Открываете сундук..."
|
||||
chest-found: "�FF00Нашли: %s"
|
||||
|
||||
# Эндгейм
|
||||
endgame:
|
||||
gates-powered: "�FF00Ворота запитаны! Бегите!"
|
||||
gates-opening: "&#FFD700Открываете ворота..."
|
||||
|
||||
hatch-open: "B0082Люк открыт! Сбегите!"
|
||||
hatch-escape: "�FF00✓ Вы сбежали через люк!"
|
||||
|
||||
collapse-warning: "&#FF0000⚠ КОЛЛАПС ЧЕРЕЗ %s СЕК!"
|
||||
collapse-start: "B0000КОЛЛАПС НАЧАЛСЯ! БЕГИТЕ!"
|
||||
|
||||
escape: "�FF00✓ ПОБЕГ!"
|
||||
|
||||
# Ошибки
|
||||
error:
|
||||
no-permission: "&#FF0000У вас нет прав!"
|
||||
not-in-game: "&#FF6347Вы не в игре!"
|
||||
already-in-game: "&#FF6347Вы уже в игре!"
|
||||
game-full: "&#FF6347Игра заполнена!"
|
||||
no-game: "&#FF6347Нет активной игры!"
|
||||
not-survivor: "&#FF6347Только для выживших!"
|
||||
not-killer: "&#FF6347Только для киллера!"
|
||||
120
src/main/resources/skillcheck.yml
Normal file
120
src/main/resources/skillcheck.yml
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
# ============================================
|
||||
# Mdbd Plugin - Настройки Skill Check (QTE)
|
||||
# ============================================
|
||||
|
||||
# Цвета в формате &#rrggbb
|
||||
colors:
|
||||
# Зона успеха (зелёная)
|
||||
zone-success: "�FF00"
|
||||
|
||||
# Зона супер-успеха (золотая, бонус)
|
||||
zone-super: "&#FFD700"
|
||||
|
||||
# Стрелка (белая)
|
||||
arrow: "&#FFFFFF"
|
||||
|
||||
# Фон трека (тёмно-серый)
|
||||
background: "񑘕"
|
||||
|
||||
# Текст титра (жёлтый)
|
||||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue