Интеграция с Vault
Начиная с версии 7.1.0, EliteMobs поддерживает интеграцию с Vault (используя VaultAPI 1.7). Вы можете включить Vault, чтобы объединить экономику EliteMobs с экономикой вашего сервера.
А теперь о том, почему это плохая идея:
В EliteMobs нет системы уровней. Система прогрессии завязана на получении лучших предметов через убийство Элитных мобов и прокачке навыков оружия и брони ради доступа к более высокоуровневой добыче, более высокоуровневым мобам, более высокоуровневым заданиям, а также более высокоуровневым испытаниям на аренах и подземельям.
Кроме того, в EliteMobs очень тонкий баланс в том, что касается покупки чармов и перепродажи добычи, полученной с Элитных мобов.
Поэтому, если вы объедините экономику своего сервера с экономикой EliteMobs, игроки смогут легко «купить» себе путь на вершину, потенциально обходя кривую обучения.
После этого система прогрессии перестанет работать как надо, что приведёт к ещё более серьёзным проблемам. У высокоуровневых Элитных мобов есть различные способности, и предполагается, что игроки будут постепенно изучать эти способности, сражаясь с ними десятки часов, учась распознавать способности Элитных мобов и противодействовать им, а также готовиться к бою с Элитными мобами.
Если игроки сразу перепрыгнут в эндгейм, им покажется, что боевая сложность практически непреодолима и крайне несправедлива, поскольку у них не было времени наработать знания, необходимые для эффективного убийства EliteMobs за долгие часы игры.
Требования
Чтобы использовать интеграцию с Vault, у вас должно быть:
- Плагин Vault (версия, совместимая с VaultAPI 1.7+)
- Плагин экономики, который регистрируется в Vault (EssentialsX, CMI и т.д.)
- Оба плагина правильно настроены и запущены
EliteMobs автоматически обнаружит Vault и будет использовать его, если он включён в конфиге.
Конфигурация
Чтобы включить интеграцию с Vault:
- Убедитесь, что плагин Vault установлен на вашем сервере
- Убедитесь, что у вас есть плагин экономики, работающий с Vault (например, EssentialsX, CMI и т.д.)
- Откройте
EconomySettings.ymlв папке плагина EliteMobs - Установите
useVault: true - Перезапустите сервер
Пример конфигурации:
# Whether to use Vault for the economy instead of the built-in system.
# NOT RECOMMENDED! See: https://wiki.nightbreak.io/EliteMobs/vault
useVault: false
Как это работает
Когда интеграция с Vault включена:
- Вся валюта EliteMobs (Elite Coins) конвертируется в основную валюту экономики вашего сервера
- Игроки зарабатывают валюту вашей экономики вместо Elite Coins при убийстве Элитных мобов
- Транзакции в магазине, улучшения навыков и все остальные функции экономики EliteMobs используют экономику вашего сервера
- Система экономики EliteMobs полностью заменяется Vault
Операции с валютой:
- Пополнения: Деньги добавляются на баланс игрока в Vault
- Списания: Деньги снимаются с баланса игрока в Vault
- Проверка баланса: Запрашивает баланс игрока в Vault
- Прямая установка баланса: ОТКЛЮЧЕНА в целях безопасности (используйте свой плагин экономики)
Примечание: Пока интеграция с Vault включена, все операции с валютой направляются в Vault. EliteMobs не переключается тихо обратно на свою внутреннюю экономику, если Vault становится недоступен во время работы, поэтому убедитесь, что ваш плагин экономики остаётся зарегистрированным в Vault, пока useVault включён.
Функции безопасности
В целях безопасности EliteMobs НЕ поддерживает прямую установку баланса валюты игрока через Vault. Любая такая попытка будет заблокирована и записана в лог. Используйте команды своего плагина экономики, чтобы установить балансы напрямую, если это необходимо.
Пример сценария
Без Vault:
- Игрок убивает Элитного моба 50 уровня
- Получает 100 Elite Coins (хранятся в базе данных EliteMobs)
- Может тратить Elite Coins только в магазинах EliteMobs
С Vault:
- Игрок убивает Элитного моба 50 уровня
- Получает 100 [валюты вашей экономики] (хранятся в Vault/плагине экономики)
- Может тратить деньги в магазинах EliteMobs И где угодно ещё на сервере
- Другие игроки могут отправлять деньги, чтобы покупать услуги EliteMobs
- Экономика объединена для всех плагинов
Именно поэтому это не рекомендуется: это ломает задуманную систему прогрессии, позволяя игрокам использовать валюту из других источников.
Устранение неполадок
Если интеграция с Vault включена, но не работает:
-
Проверьте логи сервера на наличие: "Vault detected." (в строке лога EliteMobs)
- Если её нет: плагин Vault не установлен или не загружается
-
Проверьте наличие предупреждения: "Vault preference detected. This is not the recommended setting."
- Это ожидаемо, когда интеграция с Vault включена — это напоминание, а не ошибка
- Если Vault всё равно не работает, убедитесь, что ваш плагин экономики правильно зарегистрирован в Vault
-
Проверьте наличие: "Player tried to check currency when they had no economy entry"
- Причина: плагин экономики не создал учётную запись игрока
- Решение: проверьте конфигурацию своего плагина экономики
-
Если включено, но EliteMobs всё равно использует Elite Coins:
- Убедитесь, что ключ конфига точно:
useVault: true - Перезапустите сервер после изменения конфига
- Проверьте, что плагин экономики зарегистрирован в Vault
- Убедитесь, что ключ конфига точно:
Для разработчиков
Если вы разрабатываете аддон или интеграцию:
- Статус Vault: проверьте
VaultCompatibility.VAULT_ENABLED(статический boolean) - API экономики: используйте методы
EconomyHandler(а неVaultCompatibilityнапрямую) - Поддерживаемые операции: add, subtract, check (set отключён)
- Точность валюты: внутренняя система использует 2 знака после запятой
- Нет отката во время работы: когда
VAULT_ENABLEDравен true,EconomyHandlerвсегда делегирует Vault; автоматического переключения обратно на внутреннюю экономику нет
Расположение исходного кода:
- src/main/java/com/magmaguy/elitemobs/economy/VaultCompatibility.java
- src/main/java/com/magmaguy/elitemobs/economy/EconomyHandler.java
EliteMobs использует VaultAPI 1.7 как зависимость только для компиляции. JAR плагина Vault должен присутствовать на сервере во время работы.