Integração com Vault
A partir da versão 7.1.0, o EliteMobs suporta integração com o Vault (usando a VaultAPI 1.7). Pode ativar o Vault para unificar a economia do EliteMobs com a economia do seu servidor.
Eis porque isto é má ideia:
O EliteMobs não tem um sistema de níveis tradicional. O sistema de progressão está ligado a obter itens melhores ao matar Elite Mobs e a subir de nível as habilidades de armas e armaduras para aceder a saque de nível mais alto, mobs de nível mais alto, missões de nível mais alto e desafios de arena e masmorras de nível mais alto.
Além disso, o EliteMobs tem um equilíbrio muito delicado no que toca a comprar amuletos e revender o saque obtido dos Elite Mobs.
Por isso, se combinar a economia do seu servidor com a economia do EliteMobs, os jogadores poderão facilmente comprar o seu caminho até ao topo, potencialmente ignorando a curva de aprendizagem.
Assim, o sistema de progressão deixa de funcionar corretamente, o que leva a problemas ainda piores. Os Elite Mobs de nível alto têm vários poderes, e a ideia é que os jogadores aprendam lentamente esses poderes ao lutar contra eles durante dezenas de horas, aprendendo a identificar os poderes que os Elite Mobs têm e como contrariá-los, bem como a preparar-se para entrar em combate contra Elite Mobs.
Se os jogadores saltarem diretamente para o endgame, vão sentir que a dificuldade de combate é praticamente impossível e extremamente injusta, pois não tiveram tempo para desenvolver o conhecimento necessário para matar os EliteMobs de forma eficiente através de longas horas de jogo.
Requisitos
Para usar a integração com o Vault, tem de ter:
- O plugin Vault (versão compatível com a VaultAPI 1.7+)
- Um plugin de economia que se registe junto do Vault (EssentialsX, CMI, etc.)
- Ambos os plugins corretamente configurados e em funcionamento
O EliteMobs irá detetar automaticamente o Vault e usá-lo se estiver ativado na configuração.
Configuração
Para ativar a integração com o Vault:
- Garanta que o plugin Vault está instalado no seu servidor
- Garanta que tem um plugin de economia que funcione com o Vault (ex.: EssentialsX, CMI, etc.)
- Abra o
EconomySettings.ymlna pasta do plugin EliteMobs - Defina
useVault: true - Reinicie o servidor
Exemplo de configuração:
# Whether to use Vault for the economy instead of the built-in system.
# NOT RECOMMENDED! See: https://wiki.nightbreak.io/EliteMobs/vault
useVault: false
Como Funciona
Quando a integração com o Vault está ativada:
- Toda a moeda do EliteMobs (Elite Coins) é convertida para a moeda principal da economia do seu servidor
- Os jogadores ganham a moeda da sua economia em vez de Elite Coins ao matar Elite Mobs
- As transações nas lojas, as melhorias de habilidades e todas as outras funcionalidades 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: O dinheiro é adicionado ao saldo Vault do jogador
- Levantamentos: O dinheiro é removido do saldo Vault do jogador
- Verificações de saldo: Consulta o saldo Vault do jogador
- Definição direta de saldo: DESATIVADA por segurança (use o seu plugin de economia)
Nota: Enquanto a integração com o Vault estiver ativada, todas as operações de moeda são encaminhadas para o Vault. O EliteMobs não recorre silenciosamente à sua economia interna se o Vault ficar indisponível em tempo de execução, por isso garanta que o seu plugin de economia se mantém registado junto do Vault enquanto useVault estiver ativo.
Funcionalidades de Segurança
Por razões de segurança, o EliteMobs NÃO suporta definir diretamente o saldo de moeda de um jogador através do Vault. Qualquer tentativa de o fazer será bloqueada e registada. Use os comandos do seu plugin de economia para definir saldos diretamente, se necessário.
Exemplo de Cenário
Sem o Vault:
- O jogador mata um Elite Mob de nível 50
- Recebe 100 Elite Coins (guardados na base de dados do EliteMobs)
- Só pode gastar os Elite Coins nas lojas do EliteMobs
Com o Vault:
- O jogador mata um Elite Mob de nível 50
- Recebe 100 [moeda da sua economia] (guardados no Vault/plugin de economia)
- Pode gastar dinheiro nas lojas do EliteMobs E em qualquer outro lugar do servidor
- Outros jogadores podem enviar dinheiro para comprar serviços do EliteMobs
- A economia é unificada entre todos os plugins
É por isto que não é recomendado: quebra o sistema de progressão pretendido ao permitir que os jogadores usem moeda de outras fontes.
Resolução de Problemas
Se a integração com o Vault estiver ativada mas não funcionar:
-
Verifique os registos do servidor à procura de: "Vault detected." (numa linha de registo do EliteMobs)
- Se faltar: o plugin Vault não está instalado ou não está a carregar
-
Procure pelo aviso: "Vault preference detected. This is not the recommended setting."
- Isto é esperado quando a integração com o Vault está ativada — é um lembrete, não um erro
- Se o Vault continuar a não funcionar, garanta que o seu plugin de economia está corretamente registado junto do Vault
-
Procure por: "Player tried to check currency when they had no economy entry"
- Causa: o plugin de economia ainda não criou a conta do jogador
- Solução: verifique a configuração do seu plugin de economia
-
Se estiver ativado mas o EliteMobs continuar a usar Elite Coins:
- Verifique que a chave de configuração é exatamente:
useVault: true - Reinicie o servidor após alterar a configuração
- Verifique que existe um plugin de economia registado junto do Vault
- Verifique que a chave de configuração é exatamente:
Para Programadores
Se estiver a desenvolver um addon ou uma integração:
- Estado do Vault: Verifique
VaultCompatibility.VAULT_ENABLED(boolean estático) - API de economia: Use os métodos de
EconomyHandler(não diretamente oVaultCompatibility) - Operações suportadas: adicionar, subtrair, verificar (definir está desativado)
- Precisão da moeda: o sistema interno usa 2 casas decimais
- Sem recurso em tempo de execução: quando
VAULT_ENABLEDé verdadeiro, oEconomyHandlerdelega sempre no Vault; não existe qualquer reversão automática para a economia interna
Localização do código-fonte:
- src/main/java/com/magmaguy/elitemobs/economy/VaultCompatibility.java
- src/main/java/com/magmaguy/elitemobs/economy/EconomyHandler.java
O EliteMobs usa a VaultAPI 1.7 como dependência apenas de compilação. O JAR do plugin Vault tem de estar presente no servidor em tempo de execução.