基本的な概念
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 のページですべてのあり得るトランザクションの結果を見られます。