MyVIP —— LuckPerms 会员时长自动叠加助手,续费无需等到期 [Folia 26.2 / Paper 1.20+]

原创 工具 MyVIP —— LuckPerms 会员时长自动叠加助手,续费无需等到期 [Folia 26.2 / Paper 1.20+] 1.4.1

请登录后获取
版权类型
原创
插件中文名称
会员时长叠加助手(MyVIP)
插件英文名称
MyVIP
原帖地址
#
支持的核心(服务端)
  1. Paper
  2. Folia
  3. Purpur
语言支持
中文(简体)
前置组件
LuckPerms - https://luckperms.net/download
适配版本(Java)
  1. 26.x
  2. 1.21
  3. 1.20
[MD] ## 正文 ### 插件简介 MyVIP 是一个**会员时长管理助手**。它不创建自己的权限组,而是直接对接服务器已有的 **LuckPerms**:你只需告诉它"给谁、哪个组、加多久",它负责**自动计算到期时间**(续费 = 剩余时长 + 新购时长)并把结果写入 LuckPerms 临时组(等价于 `lp user <玩家> parent addtemp <组> <总时长>`),到期由 LuckPerms 自动移除权限。 ### 插件功能描述 - **续费自动叠加**:玩家剩 10 天 mvp,再买 1 个月 → 自动变成 1 个月 10 天,不用等到期重买,也不会因为续费丢失剩余时间 - **只算临时组**:以 LuckPerms 现有临时组剩余为叠加基准;玩家本来就永久拥有该组时会智能提示"已是永久组,本次续费 X",不产生无意义的临时节点 - **加、减、删、查全覆盖**:`give` 授予/续费、`reduce` 扣减时长(减到 0 自动移除会员组)、`remove` 移除、`time` 查询剩余时长 - **控制台 / 游戏内均可执行**:所有命令服务器控制台直接可用,适合后台批量操作 - **全指令 Tab 补全**:自动按输入前缀过滤候选(输入 `v` 只显示 `v` 开头的候选),玩家名 / 组名 / 时长均有补全 - **数据以 LuckPerms 为权威**:通过 LuckPerms API 直接读写,与 `lp` 命令操作结果完全一致,可查询到你手动用 lp 命令添加的所有临时组 - **到期自动失效**:临时组到期由 LuckPerms 自动移除,本插件定时清理本地记录并提醒在线玩家 - **提示美观简洁**:✔/✘ 状态符号、一行式公式反馈(`10分钟 + 5分钟 = 15分钟`) - **配置全面可配置**:所有提示消息、Tab 补全候选、同步开关均可在 config.yml 修改;旧配置升级自动补齐缺失项,无需手动删档 - **原生兼容 Folia**:`folia-supported: true`,所有调度走全局调度器,不卡 TPS ### 目标用户及用途 - 使用 LuckPerms 权限组的 Minecraft 服务器服主 / 管理员 - 有会员 / VIP 售卖、续费业务的商业服务器 - 运行 Folia / DeerFolia 等分区线程核心的服务器(普通 Paper / Purpur 同样支持) ### 支持的版本与服务端核心 - 服务端核心:Paper / Purpur / Folia / DeerFolia(已在 Folia 26.2 环境验证) - Minecraft 版本:1.20+(API 层面兼容) - 前置插件:LuckPerms(必须) ### 是否付费 本插件**完全免费**。 ### 命令列表 | 命令 | 说明 | | --- | --- | | `/myvip give <玩家> <组> <时长>` | 授予 / 续费(剩余时间自动叠加) | | `/myvip reduce <玩家> <组> <时长>` | 扣减时长(减到 0 自动移除会员组) | | `/myvip remove <玩家> <组>` | 移除会员组 | | `/myvip time [玩家] [组]` | 查看剩余时长(可查指定组) | | `/myvip reload` | 重载配置 | 别名:`/vip`、`/member`、`/svip` 时长格式:`1d`(1天)、`30d`(30天)、`1M`(1个月=30天)、`1h`(1小时)、`30m`(30分钟)、`1w`(1周)、`1y`(1年),支持组合如 `1M10d` ### 权限列表 | 权限 | 默认 | 说明 | | --- | --- | --- | | `myvip.admin` | OP | 使用 give / reduce / remove / reload | | `myvip.time` | 所有人 | 查看自己的会员时长 | | `myvip.time.others` | 无 | 查看其他玩家的会员时长 | ### 配置文件 `plugins/myvip/config.yml`: - **settings 段**:`sync-luckperms`(是否同步 LuckPerms)、`check-interval-minutes`(到期检查间隔)、`expire-message`(到期提醒消息,支持 {group})、`log-luckperms-commands`(日志开关)、`notify-player`(操作时是否通知在线玩家本人) - **messages 段**:全部提示消息模板,支持 `&` 颜色代码与占位符 `{player} {group} {duration} {add} {old} {new} {sub} {value}` - **groups.suggestions / durations.suggestions**:Tab 补全候选列表 更新插件后旧配置文件会自动补齐缺失项(自动合并默认配置),无需手动删除重生成。 ### 使用教程 1. 安装 LuckPerms 并确认正常启动 2. 将 `myvip.jar` 放入 `plugins` 目录,重启服务器 3. (可选)编辑 `plugins/myvip/config.yml` 后执行 `/myvip reload` 生效 4. 常用示例: - 给 Steve 开通 1 个月 mvp:`/myvip give Steve mvp 1M` - Steve 剩余 10 天时续费 1 个月:再次执行 `/myvip give Steve mvp 1M` → 自动叠加为 1 个月 10 天 - 扣减 5 天:`/myvip reduce Steve mvp 5d` - 移除会员组:`/myvip remove Steve mvp` - 查询剩余:`/myvip time Steve` 5. 以上全部命令均可在服务器控制台直接执行 ### 工作原理(为什么不会出错) - **读取**:从 LuckPerms API 读取玩家该组临时节点及到期时间;同组多个临时节点取到期最晚者(兼容历史 `addtemp` 残留) - **计算**:续费 = LuckPerms 现有剩余 + 新购时长 - **写入**:通过 LuckPerms API 先清除该组旧临时节点、再写入总时长(避免 `addtemp` 双节点导致权限组只显示旧时长的问题) - 本地 `players.yml` 仅作离线兜底缓存,不是权威数据源 ### 截图 [/MD]
微信图片_2026-09-25_162626_487.webp

qq:746315616

### 更新日志

- **v1.4.1**:配置自动补齐——旧 config.yml 升级自动合并缺失的新配置项,`/myvip reload` 同样生效
- **v1.4.0**:续费判定只算临时组(永久组不参与叠加);本来永久拥有该组的玩家自动提示续费时长;全部提示消息与补全候选可配置
- **v1.3.0**:新增永久组检测——玩家本来就永久拥有该组时提示"本次续费 X(特权长期有效)"
- **v1.2.0**:新增 `reduce` 扣减命令(减到 0 自动移除会员组);提示消息全面美化
- **v1.1.1**:修复 `addtemp` 双节点导致叠加失效的问题,改用 LuckPerms API 直接读写
- **v1.1.0**:接入 LuckPerms API,组名按 LuckPerms 已加载组读取
- **v1.0.1**:全指令 Tab 补全(按前缀过滤)
- **v1.0.0**:基础版本(give / remove / time / reload + config.yml)

[/MD]
  • 喜欢
反馈: Strange_words
作者
MOYAN003
价格
50.00金粒
下载
7
查看
190
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部