基本的な概念

Sponge の経済 API は開発者が知っておくべきいくつかの要素があります:

  • EconomyService

  • 通貨(Currency)

  • 口座(Account)

  • トランザクション

EconomyService

EconomyService は経済 API の基礎となります。これを用いて経済 API を使用したり、通貨や口座管理の手段を提供したりします。

警告

Sponge does not provide a default implementation for the EconomyService. It’s completely up to plugins to implement the Economy API. This means that you have to rely on another plugin which implements the service or you’ll have to implement it yourself, if you want to make use of it.

通貨(Currency)

The Currency object represents a form of Currency. Currency stores a display name (plural and singular), a symbol, the number of fractional digits, and whether the currency is the default currency for the economy. If the economy plugin chooses, it can support multiple currencies.

口座(Account)

Account は特定のプレイヤーや他のオブジェクト(銀行や会社、エンティティ)についての情報を保存するために使われます。 Sponge の経済 API では2種類の口座タイプがあります:

バーチャルアカウント

Virtual accounts are tied to an identifier, which is stored as a string. Virtual accounts can be tied to almost anything, but are commonly used for things such as banks, or non-players. To get the id of a virtual account, use identifier().

ユニークアカウント

Unique accounts are tied to a UUID, usually a player. To get the UUID of an unique account, use uniqueId().

トランザクション

トランザクションは口座の残高の変化を表現します。トランザクションには3タイプあります:

  • Deposit: Occurs when an account has funds added to it

  • 引き出し: 口座から資金を取り出した場合に起こります

  • 送金: 口座が他の口座と資金を交換した場合に起こります

トランザクションが発生したとき、 EconomyTransactionEvent が発火されます。このイベントを使って TransactionResult が取得できます。 TransactionResult は以下を含む発生したトランザクションの情報を持ちます:

  • Account involved

  • Currency involved

  • Amount of currency involved

  • Transaction type

  • Result of the transaction

ResultType JavaDoc のページですべてのあり得るトランザクションの結果を見られます。