mcMMO Rewards: огляд плагіна для нагородження за рівні у Minecraft
Залежності:
Завантажувач: Paper / Spigot / Purpur
Версія Minecraft: 1.20.x – 1.21.10
Плагіни: McMMO
Популярна RPG-система mcMMO додає на сервери Minecraft механіки прокачування навичок, як-от риболовля, видобуток руди чи травництво. Проте розробники оригінального плагіна не передбачили гнучкої системи автоматичної видачі ігрових предметів, валюти чи кастомних титулів за досягнення певних рівнів. Допоміжне розширення mcMMO Rewards вирішує це завдання. Воно пов'язує систему рівнів mcMMO з консольними командами сервера, дозволяючи власникам проектів створювати автоматичні винагороди для активних гравців без написання складних скриптів.
Механіка обробки подій та інтеграція з API
mcMMO Rewards функціонує як легковажний прослуховувач подій (Event Listener), який інтегрується безпосередньо у ядро сервера Spigot/Paper та взаємодіє з офіційним API плагіна mcMMO.
Перехоплення події McMMOPlayerLevelUpEvent
Кожного разу, коли гравець підвищує свій рівень у будь-якій навичці (наприклад, виконуючи роботу в шахті чи збираючи врожай), mcMMO генерує подію McMMOPlayerLevelUpEvent. Плагін mcMMO Rewards перехоплює цю подію та запускає наступний алгоритм:
Зчитує назву навички та новий рівень, якого досяг гравець.
Звіряє ці дані зі списками нагород, прописаними у файлі конфігурації
config.yml.Якщо збіг знайдено, плагін від імені консолі (Console) виконує заданий список команд, підставляючи ім'я гравця замість плейсхолдера
%player%.
Важливі обмеження обробки подій
Оскільки плагін прив'язаний виключно до події McMMOPlayerLevelUpEvent, він реагує лише на природне підвищення рівня під час гри. ⚠️ Скидання рівнів та бази даних: Якщо адміністратор змінює рівень гравця безпосередньо через файли бази даних SQLite/MySQL (наприклад, під час перенесення статистики чи вайпу) або використовує консольні команди, які змінюють значення рівня без виклику стандартної події підвищення, нагороди не будуть активовані. Також плагін не підтримує ретроактивну видачу нагород: якщо гравець вже мав 50-й рівень до встановлення mcMMO Rewards, він не отримає нагороди за попередні рівні (10, 20 тощо), доки не отримає наступний рівень.
Структура конфігурації config.yml та налаштування нагород
Усі нагороди визначаються в єдиному конфігураційному файлі plugins/mcMMORewards/config.yml. Завдяки простому синтаксису YAML, розробники можуть швидко будувати багаторівневі системи заохочень.
Опис синтаксису конфігурації
Кожен блок нагород має сувору ієрархію:
Назва вміння (Skill): Має відповідати офіційній назві навички в mcMMO (наприклад,
mining,woodcutting,swords,herbalism).Рівень (Level): Ціле число, при досягненні якого виконуються команди.
Список команд: Перелік консольних дій. Символ косої риски
/на початку команд писати не потрібно, оскільки всі команди виконуються безпосередньо сервером від імені консолі (op-рівень).
Приклад конфігураційного файлу
Нижче наведено приклад правильного структурування файлу для видачі предметів та грошей:
rewards:
mining:
10:
- "give %player% iron_ingot 5"
- "broadcast &6[RPG] &e%player% &fдосяг 10-го рівня видобутку руди!"
50:
- "eco give %player% 1000"
- "give %player% diamond 3"
swords:
25:
- "xp give %player% 500"У цьому коді при досягненні 10-го рівня навички видобутку (mining) гравець %player% отримає залізні злитки, а на весь сервер буде надіслано текстове повідомлення. При досягненні 50-го рівня гравець отримає 1000 одиниць валюти через економічний плагін (наприклад, EssentialsX) та 3 алмази.
Керування плагіном: команди та дозволи
Через те, що mcMMO Rewards є дуже компактним розширенням, список його команд та дозволів обмежений лише адміністративними функціями.
Команда перезавантаження конфігурації
Для застосування будь-яких змін у файлі config.yml немає потреби перезапускати весь сервер Minecraft чи вимикати ігровий процес. Достатньо виконати команду: /mcmmorewards reload Ця команда вивантажує старі параметри з оперативної пам'яті сервера та заново зчитує конфігураційний файл, застосовуючи нові нагороди миттєво.
Дозволи для адміністраторів (Permissions)
Для безпеки сервера можливість виконання команди перезавантаження обмежена спеціальним дозволом (permission node). Звичайні гравці не мають доступу до цієї команди. Щоб видати права адміністратору або модератору (наприклад, через LuckPerms), використовуйте наступний вузол: mcmmorewards.reload За замовчуванням це право автоматично надається усім гравцям, які мають статус оператора сервера (OP).
Висновок
Плагін mcMMO Rewards є чудовим допоміжним інструментом для серверів Minecraft з елементами RPG та виживання, які використовують систему навичок mcMMO. Він дозволяє легко налаштувати автоматичну видачу нагород за ігрову активність без необхідності вивчення складних мов програмування чи використання важких скриптів.
Порівняно зі складними скриптами на кшталт Skript (які вимагають написання власного синтаксису для прослуховування подій mcMMO) або плагінами комплексних квестів, mcMMO Rewards пропонує максимально просту та швидку в налаштуванні систему, що майже не споживає ресурсів сервера. Проте повна залежність від наявності встановленого плагіна mcMMO та обмеження виконання команд виключно від імені консолі є його головними рамками. Плагін ідеально підходить для серверів, які хочуть швидко додати прості заохочення для гравців за видобуток ресурсів чи прокачування бойових умінь.
Встановлення
Типове встановлення займає близько 5 хвилин. Порядок однаковий; відрізняються лише лоадер і відповідна збірка.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











