Pular para o conteúdo principal

Integração com Vault

A partir da versão 7.1.0, EliteMobs suporta integração com Vault (usando VaultAPI 1.7). Você pode ativar o Vault para unificar a economia do EliteMobs com a economia do seu servidor.

Agora aqui está porque isso é uma má ideia:

EliteMobs não tem sistema de nivelamento. O sistema de progressão está ligado a conseguir itens melhores através de matar Elite Mobs e comprar ranks de guilda mais altos para acessar loot de nível mais alto, mobs de nível mais alto, missões de nível mais alto e desafios de arena e dungeons de nível mais alto.

Além disso, EliteMobs tem um equilíbrio muito delicado quando se trata de comprar encantos e revender loot obtido de Elite Mobs.

Portanto, se você combinar a economia do seu servidor com a economia do EliteMobs, jogadores poderão facilmente comprar seu caminho até o topo, potencialmente pulando a curva de aprendizado.

Agora o sistema de progressão não funcionará adequadamente, o que leva a problemas ainda piores. Elite Mobs de alto nível têm vários poderes, e jogadores devem lentamente aprender esses poderes através de lutar contra eles por dezenas de horas, aprendendo como identificar os poderes que os Elite Mobs têm e como contra-atacar esses poderes, assim como aprendendo como se preparar para entrar em combate contra Elite Mobs.

Se jogadores pularem direto para o endgame, eles sentirão que a dificuldade de combate é quase impossível e extremamente injusta, pois não terão tido tempo para desenvolver o conhecimento necessário para matar os EliteMobs eficientemente através de longas horas de jogo.

Requisitos

Para usar a integração com Vault, você deve ter:

  • Plugin Vault (versão compatível com VaultAPI 1.7+)
  • Um plugin de economia que registra com Vault (EssentialsX, CMI, etc.)
  • Ambos os plugins configurados e rodando adequadamente

EliteMobs detectará automaticamente o Vault e o usará se habilitado no config.

Configuração

Para habilitar integração com Vault:

  1. Certifique-se de que o plugin Vault está instalado no seu servidor
  2. Certifique-se de ter um plugin de economia que funciona com Vault (ex: EssentialsX, CMI, etc.)
  3. Abra EconomySettings.yml na pasta do plugin EliteMobs
  4. Defina useVault - not recommended: true
  5. Reinicie o servidor

Exemplo de configuração:

# AVISO: Habilitar isso não é recomendado! Veja acima para razões.
useVault - not recommended: false

Nota: A chave de configuração deliberadamente inclui "- not recommended" para lembrá-lo das implicações de jogabilidade.

Como Funciona

Quando a integração com Vault está habilitada:

  • Toda moeda do EliteMobs (Elite Coins) é convertida para a moeda de economia principal do seu servidor
  • Jogadores ganham moeda de economia do seu servidor em vez de Elite Coins ao matar Elite Mobs
  • Compras de rank de guilda, transações de loja e todos os outros recursos de economia do EliteMobs usam a economia do seu servidor
  • O sistema de economia do EliteMobs é completamente substituído pelo Vault

Operações de moeda:

  • Depósitos: Dinheiro é adicionado ao saldo Vault do jogador
  • Saques: Dinheiro é removido do saldo Vault do jogador
  • Verificações de saldo: Consulta o saldo Vault do jogador
  • Definição direta de saldo: DESABILITADO por segurança (use seu plugin de economia)

Se o Vault falhar ao inicializar ou ficar indisponível, EliteMobs automaticamente voltará para seu sistema de economia interno.

Recursos de Segurança

Por razões de segurança, EliteMobs NÃO suporta definir diretamente o saldo de moeda de um jogador através do Vault. Qualquer tentativa de fazer isso será bloqueada e registrada. Use os comandos do seu plugin de economia para definir saldos diretamente se necessário.

Cenário de Exemplo

Sem Vault:

  • Jogador mata Elite Mob nível 50
  • Recebe 100 Elite Coins (armazenadas no banco de dados do EliteMobs)
  • Pode gastar Elite Coins apenas nas lojas do EliteMobs

Com Vault:

  • Jogador mata Elite Mob nível 50
  • Recebe 100 [sua moeda de economia] (armazenada no Vault/plugin de economia)
  • Pode gastar dinheiro nas lojas do EliteMobs E em qualquer outro lugar no servidor
  • Outros jogadores podem enviar dinheiro para comprar serviços do EliteMobs
  • Economia é unificada através de todos os plugins

É por isso que não é recomendado: Quebra o sistema de progressão pretendido ao permitir que jogadores usem moeda de outras fontes.

Solução de Problemas

Se a integração com Vault está habilitada mas não funcionando:

  1. Verifique logs do servidor para: "[EliteMobs] Vault detected."

    • Se ausente: Plugin Vault não está instalado ou não está carregando
  2. Verifique por aviso: "Something went wrong with the vault configuration"

    • Causa: Incompatibilidade de versão do Vault
    • Solução: Atualize Vault para a versão mais recente ou desabilite integração
  3. Verifique por: "Player checked currency with no economy entry"

    • Causa: Plugin de economia não criou conta do jogador
    • Solução: Verifique configuração do seu plugin de economia
  4. Se habilitado mas EliteMobs ainda usa Elite Coins:

    • Verifique se a chave de config é exatamente: "useVault - not recommended: true"
    • Reinicie servidor após mudança de config
    • Verifique se um plugin de economia está registrado com Vault

Recursos Adicionais

Para informações mais recentes sobre integração com Vault, veja: https://magmaguy.com/wiki.html (procure por "Vault")

Nota: A wiki do GitHub foi migrada para o local acima.

Para Desenvolvedores

Se você está desenvolvendo um addon ou integração:

  • Status do Vault: Verifique VaultCompatibility.VAULT_ENABLED (boolean estático)
  • API de Economia: Use métodos EconomyHandler (não VaultCompatibility diretamente)
  • Operações suportadas: adicionar, subtrair, verificar (definir está desabilitado)
  • Precisão de moeda: Sistema interno usa 2 casas decimais
  • Fallback: Economia volta automaticamente se Vault falhar

Localização do código-fonte:

  • src/main/java/com/magmaguy/elitemobs/economy/VaultCompatibility.java
  • src/main/java/com/magmaguy/elitemobs/economy/EconomyHandler.java

EliteMobs usa VaultAPI 1.7 como dependência somente de compilação. O JAR do plugin Vault deve estar presente no servidor em tempo de execução.