Руководство

Как сделать плагин экономики для Minecraft

Обновлено: 18 октября 2026 г.

Плагин экономики хранит баланс каждого игрока и позволяет переводить деньги друг другу, зарабатывать их и тратить в магазинах. Главное здесь не команды, а подключение к Vault: именно оно позволяет плагинам магазинов, профессий и аукционов работать с вашими деньгами. В этом руководстве разобраны устройство плагина, хранение данных, сборка и проверка.

Начните с этого примера и замените правила на свои.

Сгенерировать это в Codexe

Шаг за шагом

  1. 1.Решите, чем будет плагин

    Либо он сам является экономикой (хранит балансы и регистрируется в Vault как экономика), либо использует существующую экономику через Vault (магазин, награды за голову, плагин профессий). Большинству серверов нужен один плагин каждого типа, а не две экономики.

  2. 2.Выберите сервер и версию

    Укажите серверное ПО и версию, например Paper 1.21.4. Плагин собирается под API и уровень Java этой версии.

  3. 3.Перечислите команды и правила

    /balance, /pay <player> <amount>, /baltop и команды администратора, например /eco give|take|set. Добавьте стартовый баланс, название валюты, число знаков после запятой и минимальный платёж.

  4. 4.Выберите, где хранить балансы

    SQLite для одного сервера, MySQL, если несколько серверов должны использовать общие балансы. Деньги должны переживать перезапуски и сбои, поэтому они никогда не хранятся только в памяти.

  5. 5.Пусть Codexe напишет и соберёт плагин

    Опишите плагин и прямо назовите Vault, чтобы он был добавлен как зависимость. Codexe пишет код на Java, plugin.yml и config.yml, компилирует проект и исправляет ошибки сборки, прежде чем пометить его как «Готово».

  6. 6.Проверьте платежи в игре

    Нажмите «Попробовать сейчас» и зайдите на тестовый сервер. Переведите деньги между двумя аккаунтами, попробуйте слишком большие, отрицательные и нечисловые суммы, затем перезапустите сервер и убедитесь, что балансы на месте.

  7. 7.Установите датапак

    Положите Vault и ваш .jar в папку plugins/ сервера и перезапустите его. Удалите другие плагины экономики или решите, какой из них должен использовать Vault.

Какое место занимает Vault

Vault это мост, а не экономика. Плагин экономики реализует интерфейс Economy из Vault и регистрирует его в менеджере сервисов сервера; другие плагины запрашивают его через getServer().getServicesManager().getRegistration(Economy.class) и вызывают методы вроде getBalance, withdrawPlayer и depositPlayer.

Поэтому плагину магазина не нужно знать, какая у вас экономика. В plugin.yml укажите depend: [Vault], если плагин не может работать без него, или softdepend, если Vault необязателен. Vault API нужен только для компиляции; сам 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, устанавливаются для него автоматически. На тарифе Free доступно 3 тестовых сервера в день по 10 минут каждый.

Создайте экономику для своего сервера

Этот промпт откроется уже готовым к отправке:

“Плагин экономики для Paper 1.21.4 под названием Coins, который регистрируется в Vault как экономика: /balance, /pay с минимумом 1, /baltop с топ-10, /eco give|take|set для coins.admin, стартовый баланс 100, два знака после запятой, запись каждого платежа, балансы в SQLite, названия валюты и сообщения в config.yml.”

Сгенерировать это в Codexe
Как сделать плагин экономики для Minecraft (Vault, Paper) | Codexe