基本概念

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

  • 经济服务(EconomyService)
  • 货币(Currency)
  • 账户(Account)
  • 数据操作记录

经济服务

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

警告

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

货币(Currency)

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

账户(Account)

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

虚拟帐户

虚拟账户绑定到一个特定标识符,这个标识符是一个字符串。虚拟帐户可以绑定到几乎任何东西,但通常用于诸如银行或非玩家的事情。要获取虚拟帐户的 ID ,请使用 getIdentifier() 方法。

唯一账户

唯一账户都绑定到一个 UUID ,通常是玩家的 UUID ,我们通常使用 getUUID() 方法来获取 UUID 。

数据操作记录

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

  • 收入:代表帐户中货币数量的增加
  • 支出:代表帐户中货币数量的减少
  • 转让:代表帐户中的货币与另一个帐户的货币之间的流动

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

  • 涉及账户
  • 涉及币种
  • 涉及金额
  • 交易类型
  • 交易结果

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