Skip to content

mc2514/OnlineTime

 
 

Repository files navigation

📊 OnlineTime 插件文档

简介

OnlineTime 是一款基于 PlaceholderAPI 扩展开发的 Bukkit 插件,用于记录玩家每日在线时长,并支持自定义格式的在线时间展示。该插件适用于想要统计玩家活跃度、发放在线奖励、或仅用于信息展示的服务器。


🌟 功能特点

  • ⏱ 实时记录在线玩家在线时间(精确到秒)
  • 🗓 支持每日在线时间独立记录
  • 🧩 完美支持 PlaceholderAPI 占位符
  • 📅 自动日期判断与刷新机制
  • 🔧 支持自定义时间显示格式(如:HH时mm分SS秒
  • 📌 支持群组服,连接 MYSQL 保持数据同步

📅 支持

  • 核心支持:理论上全核心兼容
  • 版本兼容:支持从 1.12.2 至 1.21.4 版本

🔧 占位符格式说明

插件注册的占位符标识符为:

示例:

  • %onlineTime_HH时% → 输出为类似 "2时"
  • %onlineTime_SS秒% → 输出为 "994秒"
  • %onlineTime_HH小时% → 输出为 "1小时"

可用占位符字段:

字段 含义
HH 总小时数
mm 总分钟数
SS 原始秒数

⚠ 注意:插件会自动处理负数时间并在前方加上 - 号。


🧠 插件工作原理

  • 插件通过 OnlineTimeFun.startTimer() 启动定时任务,每 20 Tick(约 1 秒)轮询一次。
  • 检查是否为新的一天,若是,则刷新内部日期标记。
  • 对所有在线玩家执行:
    • 获取当天的在线时长数据
    • 为其在线时间增加 1秒
    • 将更新后的数据同步至数据库
  • 使用缓存提升性能,并确保查询效率。

🧱 数据结构说明

插件维护了一个名为 onlineTimeBase.onlineTimeCache 的缓存映射:

ConcurrentHashMap<String,OnlineTimeData>

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%