EpicBeheading 史诗级斩首 | 玩家头颅掉落 ✨ | VIP 掉落率 | 1.13–26.2 1.1.4

高级插件 EpicBeheading 史诗级斩首 | 玩家头颅掉落 ✨ | VIP 掉落率 | 1.13–26.2 1.1.4 2026-09-12

让每一次击杀都成为战利品——自定义掉落率、VIP加成和排行榜
支持版本
  1. 1.13.X
  2. 1.14.X
  3. 1.15.X
  4. 1.16.X
  5. 1.17.X
  6. 1.18.X
  7. 1.19.X
  8. 1.20.X
  9. 1.21.X
  10. 26.X
资源官方
https://www.spigotmc.org/resources/%E2%9A%94-epicbeheading-player-head-drops-%E2%9C%A8-vip-drop-rates-1-13%E2%80%9326-2.138148/

1. 统计与排行榜系统​

为每位玩家记录三个维度的数据,并通过排行榜展示:

  • 总榜:永久累计,服务器生涯数据
  • 周榜:按 ISO 周(每周一 00:00 重置)
  • 月榜:按自然月(每月 1 日 00:00 重置)
每个维度同时统计击杀数(kills)与获得头颅数(heads),共 6 个排行榜。

周期重置采用惰性机制:跨周 / 跨月时不遍历全体玩家清零,而是在该玩家下一次产生事件(击杀或掉头颅)时检测周期 ID 变化并就地重置。即便玩家长期不在线,周期切换也零开销。

2. SQLite 数据持久化​

统计数据改用 SQLite 存储于 plugins/EpicBeheading/playerdata/data.db,替代旧的 statistics.yml:

  • WAL 模式 + synchronous=NORMAL,兼顾读写并发与写入性能
  • 批量 upsert 单事务提交,数千玩家数据可在毫秒级落盘
  • 内存缓存 + 脏标记异步落盘,主线程死亡事件仅更新内存,无同步磁盘 IO
  • 驱动已打包进 jar(重定位为 com.epicbeheading.sqlite),无需服务器额外安装驱动,避免与其他插件冲突

3. PlaceholderAPI 变量​

需安装 PlaceholderAPI。注册后支持以下变量(前缀 %epicbeheading_):

个人数据

变量含义
%epicbeheading_kills%总击杀数
%epicbeheading_heads%总获得头颅数
%epicbeheading_week_kills%本周击杀
%epicbeheading_week_heads%本周头颅
%epicbeheading_month_kills%本月击杀
%epicbeheading_month_heads%本月头颅
个人排名(未入榜返回空值文本)

变量含义
%epicbeheading_kills_rank%总击杀排名
%epicbeheading_heads_rank%总头颅排名
%epicbeheading_week_kills_rank%周击杀排名
%epicbeheading_week_heads_rank%周头颅排名
%epicbeheading_month_kills_rank%月击杀排名
%epicbeheading_month_heads_rank%月头颅排名
排行榜条目(N 为名次,1 = 榜首;支持 1 – top-size)

变量含义
%epicbeheading_top_kills_name_N%总击杀榜第 N 名玩家名
%epicbeheading_top_kills_value_N%总击杀榜第 N 名数值
%epicbeheading_top_heads_name_N% / _value_N总头颅榜
%epicbeheading_week_top_kills_name_N% / _value_N周击杀榜
%epicbeheading_week_top_heads_name_N% / _value_N周头颅榜
%epicbeheading_month_top_kills_name_N% / _value_N月击杀榜
%epicbeheading_month_top_heads_name_N% / _value_N月头颅榜
  • 排行榜缓存异步刷新(默认 60 秒),PAPI 查询直接读内存,无排序与磁盘 IO,高频调用不卡顿
  • 支持离线玩家查询(个人数据与排名均包含离线玩家)

4. 多语言空数据文本​

排行榜空名次 / 空数值的显示文本移至 lang/*.yml 的 leaderboard 节点,支持 8 种语言:

leaderboard:
empty-name: "暂无数据"
empty-value: "暂无数据"

改进​

  • 排行榜缓存刷新间隔可配(leaderboard.refresh-interval,默认 60 秒,异步执行)
  • 统计数据异步保存间隔可配(leaderboard.stats-save-interval,默认 300 秒)
  • 周 / 月周期 ID 计算支持自定义时区(leaderboard.timezone),不依赖系统默认时区
  • /ebh reload 支持热重载所有排行榜配置与时区、刷新间隔、Top 数等,无需重启
  • PAPI Expansion 设置 persist(),热重载后不会被注销,无需重新注册

Bug 修复​

  • 修复繁体中文(zh_tw)语言文件从未释放到磁盘的问题:原代码释放 zh_hant.yml,但资源文件实际名为 zh_tw.yml,导致设置 language: zh_tw 时 langConfig 为空,全部翻译走兜底。现已修正为释放 zh_tw.yml。

配置项​

# 头颅掉落几率(默认 0.05 = 5%)
drop-chance: 0.05

# 语言设置:zh_cn / zh_tw / en / ja / ko / de / fr / ru
language: "en"

leaderboard:
# 排行榜缓存刷新间隔(秒,异步)
refresh-interval: 60
# 默认排行榜数量(Top N)
top-size: 10
# 服务器时区(周/月周期计算用)
timezone: "Asia/Shanghai"
# 统计数据异步保存间隔(秒)
stats-save-interval: 300
# 周榜重置日(ISO 周,周一为起点)
weekly-reset-day: MONDAY

命令与权限​

命令权限默认说明
/ebh reloadepicbeheading.reloadop重载配置与语言文件
  • 点赞
反馈: keikou
无下载权限
1704245244
贡献者 1704245244

帖子交流

1

点赞金锭

1

贡献资源

1

资源版本 2026-09-12
下载量 2
热度 36
更新时间
{评级}星 0 星
顶部