Aller au contenu principal

Intégration Vault

Depuis la version 7.1.0, EliteMobs prend en charge l'intégration Vault (en utilisant VaultAPI 1.7). Vous pouvez activer Vault pour unifier l'économie d'EliteMobs avec l'économie de votre serveur.

Voici maintenant pourquoi c'est une mauvaise idée :

EliteMobs n'a pas de système de niveaux. Le système de progression repose sur l'obtention de meilleurs objets en tuant des Mobs d'Élite et en montant de niveau ses compétences d'arme et d'armure pour accéder à du butin de plus haut niveau, à des mobs de plus haut niveau, à des quêtes de plus haut niveau, ainsi qu'à des défis d'arène et des donjons de plus haut niveau.

De plus, EliteMobs a un équilibre très délicat en ce qui concerne l'achat de charmes et la revente du butin obtenu auprès des Mobs d'Élite.

Par conséquent, si vous combinez l'économie de votre serveur avec celle d'EliteMobs, les joueurs pourront facilement s'acheter une place au sommet, contournant potentiellement la courbe d'apprentissage.

Le système de progression ne fonctionnera alors plus correctement, ce qui conduit à des problèmes encore pires. Les Mobs d'Élite de haut niveau possèdent divers pouvoirs, et les joueurs sont censés apprendre lentement ces pouvoirs en les affrontant pendant des dizaines d'heures, en apprenant à identifier les pouvoirs que possèdent les Mobs d'Élite et comment les contrer, ainsi qu'à se préparer avant d'engager le combat contre des Mobs d'Élite.

Si les joueurs sautent directement à l'endgame, ils auront l'impression que la difficulté de combat est presque impossible et extrêmement injuste, car ils n'auront pas eu le temps de développer les connaissances nécessaires pour tuer efficacement les EliteMobs au fil de longues heures de jeu.

Prérequis

Pour utiliser l'intégration Vault, vous devez avoir :

  • Le plugin Vault (version compatible avec VaultAPI 1.7+)
  • Un plugin d'économie qui s'enregistre auprès de Vault (EssentialsX, CMI, etc.)
  • Les deux plugins correctement configurés et en cours d'exécution

EliteMobs détectera automatiquement Vault et l'utilisera s'il est activé dans la configuration.

Configuration

Pour activer l'intégration Vault :

  1. Assurez-vous que le plugin Vault est installé sur votre serveur
  2. Assurez-vous d'avoir un plugin d'économie qui fonctionne avec Vault (par ex. EssentialsX, CMI, etc.)
  3. Ouvrez EconomySettings.yml dans le dossier du plugin EliteMobs
  4. Réglez useVault: true
  5. Redémarrez le serveur

Exemple de configuration :

# Whether to use Vault for the economy instead of the built-in system.
# NOT RECOMMENDED! See: https://wiki.nightbreak.io/EliteMobs/vault
useVault: false

Comment ça fonctionne

Lorsque l'intégration Vault est activée :

  • Toute la monnaie d'EliteMobs (Elite Coins) est convertie dans la monnaie principale de l'économie de votre serveur
  • Les joueurs gagnent la monnaie de votre économie au lieu d'Elite Coins en tuant des Mobs d'Élite
  • Les transactions de boutique, les améliorations de compétences et toutes les autres fonctionnalités économiques d'EliteMobs utilisent l'économie de votre serveur
  • Le système économique d'EliteMobs est entièrement remplacé par Vault

Opérations sur la monnaie :

  • Dépôts : l'argent est ajouté au solde Vault du joueur
  • Retraits : l'argent est retiré du solde Vault du joueur
  • Vérifications de solde : interroge le solde Vault du joueur
  • Définition directe du solde : DÉSACTIVÉE pour des raisons de sécurité (utilisez votre plugin d'économie)

Remarque : tant que l'intégration Vault est activée, toutes les opérations sur la monnaie sont acheminées vers Vault. EliteMobs ne revient pas silencieusement à son économie interne si Vault devient indisponible en cours d'exécution, alors assurez-vous que votre plugin d'économie reste enregistré auprès de Vault tant que useVault est activé.

Fonctionnalités de sécurité

Pour des raisons de sécurité, EliteMobs ne prend PAS en charge la définition directe du solde de monnaie d'un joueur via Vault. Toute tentative en ce sens sera bloquée et journalisée. Utilisez les commandes de votre plugin d'économie pour définir directement les soldes si nécessaire.

Exemple de scénario

Sans Vault :

  • Le joueur tue un Mob d'Élite de niveau 50
  • Reçoit 100 Elite Coins (stockés dans la base de données d'EliteMobs)
  • Ne peut dépenser les Elite Coins que dans les boutiques d'EliteMobs

Avec Vault :

  • Le joueur tue un Mob d'Élite de niveau 50
  • Reçoit 100 [monnaie de votre économie] (stockés dans Vault / le plugin d'économie)
  • Peut dépenser l'argent dans les boutiques d'EliteMobs ET partout ailleurs sur le serveur
  • Les autres joueurs peuvent envoyer de l'argent pour acheter des services EliteMobs
  • L'économie est unifiée entre tous les plugins

C'est pourquoi ce n'est pas recommandé : cela brise le système de progression prévu en permettant aux joueurs d'utiliser de la monnaie provenant d'autres sources.

Dépannage

Si l'intégration Vault est activée mais ne fonctionne pas :

  1. Vérifiez les journaux du serveur pour : « Vault detected. » (dans une ligne de journal EliteMobs)

    • Si absent : le plugin Vault n'est pas installé ou ne se charge pas
  2. Vérifiez l'avertissement : « Vault preference detected. This is not the recommended setting. »

    • C'est attendu lorsque l'intégration Vault est activée — c'est un rappel, pas une erreur
    • Si Vault ne fonctionne toujours pas, assurez-vous que votre plugin d'économie est correctement enregistré auprès de Vault
  3. Vérifiez : « Player tried to check currency when they had no economy entry »

    • Cause : le plugin d'économie n'a pas créé de compte joueur
    • Solution : vérifiez la configuration de votre plugin d'économie
  4. Si activé mais qu'EliteMobs utilise toujours les Elite Coins :

    • Vérifiez que la clé de configuration est exactement : useVault: true
    • Redémarrez le serveur après le changement de configuration
    • Vérifiez qu'un plugin d'économie est enregistré auprès de Vault

Pour les développeurs

Si vous développez un addon ou une intégration :

  • Statut de Vault : vérifiez VaultCompatibility.VAULT_ENABLED (booléen statique)
  • API d'économie : utilisez les méthodes de EconomyHandler (et non VaultCompatibility directement)
  • Opérations prises en charge : add, subtract, check (set est désactivé)
  • Précision de la monnaie : le système interne utilise 2 décimales
  • Aucun repli en cours d'exécution : lorsque VAULT_ENABLED est vrai, EconomyHandler délègue toujours à Vault ; il n'y a pas de bascule automatique vers l'économie interne

Emplacement du code source :

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

EliteMobs utilise VaultAPI 1.7 comme dépendance uniquement à la compilation. Le fichier JAR du plugin Vault doit être présent sur le serveur en cours d'exécution.