EconomyAPI 是一个旨在统一所有经济插件 API 的插件。该 API 既可以由提供经济功能的插件实现,也可以被其他需要经济支持的插件(如商店插件)调用。这使得所有需要经济系统的插件都能与任何安装了 EconomyAPI 实现的经济插件协同工作。
注意:
EconomyAPI 不能单独使用!它仅提供统一调用的抽象 API,需要另一个具体的经济插件来提供实现。同时,该插件需要 PlaceholderAPI 才能正常运行。
Gradle 依赖配置:
代码:
repositories {
mavenCentral()
}
dependencies {
// 引入 EconomyAPI
compileOnly(group = "org.allaymc", name = "economy-api", version = "0.2.0")
}
调用 API 示例:
Java:
import org.allaymc.economyapi.EconomyAPI;
import org.allaymc.economyapi.Account;
import org.allaymc.economyapi.Currency;
import java.math.BigDecimal;
import java.util.UUID;
public class Example {
public void example() {
// 获取 API 实例
EconomyAPI api = EconomyAPI.get();
// 获取或创建账户
UUID uuid = UUID.randomUUID();
Account account = api.getOrCreateAccount(uuid);
// 获取默认货币的余额
Currency currency = api.getDefaultCurrency();
BigDecimal balance = account.getBalance(currency);
// 将余额格式化为字符串
String formattedBalance = currency.format(balance);
}
}
实现 API 示例:
Java:
import org.allaymc.api.plugin.Plugin;
import org.allaymc.economyapi.EconomyAPI;
public class MyEconomyAPI extends Plugin implements EconomyAPI {
@Override
public void onLoad() {
// 设置 API 实例。注意:EconomyAPI#API 只能被设置一次。
EconomyAPI.API.set(this);
}
}
- AccountCreateEvent: 当账户创建时触发。
- AccountDeleteEvent: 当账户被删除时触发。
- BalanceChangeEvent: 当账户余额发生变化时触发。
- BalanceTransferEvent: 当两个账户之间发生转账时触发。
- {balance} 或 {balance|<货币名称>}: 玩家的余额。
- {currency_name}: 默认货币的名称。
- {currency_plural_name} 或 {currency_plural_name|<货币名称>}: 默认或指定货币的复数名称。
- {currency_symbol} 或 {currency_symbol|<货币名称>}: 默认或指定货币的符号。
欢迎任何形式的贡献!你可以随时 Fork 本仓库,改进代码并提交 Pull Request。
本项目采用 LGPL v3 许可证授权。