Les concepts de base

L’API Economie de Sponge possède quelques éléments de base que les développeurs doivent connaître :

  • Le service d’Economie

  • La devise

  • Les comptes

  • Transactions

Le service d’économie

L”EconomyService est la base de l’Economy API. Elle est utilisée pour interagir via l’Economy API, stocke les monnaies et fournit des méthodes pour la gestion des comptes.

Avertissement

Sponge ne fournit pas d’implémentation par défaut pour le EconomyService. C’est aux plugins d’implémenter l’API Economie. Cela signifie que vous devez dépendre d’un autre plugin implémentant l’API ou alors l’implémenter vous même si vous voulez l’utiliser.

La devise

L’objet Currency représente une sorte de Monnaie. Currency stocke un nom d’affichage (au pluriel et au singulier), un symbole, le nombre de décimales, et si la monnaie est la monnaie par défaut de l’économie. Si le plugin d’économie est fait pour, il peut supporter plusieurs monnaies.

Les comptes

Les Accounts sont utilisés pour stocker les informations économiques par rapport à un joueur spécifique ou un autre objet (ex : Une banque, une entreprise, une entité…). Il y a deux types de comptes dans l’API d’Économie de Sponge :

Les comptes virtuels

Les comptes virtuels sont liés à un identifiant, qui sont stockés sous forme de chaîne de caractères(string). Les comptes virtuels peuvent être liés à presque tout, mais ils sont communément utilisés pour les comptes bancaires, ou les entités non joueuses(NPC). Pour récupérer l’identifiant d’un compte virtuel, utilisez identifier().

Les comptes uniques

Les comptes uniques sont reliés à un UUID, habituellement un joueur. Pour récupérer l’UUID d’un compte unique, utilisez uniqueId().

Transactions

Les transactions représentent les changements de solde d’un compte. Il y a actuellement trois types de transactions :

  • Dépot : A lieu quand des fonds sont ajoutés à un compte

  • Retrait : A lieu quand des fonds sont retirés d’un compte

  • Transfert : A lieu quand un compte échange des fonds avec un autre compte

Quand un transfert a lieu, l’event EconomyTransactionEvent est déclenché. En utilisant cet event, vous pouvez récupérer le TransactionResult. Le TransactionResult stocke les données de la transaction qui a eu lieu, cela inclut:

  • Le compte impliqué

  • La monnaie impliquée

  • La quantité de monnaie impliquée

  • Le type de transaction

  • Le résultat de la transaction

Vous pouvez voir tous les résultats de transaction possibles sur la page JavaDocs ResultType.