CoinSystem 是一款高效、功能全面的货币插件,为你的服务器提供了一套完整的硬币经济系统。它支持多种数据存储方式,并集成了 PlaceholderAPI 和 Vault,可轻松与现有生态插件协同工作。
PlayerPayPlayerEvent,便于其他插件监听交易行为。/coins [玩家名或UUID] - 查看自己或他人的硬币余额。system.commands.coins.display (查看自己), system.commands.coins.display.others (查看他人)/pay <玩家名或UUID> <数量> - 向其他玩家支付硬币。system.commands.coins.pay/topcoins - 查看硬币排行榜。system.commands.coins.top/updatecoins <玩家名或UUID> <数量> - 直接调整玩家的硬币余额。system.commands.coins.update/coinlog [payments,update_coins] [玩家名或UUID] - 查看支付或余额更新日志。system.commands.coinlog (基础权限), system.commands.coinlog.cache, system.commands.coinlog.payments, system.commands.coinlog.update_coins将 CoinSystem 与 PlaceholderAPI 结合,可以在计分板、聊天栏等位置动态显示货币信息。
%coinsystem_balance% - 玩家当前余额 (等同于 %coinsystem_coins%)。%coinsystem_balance_formatted% - 带千位分隔符的余额 (例如: 1,234)。%coinsystem_rank% - 玩家的硬币排名 (例如: 5)。%coinsystem_top_balance% - 服务器最高余额 (例如: 10000)。%coinsystem_top_balance_formatted% - 带格式的最高余额 (例如: 10,000)。%coinsystem_top_1_name% - 最富有玩家的名字 (例如: Pentrax)。%coinsystem_server_balance_total% - 服务器硬币总数量 (例如: 123456)。%coinsystem_server_balance_total_formatted% - 带格式的服务器硬币总量 (例如: 123,456)。%coinsystem_default_balance% - 新玩家的默认起始余额 (例如: 1000)。%coinsystem_default_balance_formatted% - 带格式的默认余额 (例如: 1,000)。%coinsystem_next_rank_balance% - 升至下一排名所需的硬币数 (例如: 2500)。%coinsystem_next_rank_balance_formatted% - 带格式的下一排名所需余额 (例如: 2,500)。%coinsystem_pay_limit% - 单次支付上限 (来自配置文件) (例如: 5000)。%coinsystem_pay_limit_formatted% - 带格式的支付上限 (例如: 5,000)。%coinsystem_total_players% - 拥有硬币账户的玩家总数 (例如: 42)。CoinSystem 会自动检测并挂钩 Vault,注册为经济服务提供商。
若要在自己的插件中使用 CoinSystem 的 API,请按以下步骤操作。
在你的 plugin.yml 文件中添加对 CoinSystem 的依赖:
name: YourPlugin
main: your.main.class
version: 1.0
description: Info
depend: [CoinSystem]// 检查缓存是否激活
CoinApi.isCacheActive();
// 强制从数据库获取玩家余额
CoinApi.getForcedLivePlayerBalance(uuid);
// 获取玩家余额(优先使用缓存)
CoinApi.getPlayerBalance(uuid);
// 根据玩家名获取 UUID
CoinApi.getUUID(playerName);
// 更新玩家余额
CoinApi.updatePlayerBalance(uuid, TransactionType.ADD/REMOVE, 5);
// 使用 CoinPlayer 对象
CoinPlayer coinPlayer = new CoinPlayer(uuid);
// 获取信息
coinPlayer.getCoinPlayerBalance(); // 缓存或数据库余额
coinPlayer.getForcedLiveBalance(); // 数据库余额
coinPlayer.getPlayer();
coinPlayer.getDatabaseId();
coinPlayer.getName();
coinPlayer.getUuid();
coinPlayer.isOnline();
// 更新信息
coinPlayer.setCoinPlayerBalance(new_balance);
coinPlayer.updateCoinPlayerBalance(TransactionType.ADD/REMOVE, value);
// 保存数据到数据库
coinPlayer.exportPlayerDataToDatabase();你可以监听 PlayerPayPlayerEvent 来追踪玩家间的交易:
@EventHandler
public void onPlayerPayPlayerEvent(PlayerPayPlayerEvent event) {
CoinPlayer coinPlayer = event.getCoinPlayer(); // 付款方
CoinPlayer coinTargetPlayer = event.getCoinTargetPlayer(); // 收款方
int payedCoins = event.getPayedCoins(); // 支付金额
// 获取交易前后的余额
int payerOld = event.getOldCoinBalance();
int payerNew = event.getNewCoinBalance();
int receiverOld = event.getTargetOldCoinBalance();
int receiverNew = event.getTargetNewCoinBalance();
// 你的处理逻辑...
}Discord 支持社区: https://discord.com/invite/FaHcQnunFp
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:2,657,480 | 历史访问人次:3,221,689
今日访问人数:2,503 | 今日访问人次:2,667
昨日访问人数:30,655 | 昨日访问人次:36,381
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6