基本概念

作为 Sponge 插件开发者,你应该要熟悉以下几个基本概念:

  • 经济服务(EconomyService)

  • 货币(Currency)

  • 账户(Account)

  • 数据操作记录

经济服务

EconomyService 是经济 API 的基础。它用于通过经济 API 进行交互、存储货币、并提供管理帐户的方法。

警告

Sponge 没有提供 EconomyService 的默认实现。也就是说这完全依靠第三方插件来实现经济 API 。这意味着如果你想要使用经济 API ,你需要依赖另一个实现了经济 API 的插件,否则你需要自己实现它。

货币(Currency)

Currency 对象表示一种货币。 Currency 存储了一个显示名称(单数或复数),一个货币符号(如¥或$等),小数点的位数,以及它是否是默认的交易货币。如果经济插件支持,那么我们可以使用多种货币。

账户(Account)

Account 用于存储一个特定玩家或其他对象(如银行、企业、实体)等的经济数据。在 Sponge 的经济 API 系统中有两种账户类型:

虚拟帐户

虚拟账户被绑定到一个被存为字符串的标识。虚拟账户可以绑定到几乎任何东西,但通常用于银行或非玩家的情况。要获取虚拟账户的标识,调用 identifier()

唯一账户

唯一账户都被绑定到一个通常是玩家的 UUID。使用 uniqueId() 来获取唯一账户的 UUID。

数据操作记录

交易记录代表一个帐户的收支。有三种类型的交易记录:

  • 收入:代表帐户中货币数量的增加

  • 支出:代表帐户中货币数量的减少

  • 转让:代表帐户中的货币与另一个帐户的货币之间的流动

当交易发生时,经济系统将触发 EconomyTransactionEvent 事件。这一事件提供了 TransactionResult ,而 TransactionResult 储存了交易的相关数据,包括:

  • 涉及账户

  • 涉及币种

  • 涉及金额

  • 交易类型

  • 交易结果

你可以查看 JavaDoc 页面( ResultType )以了解所有可能的交易结果。