- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Минимальная версия Java
- 16
Ежедневная награда за время онлайна: устанавливайте требуемое время (по умолчанию 5 часов) и команды вознаграждения (например, give diamond)
BossBar с прогрессом: персональный бар для каждого игрока с тремя состояниями (набор времени, готово к получению, получено) и плейсхолдерами ({time_played}, {time_left}, {progress_percent})
Авто-выдача или ручной claim: выбирайте, выдавать ли награду автоматически или через команду /mdr claim
Сброс прогресса: ежедневный автоматический сброс в заданное время (с учётом часового пояса), команды /mdr reset и resetall для админов
Поддержка баз данных: SQLite (локально) или MySQL (удалённо) для хранения прогресса игроков
Кастомные сообщения: с префиксом, HEX-цветами (#RRGGBB, &#RRGGBB, градиенты <gradient:#FF0000:#00FF00>текст</gradient>) и плейсхолдерами
Команда /mdailyreward (/mdr): status (прогресс), claim (забрать), help (справка), reload (перезагрузка), reset <игрок>, resetall
Tab-completion и система прав: mdailyreward.admin (для админ-команд), .use (для получения), .status (для просмотра)
Автоматическая загрузка/сохранение данных: при входе/выходе, с интервалами обновления и сохранения
Уведомления и отладка: кастомные сообщения о получении, сбросе, с режимом debug для логов
---
Конфиг:
YAML:
# Настройки базы данных
database:
# Тип: sqlite или mysql
type: sqlite
# Настройки MySQL (используются только если type: mysql)
mysql:
host: localhost
port: 3306
database: mdailyreward
username: root
password: password
# Размер пула соединений HikariCP
pool-size: 10
# Имя файла SQLite (хранится в папке плагина)
sqlite:
file: data.db
# Настройки награды
reward:
# Необходимое время онлайна в секундах (по умолчанию: 18000 = 5 часов)
required-time: 18000
# Команды, выполняемые при получении награды
# Плейсхолдеры: {player} - имя игрока, {uuid} - UUID игрока
commands:
- "give {player} diamond 5"
- "say {player} получил ежедневную награду!"
# Выдавать награду автоматически (true) или игрок должен забрать через /mdr claim (false)?
auto-claim: false
# Настройки времени
playtime:
# Сбрасывать ли отыгранное время при перезаходе на сервер?
# true — каждый раз когда игрок заходит, его таймер начинается с нуля
# false — время сохраняется между заходами (сбрасывается только в reset.time)
reset-on-rejoin: false
# Настройки босс-бара
bossbar:
# Включить/выключить босс-бар
enabled: true
# Заголовок босс-бара во время набора времени
# Плейсхолдеры: {time_left} - оставшееся время, {time_played} - отыгранное время
# {progress_percent} - прогресс в процентах, {required_time} - необходимое время
title: "&a&lЕжедневная награда &7| &e{time_played} &7/ &e{required_time} &7(&a{progress_percent}%&7)"
# Заголовок когда время набрано но награда НЕ забрана (auto-claim: false)
title-ready: "&e&l⭐ Награда готова! &fНапишите &a/mdr claim &fчтобы забрать!"
# Заголовок когда награда получена
title-completed: "&a&l✔ Ежедневная награда получена! &7До сброса: &e{time_until_reset}"
# Цвет босс-бара: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
color: GREEN
# Цвет когда награда готова к получению
color-ready: YELLOW
# Цвет после получения награды
color-completed: BLUE
# Стиль босс-бара: SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20
style: SEGMENTED_20
# Скрывать босс-бар когда награда получена
hide-on-complete: false
# Настройки сброса
reset:
# Часовой пояс для ежедневного сброса (например: Europe/Moscow, UTC, America/New_York)
timezone: "Europe/Moscow"
# Время сброса в формате ЧЧ:мм (24-часовой формат)
time: "00:00"
# Сообщения
# Поддерживаемые форматы цветов:
# &a, &b, &l, &o, &r и т.д. — стандартные коды
# &#FF5555 — HEX через &#
# <#FF5555> — HEX через <>
# {#FF5555} — HEX через {}
# #FF5555 — HEX без обёрток
# &x&F&F&5&5&5&5 — HEX в развёрнутом формате
# <gradient:#FF0000:#00FF00>текст</gradient> — градиент (2+ цветов)
messages:
prefix: "&8[7FF55MDailyReward&8] &r"
reward-earned: "7FF55Поздравляем! &fВы отыграли достаточно времени и получили ежедневную награду!"
reward-ready: "&e⭐ Вы набрали достаточно времени! Напишите &a/mdr claim &eчтобы забрать награду!"
reward-claimed: "7FF55Вы успешно забрали ежедневную награду!"
reward-already-claimed: "&eВы уже получили сегодняшнюю награду."
reward-not-ready: "&cВы ещё не набрали достаточно времени для получения награды."
progress: "&eВаш прогресс: &a{time_played} &e/ &a{required_time} &7(&a{progress_percent}%&7)"
reset-notification: "&eВаш ежедневный прогресс был сброшен. Новый день — новая награда!"
reload-success: "&aКонфигурация успешно перезагружена!"
no-permission: "&cУ вас нет прав для этой команды."
player-reset: "&aПрогресс игрока &e{player} &aбыл сброшен."
player-not-found: "&cИгрок не найден."
all-reset: "&aПрогресс всех игроков сброшен."
player-only: "&cЭта команда только для игроков."
data-not-loaded: "&cДанные не загружены, попробуйте позже."
reset-usage: "&cИспользование: /mdr reset <игрок>"
# Справка — список строк, каждая строка выводится отдельно
# Строки с пометкой [admin] будут показаны только администраторам
help:
- "&a===== MDailyReward Помощь ====="
- "&e/mdr status &7- Посмотреть свой прогресс"
- "&e/mdr claim &7- Забрать награду"
- "&e/mdr help &7- Показать эту справку"
- "[admin]&e/mdr reload &7- Перезагрузить конфигурацию"
- "[admin]&e/mdr reset <игрок> &7- Сбросить прогресс игрока"
- "[admin]&e/mdr resetall &7- Сбросить прогресс всех игроков"
# Интервал обновления в тиках (20 тиков = 1 секунда)
# Как часто обновлять босс-бар и считать время
update-interval: 20
# Интервал сохранения в секундах (как часто сохранять данные игроков в БД)
save-interval: 60
# Режим отладки
debug: false
- Зависимости
- Нету
- Команды и права
- /mdr status — Посмотреть свой прогресс
- /mdr claim — Забрать награду
- /mdr help — Показать справку
- /mdr reload — Перезагрузить конфигурацию (админ)
- /mdr reset <игрок> — Сбросить прогресс игрока (админ)
- /mdr resetall — Сбросить прогресс всех игроков (админ)