• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
资源图标

原创 娱乐 TimeRewards|在线时长奖励|可配置 GUI|自动领取|YAML/MySQL|Folia 1.0

请登录后获取
版权类型
原创
插件中文名称
在线时长奖励
插件英文名称
TimeRewards
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Folia
  4. Purpur
  5. PufferFish
  6. Leaves
语言支持
多语言
适配版本(Java)
  1. 最新版本
  2. 26.x
  3. 1.21
⏰ TimeRewards
—— 在线时长奖励 · 可配置 GUI · 多周期支持 ——[/align]




资源类型原创插件 · 服务端插件
适配版本1.21.X (Java版)
服务端核心Spigot / Paper / Folia
语言支持简体中文 · English (可扩展)
前置插件可选:PlaceholderAPI
价格免费




📖 插件简介

TimeRewards 是一款面向 Minecraft 1.21 服务端的在线时长奖励插件,支持 今日、本周、本月、本年、累计 五种统计周期,提供可配置箱子 GUI、手动/自动领取、YAML/MySQL 存储及 PlaceholderAPI 扩展。

插件设计注重配置自由度多服数据一致性,让服主可以灵活设计奖励体系,同时避免玩家在多子服环境下重复领取。




✨ 功能特色

  • 五种统计周期:今日、本周、本月、本年、历史累计,满足不同活动时长需求
  • 奖励类型:支持控制台命令和原版物品,可自由组合
  • 独立 GUI 配置:每个周期拥有独立的 GUI 标题、布局、图标、Lore、状态按钮及奖励位置
  • 领取模式:玩家可在 GUI 中切换手动领取或自动领取模式
  • 自动领取:每分钟检查一次已达到条件的奖励,解放玩家双手
  • 双存储支持:YAML 与 MySQL 两种数据存储自由切换
  • 数据迁移:支持从已有 YAML 玩家数据迁移到 MySQL
  • PAPI 支持:可选接入 PlaceholderAPI,提供各周期在线时长变量
  • 热重载:支持热重载,无需因调整奖励内容而重启服务器
  • 跨周期处理:已针对跨天、跨周、跨月和跨年时长归档进行处理,周期时区可配置
  • 并发安全:奖励领取先原子记录再发放,降低并发或多服环境下重复领取的风险




🎁 默认每日奖励

默认启用 Rewards/day.yml,内含 16 档每日奖励

代码:
20 / 40 / 60 / 80 / 100 / 120 / 150 / 210 / 270 / 330 / 390 / 450 / 510 / 570 / 630 / 720 分钟

本周、本月、本年和累计奖励配置文件已经提供,但默认关闭,服主可以调整内容后自行启用。

⚠️ 重要提醒:
默认每日奖励会执行 money、uemc 和原版 give 命令。请确认服务器存在能够处理 money 与 uemc 的插件,或者在开服前将 Rewards/day.yml 中的命令改成自己服务器实际使用的经济、积分或道具命令。插件发现命令入口不存在时不会消耗该次领取记录。





📂 文件结构

代码:
plugins/TimeRewards/
├─ config.yml
├─ messages.yml
├─ playerdata.yml
└─ Rewards/
   ├─ day.yml
   ├─ week.yml
   ├─ month.yml
   ├─ year.yml
   └─ total.yml




🎨 GUI 与奖励配置

每个周期的界面和奖励都位于独立文件中。每项奖励可配置:

  • 所需在线分钟数
  • GUI 图标、数量、名称和 Lore
  • 展示用奖励说明
  • 控制台命令列表
  • 原版物品列表

布局中的奖励可以通过奖励名称、奖励 ID 或展示名称引用,方便服主自由调整位置和内容。




💾 数据存储与多服使用

YAML(默认)
使用 playerdata.yml,无需额外数据库。写入时使用临时文件和原子替换,并保留最近一次 playerdata.yml.bak 备份。

MySQL(推荐多服)
在 config.yml 中启用数据库后,可使用 MySQL 保存在线进度、周期标记、领取记录和自动领取偏好。插件内置连接池、连接/查询超时,并可迁移已有 YAML 数据。

✅ 多服优势:
同一 MySQL 数据库可供多个服务端共享。领取判定通过数据库事务完成,避免玩家在不同子服同时领取同一周期奖励。

生产多服环境建议保持:
代码:
database:
  fallback-to-yaml: false
这样 MySQL 不可用时不会静默切换到本地 YAML,从而避免各子服数据分叉。




💬 命令列表

主命令:/timerewards
别名:/tr、/onlinerewards

命令说明
/tr、/tr open打开今日奖励 GUI
/tr today打开今日奖励 GUI
/tr week打开本周奖励 GUI
/tr month打开本月奖励 GUI
/tr year打开本年奖励 GUI
/tr total打开累计奖励 GUI
/tr claim <周期> <奖励ID或序号>通过命令领取指定奖励
/tr reload热重载配置与存储设置




🔑 权限节点

权限默认说明
timerewards.use所有玩家使用在线奖励主功能
timerewards.reloadOP重载插件配置




🔗 PlaceholderAPI 支持

PlaceholderAPI 不是必需前置。安装后,TimeRewards 会自动注册以下变量:

代码:
%timerewards_today_minutes%
%timerewards_week_minutes%
%timerewards_month_minutes%
%timerewards_year_minutes%
%timerewards_total_minutes%

%timerewards_today_formatted%
%timerewards_week_formatted%
%timerewards_month_formatted%
%timerewards_year_formatted%
%timerewards_total_formatted%

插件还内置 %math_最小值-最大值% 随机整数占位符,可用于奖励命令,例如 %math_20-40%

可选组件:
PlaceholderAPI:在其他插件中读取 TimeRewards 在线时长变量,并解析奖励配置中的外部变量。




📥 安装方法

  1. 使用 Java 21 运行 Minecraft 1.21 服务端
  2. 下载并将 TimeRewards-1.0-SNAPSHOT-all.jar 放入服务端 plugins 目录
  3. 启动服务器,等待插件生成默认配置
  4. 按服务器经济体系修改 Rewards/day.yml 中的 moneyuemc 等奖励命令
  5. 如需其他周期奖励,调整对应文件后将其 enabled 改为 true
  6. 修改完成后执行 /tr reload,并使用普通玩家账号完整测试一次领取流程




📸 截图预览

1784124969247.webp




📜 版权说明

本资源为原创插件。若无额外说明,默认不允许转载及整合;如需转载、整合或二次分发,请先联系作者获取授权。




📅 更新计划

  • 持续补充更多可配置周期类型
  • 优化树木识别与恢复逻辑
  • 根据反馈补充更多语言文本和管理开关
  • 扩展更多数据库支持选项





💬 反馈与建议请在本帖留言或私信作者[/align]




TimeRewards —— 让每一分钟的在线都有回报[/align]
作者
TuRy
价格
200.00金粒
下载
8
查看
211
首次发布
最后更新

评分

0.00 星 0 次评分

TuRy 的其他资源

后退
顶部 底部