Посібник
Як створити плагін економіки для Minecraft
Оновлено 18 жовтня 2026 р.
Плагін економіки зберігає баланс кожного гравця й дає змогу переказувати гроші одне одному, заробляти їх і витрачати в магазинах. Найважливіше тут не команди, а підключення до Vault: саме воно дає магазинам, плагінам робіт і аукціонів використовувати ваші гроші. У цьому посібнику йдеться про задум, зберігання даних і про те, як зібрати й протестувати плагін.
Почніть із цього прикладу й змініть правила під себе.
Згенерувати це в CodexeКрок за кроком
1.Визначте, яким буде плагін
Або він є економікою (зберігає баланси й реєструється як економіка Vault), або він використовує наявну економіку через Vault (магазин, нагороди за голову, плагін робіт). Більшості серверів потрібно по одному плагіну кожного типу, а не дві економіки.
2.Виберіть сервер і версію
Вкажіть серверне програмне забезпечення та версію, наприклад Paper 1.21.4. Плагін збирається під API і рівень Java саме цієї версії.
3.Перелічіть команди й правила
/balance,/pay <player> <amount>,/baltopі команди адміністратора, як-от/eco give|take|set. Додайте стартовий баланс, назву валюти, кількість знаків після коми й мінімальний платіж.4.Виберіть, де зберігати баланси
SQLite для одного сервера, MySQL, якщо кілька серверів мають спільні баланси. Гроші повинні переживати перезапуски й збої, тому їх ніколи не зберігають лише в пам'яті.
5.Нехай Codexe напише й збере його
Опишіть плагін і прямо назвіть Vault, щоб його додали як залежність. Codexe пише код Java,
plugin.ymlіconfig.yml, компілює його й виправляє помилки збірки, перш ніж проєкт отримає статус «Готово».6.Перевірте платежі в грі
Натисніть «Спробувати зараз» і зайдіть на тестовий сервер. Перекажіть гроші між двома обліковими записами, спробуйте завеликі, від'ємні та нечислові суми, потім перезапустіть сервер і переконайтеся, що баланси збереглися.
7.Встановіть його
Покладіть Vault і свій .jar у теку
plugins/сервера й перезапустіть його. Видаліть інші плагіни економіки або вирішіть, який із них має використовувати Vault.
Яку роль відіграє Vault
Vault - це міст, а не економіка. Плагін економіки реалізує інтерфейс Economy з Vault і реєструє його в менеджері сервісів сервера; інші плагіни отримують його через getServer().getServicesManager().getRegistration(Economy.class) і викликають методи, як-от getBalance, withdrawPlayer і depositPlayer.
Тож плагіну магазину ніколи не треба знати, яка економіка у вас працює. У plugin.yml використовуйте depend: [Vault], якщо плагін не може працювати без нього, або softdepend, якщо Vault необов'язковий. API Vault потрібен лише для компіляції; сам Vault встановлюється на сервер.
Що вирішити й записати в запиті
- Формат грошей: назва валюти в однині та множині, символ, кількість знаків після коми.
- Обмеження: стартовий баланс, максимальний баланс, чи може баланс бути від'ємним.
- Гравці офлайн: чи працюють
/payі/ecoдля гравців, яких немає в мережі. - Журнал: журнал транзакцій у базі даних або у файлі, щоб персонал міг розбирати суперечки.
- Заробіток: вбивство мобів, нагороди за час у грі, продаж предметів або лише команди адміністратора.
Де зберігати баланси
| Сховище | Підходить для | На що зважати |
|---|---|---|
| Файл YAML | Зовсім малих серверів, легко читати | Повільно за великої кількості гравців, легко пошкодити під час збою |
| SQLite | Одного сервера, без налаштування | Не можна спільно використовувати між серверами |
| MySQL / MariaDB | Мереж зі спільним балансом | Потрібен сервер бази даних і дані для входу в config.yml |
Приклад опису
«Плагін економіки для Paper 1.21.4 під назвою Coins, який реєструється як економіка Vault. /balance [player], /pay <player> <amount> з мінімумом 1, /baltop з топ-10 і /eco give|take|set для гравців із coins.admin. Нові гравці починають зі 100 монет. Два знаки після коми. Кожен платіж записується в журнал із датою, відправником, отримувачем і сумою. Баланси зберігаються в SQLite. Назви валюти й усі повідомлення в config.yml.»
Codexe за замовчуванням використовує SQLite, якщо ви не попросите інше. Якщо попросите MySQL, плагін матиме налаштування storage-type, а тестовий сервер під час перевірки надасть йому окрему базу даних MySQL.
Запитання
Чи потрібен мені Vault?
Не для окремої економіки, якою більше ніщо не користується. Він потрібен, щойно інші плагіни (магазини, роботи, аукціони) мають читати або змінювати баланси, бо саме цей API вони шукають.
Чи можна запускати його поруч з EssentialsX?
EssentialsX має власну економіку й теж реєструє її у Vault. Запускайте лише одну економіку або вимкніть непотрібну, інакше інші плагіни можуть використовувати не той баланс, який показують ваші команди.
Чи можуть кілька серверів мати спільні баланси?
Так, якщо сховищем є MySQL або MariaDB і в config.yml кожного сервера вказано ту саму базу даних. Попросіть про це в запиті, щоб плагін читав баланси з бази даних, а не тримав їх у кеші надто довго.
Як протестувати його без справжнього сервера?
Через «Спробувати зараз»: запускається приватний сервер Paper вашої версії зі скомпільованим плагіном, а плагіни, перелічені в depend і softdepend, як-от Vault, встановлюються для нього автоматично. На безкоштовному плані доступно 3 тестові сервери на день, по 10 хвилин кожен.
Створіть економіку для свого сервера
Цей запит відкривається готовим до надсилання:
“Плагін економіки для Paper 1.21.4 під назвою Coins, який реєструється як економіка Vault: /balance, /pay з мінімумом 1, /baltop з топ-10, /eco give|take|set для coins.admin, стартовий баланс 100, два знаки після коми, кожен платіж у журналі, баланси в SQLite, назви валюти й повідомлення в config.yml.”
Згенерувати це в Codexe