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 reliés à un identifiant, qui est déclaré dans un String. Les comptes virtuels peuvent être reliés à presque tout, mais ils sont communément utilisés pour des choses comme les banques, ou des entités non-joueuses. Pour récupérer l’identifiant d’un compte virtuel, utilisez getIdentifier()
.
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 getUUID()
.
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.