服务器使用量
未统计
服务玩家数
未统计
下载量
8,386
插件详细介绍
CoinSystem 是一款高效、功能全面的货币插件,为你的服务器提供了一套完整的硬币经济系统。它支持多种数据存储方式,并集成了 PlaceholderAPI 和 Vault,可轻松与现有生态插件协同工作。
核心特性
- 灵活的数据存储:支持 MySQL 和 JSON 文件存储,并自动使用 SQLite 作为备用方案。
- 自动更新:安装更新时,配置文件会自动升级以适应新版本。
- 缓存系统:内置缓存机制以提升性能。
- 支付限额:可通过权限节点为玩家设置单次支付上限。
- 自定义初始余额:可为新玩家设置默认的起始硬币数量。
- 专属事件:提供了一个自定义事件
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
PlaceholderAPI 变量
将 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)。
Vault 支持
CoinSystem 会自动检测并挂钩 Vault,注册为经济服务提供商。
- Vault 是完全可选的,没有 Vault 插件也能正常运行。
- 一旦安装了 Vault,所有依赖 Vault 经济的插件(如商店、职业插件)都能立即与 CoinSystem 协同工作。
- 本插件与 ClanSystem 完美兼容。
开发者 API
若要在自己的插件中使用 CoinSystem 的 API,请按以下步骤操作。
添加依赖
在你的 plugin.yml 文件中添加对 CoinSystem 的依赖:
name: YourPlugin
main: your.main.class
version: 1.0
description: Info
depend: [CoinSystem]API 使用示例
以下是一些核心 API 方法的调用示例
// 检查缓存是否激活
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
测试支持版本
版本分布
基本信息
插件名称
Coinsystem Economy Plugin Vault & Papi Support
作者
Jens98
平台
Bukkit / Spigot
支持版本
1.21 - 1.21
点赞数
未统计
最近版本
暂无数据
-