💎 AdventurePlayerPoints

AdventurePlayerPoints 是 PlayerPoints 的兼容实现。它保留原插件名称、包名、API、事件和 /points 命令,但实际余额由 AdventureMoney 的 G币提供。

🔁

无缝映射

PlayerPoints 点数直接读取和修改 G币,避免维护两套余额。

🧩

API 兼容

提供常用 PlayerPointsAPI 调用与变更、重置事件。

⌨️

命令兼容

保留 me、pay、give、take、set、reset、lead 等命令。

🔗

旧插件接入

优先于 TrMenu、AdventureMarket、AdventureMedal 加载。

项目版本1.0.0
对外插件名PlayerPoints
服务端Spigot / Paper 1.21.4,Java 21
必需依赖AdventureMoney
余额来源AdventureMoney G币
💡 它不是第二套经济

所有 API 与命令最终作用于 G币;安装后不要再同时运行原版 PlayerPoints。

📥 安装与迁移

  1. 先安装并启动 AdventureMoney 1.0.3。
  2. 停服并移除原版 PlayerPoints JAR,避免重复插件名。
  3. 将本项目产物 PlayerPoints-AdventureMoney.jar 放入 plugins/
  4. 启动后确认 PlayerPoints 在 AdventureMoney 之后加载。
  5. 使用 /points me/coin balance 对照余额。
⚠️ 旧数据不会自动导入

桥接插件只改变余额后端,不会读取原 PlayerPoints 数据库。迁移前需将旧点数批量转换或导入为 G币。

🔁 G币映射

PlayerPoints 操作AdventureMoney 行为
look(UUID)读取 G币并向下取整为整数
give(UUID, n)增加 n G币
take(UUID, n)扣除 n G币
set(UUID, n)设置 G币
reset(UUID)将 G币归零
排行榜按 G币降序生成

AdventureMoney 原生 G币支持一位小数,而 PlayerPoints API 使用整数。通过 PlayerPoints 读取时会向下取整;原生小数余额仍保留在 AdventureMoney 中。

🧩 API 与事件

插件沿用 org.black_ixx.playerpoints 命名空间,兼容常见的:

  • PlayerPoints#getAPI()
  • PlayerPointsAPI#look/give/take/set/reset
  • 排序玩家与排行榜查询
  • PlayerPointsChangeEvent
  • PlayerPointsResetEvent
  • TransactionType
⚠️ 兼容范围

目标是服务器现有插件所需的常用 API,而非复刻原版所有内部类。使用冷门反射接口的插件应先在测试服验证。

🔗 插件兼容

插件用途
AdventureMoney必需,提供 G币账户和存储
PlaceholderAPI由 AdventureMoney 提供 %amoney_points% 等变量
Vault可选,供 AdventureMoney 银币系统使用
TrMenu以 PlayerPoints 名称/API 读取点数
AdventureMarket兼容点数支付
AdventureMedalplayerPoints 购买类型

loadbefore 会让兼容桥先于 TrMenu、AdventureMarket、AdventureMedal 可用。

⌨️ 命令

根命令 /points,别名 /playerpoints

命令说明
/points me查看自己的点数
/points look <玩家>查看他人
/points pay <玩家> <数量>转账
/points lead [页码]排行榜
/points give|take|set <玩家> <数量>管理员修改
/points giveall <数量>发给全部在线玩家
/points reset <玩家>归零
/points broadcast <玩家>广播玩家点数
/points reload兼容命令
/points version版本

🔑 权限

权限默认
playerpoints.basecommand所有人
playerpoints.me所有人
playerpoints.pay所有人
playerpoints.lead所有人
playerpoints.lookOP
playerpoints.give/giveall/take/set/resetOP
playerpoints.reload/broadcast/versionOP
playerpoints.*OP,包含全部节点

🧰 故障排查

提示缺少 AdventureMoney

确认插件名精确为 AdventureMoney,版本已启用 CoinManager,且兼容桥没有被提前强制加载。

重复插件错误

删除原 PlayerPoints JAR。两者都声明 name: PlayerPoints,不能共存。

余额带小数但 points 显示整数

这是兼容设计:PlayerPoints API 为整数,读取时对 G币向下取整。使用 /coin balance 可查看原始一位小数。

第三方插件找不到类

确认其使用的是公开 PlayerPoints API;若依赖未实现的内部类,需要单独补充兼容层。