AdventureBossRank
一、简介
AdventureBossRank —— Boss击杀伤害排行系统
当 MythicMobs Boss 被击杀时,自动统计每位玩家的伤害输出,生成实时排行榜,并根据排名发放奖励。支持 BossBar 实时血条显示、ActionBar 实时 DPS 显示、周期排行榜(日/周/月/总)和 GUI 排行面板。
支持 Paper 1.21.4+ 服务器(Java 21)。
核心特性
- 实时伤害追踪 — PDC 缓存 MythicMobs 类型检测,每次攻击实时记录
- BossSession 会话追踪 — 每只 Boss 独立会话,精确统计每位参与者的伤害
- BossBar 血条 — 战斗中实时显示 Boss 剩余血量
- ActionBar DPS — 滑动窗口算法实时显示玩家 DPS
- 周期排行榜 — 日/周/月/总,四种周期切换
- GUI 排行面板 — 可视化排行榜界面
- 战利品系统 — 权重随机掉落 + 排名奖励 + 默认奖励
- 离线奖励 — 离线玩家奖励存入 DB,上线自动领取
- 邮件发放 — 通过 AdventureMail 发送溢出物品(反射调用,无编译依赖)
- MiniMessage 文本 — 完整 MiniMessage 支持,替代旧式颜色代码
- PAPI 变量 — PlaceholderAPI 集成,提供排行数据变量
二、插件前置说明
- MythicMobs — 必需(Boss 使用 PDC
mythicmobs:type检测,无编译依赖) - PlaceholderAPI — 可选,提供 PAPI 变量
- AdventureMail — 可选,离线/溢出物品邮件发放
下一篇安装与配置 →
安装与配置
环境要求
| 项目 | 要求 |
|---|---|
| 服务端 | Paper 1.21.4+ |
| Java | 21+ |
| 必需依赖 | MythicMobs |
| 可选依赖 | PlaceholderAPI、AdventureMail |
安装步骤
- 放入
AdventureBossRank-2.0.0.jar - 确保已安装 MythicMobs
- 启动服务器自动生成配置
- 编辑
config.yml、bosses.yml、loot.yml /bossrank reload
目录结构
plugins/AdventureBossRank/
config.yml # 主配置(数据库、BossBar、ActionBar等)
bosses.yml # Boss定义(MythicMobs名称→显示名、奖励)
loot.yml # 战利品表定义
messages.yml # MiniMessage 消息模板
data/
adventurebossrank.db # SQLite 数据库
上一篇← 概览
下一篇Boss战斗会话 →
Boss战斗会话
每只 MythicMobs Boss 被攻击时,系统自动创建一个 BossSession(战斗会话):
- 每个 Boss 实体(UUID)一个独立会话
- 记录每位参与者的累计伤害(上限为 Boss 最大血量)
- Boss 死亡时触发结算:生成排行榜 → 广播 → 发放奖励
- TTL 超时清理:长时间无人攻击的会话自动回收
伤害追踪
- 直接近战攻击:
EntityDamageByEntityEvent - 远程攻击(弓箭、三叉戟等):追溯
getShooter() - 精灵宠物伤害:AdventureElf 已通过
setShooter()归因到主人 - PDC 缓存:首次检测后缓存
mythicmobs:type,避免重复解析
上一篇← 安装与配置
下一篇排行榜系统 →
排行榜系统
四种周期
| 周期 | 说明 | 重置时间 |
|---|---|---|
| DAILY | 每日排行 | 每天 00:00 |
| WEEKLY | 每周排行 | 每周一 00:00 |
| MONTHLY | 每月排行 | 每月1号 00:00 |
| ALL | 总排行 | 永不重置 |
GUI 排行面板
使用 /bossrank gui 打开排行面板,支持周期切换按钮。
上一篇← Boss战斗会话
下一篇奖励与战利品 →
奖励与战利品
奖励分配
- 排名奖励 — 按伤害排名发放(第1名、第2名……),在
bosses.yml配置 - 默认奖励 — 未进入排名的参与者获得的保底奖励
- 周期奖励 — 日/周/月排行结算时额外发放
战利品系统
loot.yml 定义战利品表,使用权重随机抽取:
dragon_loot:
items:
- item: "DIAMOND_SWORD"
weight: 10
name: "&c龙牙剑"
- item: "GOLDEN_APPLE"
weight: 30
amount: 3
- item: "adventureitems:dragon_scale"
weight: 5
离线奖励
玩家不在线时,命令奖励存入数据库 pending_rewards 表,下次登录自动领取。物品奖励通过 AdventureMail 邮件发放。
上一篇← 排行榜系统
下一篇BossBar与ActionBar →
BossBar 与 ActionBar
BossBar 血条
战斗中自动显示 Boss 剩余血量百分比,支持自定义颜色和样式。
bossbar:
enabled: true
color: RED
style: SEGMENTED_10
range: 64
ActionBar DPS
使用滑动窗口算法计算实时 DPS,战斗中在 ActionBar 显示:
actionbar:
enabled: true
format: "&e⚔ DPS: &f{dps}/s &7| &e总伤害: &f{damage}"
上一篇← 奖励与战利品
下一篇命令列表 →
命令列表
| 命令 | 说明 | 权限 |
|---|---|---|
/bossrank rank [boss] | 查看指定Boss排行 | bossrank.use |
/bossrank gui | 打开排行GUI面板 | bossrank.use |
/bossrank stats [玩家] | 查看个人统计 | bossrank.use |
/bossrank history [boss] | 查看历史记录 | bossrank.history |
/bossrank list | 列出所有Boss | bossrank.admin |
/bossrank status | 查看活跃会话 | bossrank.admin |
/bossrank reload | 重载配置 | bossrank.admin |
别名:/br、/abr
上一篇← BossBar与ActionBar
下一篇配置文件 →
配置文件
config.yml 主要配置
database:
type: sqlite # sqlite 或 mysql
mysql:
host: localhost
port: 3306
database: bossrank
username: root
password: ""
bossbar:
enabled: true
color: RED
range: 64
actionbar:
enabled: true
broadcast:
delay: 3 # Boss死亡后延迟广播秒数
range: -1 # -1 = 全服广播
bosses.yml 示例
fire_dragon:
display-name: "&c🐉 烈焰龙王"
top-count: 5
rewards:
1:
commands:
- "give {player} diamond 10"
message: "&a恭喜获得第1名奖励!"
default:
commands:
- "give {player} gold_ingot 3"
上一篇← 命令列表
下一篇权限节点 →
权限节点
| 权限 | 说明 | 默认 |
|---|---|---|
bossrank.use | 基础命令(rank/gui/stats) | 所有玩家 |
bossrank.history | 查看历史记录 | OP |
bossrank.admin | 管理命令(reload/list/status) | OP |
上一篇← 配置文件
下一篇PAPI 变量 →
PAPI 变量
前缀:%abr_...
| 变量 | 说明 |
|---|---|
%abr_kills_total% | 玩家总击杀参与次数 |
%abr_damage_total% | 玩家总累计伤害 |
%abr_top_rank_<boss>% | 指定Boss最佳排名 |
上一篇← 权限节点
下一篇更新日志 →
更新日志
v2.0.0 最新
- NEW MiniMessage 文本 — 替代旧式 ChatColor,支持渐变/悬浮文本
- NEW BossSession 追踪 — 替代扁平 ConcurrentHashMap
- NEW BossBar 血条 — 战斗中实时显示 Boss 血量
- NEW ActionBar DPS — 滑动窗口实时 DPS 显示
- NEW 战利品系统 — loot.yml 权重随机掉落
- NEW GUI 排行面板 — 可视化排行榜 + 周期切换
- NEW PAPI 变量 — PlaceholderAPI 集成
- NEW 周期排行榜 — 日/周/月/总四种周期
- NEW MailHook 反射化 — 解决 NoClassDefFoundError
- NEW PDC 缓存 — MythicMobs 类型检测缓存
- NEW TTL 清理 — 泄漏会话自动回收
- NEW 异步 DB 查询 — 命令查询不阻塞主线程
v1.0.0
- NEW 初始发布 — MythicMobs Boss 伤害追踪、排行广播、排名奖励、离线领取
上一篇← PAPI 变量