- 版权类型
- 原创
- 插件中文名称
- RPT飞行
- 插件英文名称
- RptFlightEnergy
- 原帖地址
- #
- 支持的核心(服务端)
- Paper
- Folia
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 26.x
- 1.21
关于这个插件
RptFlightEnergy 给服务器装一套飞行能量的账。规则很简单:可用飞行时长 = 每日基础赠送 + 玩家额外购买。
- 每日基础:每天到你配的时刻,自动刷成一份新的基础时长(比如 30 分钟)。
- 额外购买:玩家在界面里花金币或经验等级买时长,买到的永久留存、永不清零。
- 飞行时实时扣减,扣到 0 就立刻关闭飞行、把飞行能力收回。扣减顺序是先扣每日基础、再扣购买时长(对玩家最有利)。
它只对你放进白名单的玩家生效(权限
rptfe.use)—— 没这个权限的玩家,插件一点都不碰。所以你可以把它当成"VIP 专属飞行"用,也可以给全服开。功能说明
1. 能量怎么算、怎么扣
| 项 | 规则 |
| 可用时长 | 每日基础 + 额外购买 |
| 每日基础 | 每天到 reset.daily-at 刷成 flight.daily-base-minutes;当天没用完的作废 |
| 额外购买 | 永久留存,永不清零 |
| 扣减顺序 | 先扣每日基础,再扣购买时长 |
| 扣减频率 | 飞行中每 flight.tick-seconds(默认 1 秒)扣 1 秒 |
- 剩余时长低于
flight.warn-seconds(默认 60 秒)时会提示一次「快用完了」。 - 扣到 0:立刻关闭飞行 + 收回飞行能力,并提示玩家。
2. 飞行中显示剩余时间(Boss 条)
- 只要玩家在飞,屏幕上方就会出现一条 Boss 条,实时显示剩余飞行时间,进度条随剩余量缩短,快见底时一眼就知道该落地了。
- 落地、飞到一半关掉飞行、时长耗尽 —— 条都会自动收起,不占着屏幕。
- 颜色、分段样式、文字都能在
bossbar段配(默认蓝色、分段式)。 - 与聊天提示互补:Boss 条负责"随时可见",聊天栏负责"到点提醒"。
3. 界面:查看与购买
/rptfe menu打开界面(5 行),排布是金币在左、经验在右、开关居中:
YAML:
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ 金币档1 经验档1 ■
■ 金币档2 飞行功能开关 经验档2 ■
■ 金币档3 经验档3 ■
■ ■ ■ ■ 返回 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
- 左列三个金币档位(橙色玻璃板)、右列三个经验档位(青色玻璃板),玻璃板上的数字就是该档的分钟数。
- 中间一格是飞行功能总开关按钮(绿色玻璃 = 已启用 / 灰色玻璃 = 已禁用),点一下就能把"飞行功能"整体禁用或启用;悬停能看到当前状态、可用时长与每日基础/额外购买的明细。禁用后即使还有时长也不能飞(正在飞的话立刻落地),时长不会被扣;这个状态会持久保存,重启服务端后仍然有效。
- ★ 飞行中屏幕上方有一条 Boss 条,实时显示剩余飞行时间,还会随剩余量缩短 —— 不用打指令、不用开菜单,抬头就能看到还剩多久。落地、禁用飞行、时长耗尽都会自动收起。
- 底部中间是**「返回 / 关闭」**(箭矢),点一下关掉界面。
- 鼠标悬停档位看时长与价格,点一下即购买;买完界面会自动刷新,余额立刻更新。
- 界面里所有点击与拖拽都被拦下,图标拿不走。
- ★ 界面的全部配置都在独立文件
gui.yml里(不与运行规则混在一起):用字符矩阵(layout)画格子 —— 空格留空、#填充、A B C…按gui-items顺序对应各档位,decorations放固定装饰格(标题 / 开关按钮 / 返回)。档位图标按货币自动配色(金币橙 / 经验青),也能在每条gui-items里写icon覆盖。想换布局改字符串就行,不用碰代码。
★ 注意:字母是按下单顺序排的 ——gui-items前 3 条是金币档,所以A B C= 金币 1/2/3、D E F= 经验 1/2/3;要调整哪一档在哪个格子,改layout里字母的位置即可。
4. 双货币:金币 / 经验
- 每个档位在配置里自己声明用哪种货币:
| currency | 含义 |
money | 金币,走 Vault 经济 |
exp | 经验等级(就是经验条上的数字,不是经验点) |
- 想两种货币都能买?同一档配两条即可(默认配置里就是这么示范的)。
- 没装 Vault 时:金币档位会直接拒绝购买并提示;经验档位不受影响,照常可用。
5. 权限白名单
- 只有拥有
rptfe.use的玩家进入这套系统:会按他的剩余时长授予 / 收回飞行能力。 - 没有
rptfe.use的玩家,插件完全不碰 —— 不会给他飞行能力,也不会干扰别人给他的飞行。 - 拥有
rptfe.unlimited的玩家永远能飞、不扣时长(适合管理组)。
6. 防卡飞行漏洞
这是本插件最花心思的地方。以下做法都会被自动拉回:| 想钻的空子 | 为什么不行 |
| 退出游戏时正在飞,重进继续飞 | 每秒都在校正;重进后按其真实剩余时长决定能不能飞 |
| 用别的插件 / 指令给自己开飞行 | 每秒校正;只要剩余为 0,飞行能力就会被收回 |
| 切创造模式飞,再切回生存 | 切回生存时立即重新按其剩余时长校正 |
| 跨世界保留飞行状态 | 换世界后立即重新下发飞行能力 |
| 没能量时双击空格起飞 | PlayerToggleFlightEvent 直接拦掉 |
| 死亡重生后白飞 | 重生后立即重新校正 |
实现上就是每秒对每个受管玩家重新算一遍:飞行就扣、为 0 就收、有剩余就重新下发。另外 join / quit / 切游戏模式 / 换世界 / 死亡重生 / 双击起飞都挂了立即校正,不用等下一秒。
支持版本与环境
| 项目 | 说明 |
| Minecraft 版本 | 1.21 ~ 26.3(同一个 jar 跨版本,字节码目标 Java 21) |
| 服务端核心 | Paper、Folia(已声明 folia-supported: true) |
| Java 运行环境 | Java 21 及以上 |
| 前置插件 | 无必装项。Vault 可选 —— 装了才能用金币买,不装则只有经验档位可用 |
| 数据库 | 无外部依赖,使用内嵌 SQLite,不需要 MySQL |
| 编译基线 | dev.folia:folia-api:26.2.build.1-beta |
目标用户
- 想给飞行做经济化的服主 —— 飞行不再是免费特权,而是一种可以赠送、可以购买的资源。
- 想给 VIP 加一项权益的服主 —— 白名单机制天然适合做等级特权。
- 被"玩家偷飞"烦过的服主 —— 每秒校正,外部给飞行也会被收回。
- 正在用 Folia 核心的服主 —— 飞行状态读写全部排在玩家自己的区域线程,不会踩线程归属问题。
是否付费
付费插件。 具体定价与授权方式以资源页「售价」项为准。- 插件不含任何联网校验、授权服务器或机器绑定,购买后安装即用,离线环境照常运行。
- 不区分免费版 / 高级版,买到的就是完整功能(双货币 + 每日基础 + 防卡飞)。
- 插件未做任何混淆,欢迎安全审查。
获取作者帮助
| 途径 | 内容 |
| 交流群 | QQ 群 1124248111 |
| 作者 QQ | 2221899680 |
| 游戏内 | 输入 /rptfe help 查看全部指令与说明 |
使用教程
安装
- (可选)想支持金币购买就装好 Vault + 一个经济插件;只用经验购买则不需要。
- 把
RptFlightEnergy-1.0.0.jar放进服务端plugins/目录。 - 重启服务端(换 jar / 新装插件不支持热加载)。
- 首次启动会生成
plugins/RptFlightEnergy/下的config.yml(运行规则)+gui.yml(界面)+flight.db(数据)。 - 改完
config.yml或gui.yml执行/rptfe reload生效,不需要重启服务端。 - 记得把要享受飞行的玩家放进白名单:给他们
rptfe.use权限。
指令列表
| 指令 | 权限 | 说明 |
/rptfe menu | rptfe.use | 打开飞行能量界面 / 购买时长 |
/rptfe time | rptfe.use | 查看自己的剩余飞行时长(基础 / 购买 / 合计) |
/rptfe time <玩家> | rptfe.admin | 查看某人的剩余飞行时长 |
/rptfe give <玩家> <分钟> | rptfe.admin | 给某人赠送飞行时长(永久留存) |
/rptfe help | 免权限 | 显示指令帮助 |
/rptfe reload | rptfe.admin | 重载 config.yml 与 gui.yml |
权限节点
| 权限 | 默认值 | 说明 |
rptfe.use | 仅 OP | 白名单:受飞行能量管理的玩家(有它才会被授予飞行能力并消耗时长) |
rptfe.unlimited | 仅 OP | 无限飞行(不消耗时长,也不会被强制关闭) |
rptfe.admin | 仅 OP | 给他人赠送时长 / 查看他人时长 / 重载 |
主要配置项
config.yml(运行规则)| 配置项 | 默认值 | 说明 |
storage.database-file | flight.db | SQLite 数据文件名 |
flight.daily-base-minutes | 30 | 每日基础赠送时长(分钟);当天没用完作废 |
flight.tick-seconds | 1 | 每秒检测一次飞行并扣减(不建议改大) |
flight.warn-seconds | 60 | 剩余低于多少秒时提示「快用完了」;0 = 不提示 |
flight.notify-cooldown-seconds | 10 | 提示冷却,避免刷屏 |
reset.daily-at | "00:00" | 每日基础刷新时刻(支持非 0 点,如 04:00) |
gui.yml(界面)| 配置项 | 默认值 | 说明 |
title / rows | 见默认文件 / 5 | 界面标题 / 行数 1~6 |
layout | 见默认文件 | 界面排布(字符矩阵):空格留空 / # 填充 / A B C… 对应 gui-items 第 1/2/3… 档;不写则按每个档位自己的 slot 摆放 |
decorations.<键> | 见默认文件 | 固定装饰格(分类标题 / 飞行功能开关 / 返回):用 symbol(对应 layout 字符)或 slot 定位;action: close 点击即关闭,action: toggle 点击禁用/启用飞行功能 |
filler | 白玻璃板 | 填充物(enabled / material / name) |
info | 见默认文件 | 旧版信息牌配置(写了 layout 时以 decorations.state 为准,此段作兜底) |
item-lore | 见默认文件 | 购买档位的说明模板(<minutes>``<price>``<currency>) |
bossbar.enabled | true | 飞行中是否在屏幕上方显示剩余时长 Boss 条 |
bossbar.title | 见默认文件 | 条上的文字(<time> = 剩余时长) |
bossbar.color | BLUE | 条的颜色(PINK/BLUE/RED/GREEN/YELLOW/PURPLE/WHITE) |
bossbar.overlay | PROGRESS | 条的分段样式(PROGRESS/NOTCHED_6/NOTCHED_10/NOTCHED_12/NOTCHED_20) |
bossbar.capacity-seconds | 0 | 进度条"满格"参照秒数;0 = 用每日基础时长 |
gui-items | 6 个示例档位 | 可购买的档位列表(前 3 个金币、后 3 个经验) |
档位字段(
gui.yml 的 gui-items 列表里每一项):| 字段 | 说明 |
minutes | 购买的飞行时长(分钟,必填) |
currency | money(金币,走 Vault)或 exp(经验等级),必填 |
price | 价格(金币是金额,经验是等级数),必填 |
icon | 图标材质(可选)。不写则按货币自动选玻璃板:money → 橙色玻璃板、exp → 青色玻璃板 |
name | 条目名称(MiniMessage) |
slot | 可选:只在没写 layout 时生效(按格号摆放)。写了 layout 就按 layout 里 A B C… 的顺序排 |
常见问题
- 玩家飞不起来? 先确认他有
rptfe.use(白名单),并且剩余时长 > 0。 - 玩家能飞但时长不掉? 三种可能:他是创造/旁观模式(本插件不管)、他有
rptfe.unlimited、或者他不在白名单里(本插件不碰)。 - 每日基础没用完会攒到明天吗? 不会,当天没用完就作废(这正是"每日赠送"的含义)。但购买时长不清零,会一直留着。
- 经验扣的是等级还是经验点? 等级(经验条上方那个数字)。想改成按点数扣,需要自己二次开发。
- 扣减顺序是什么? 先扣每日基础,再扣购买时长 —— 对玩家最有利。
- 为什么是每秒扣?能更细吗?
flight.tick-seconds可配,但默认 1 秒已经很细,不建议再小。 - 玩家退游戏能保住飞行状态吗? 不能,重进会按真实剩余时长重新判定 —— 这是防漏洞的一部分。
- Boss 条什么时候显示? 只在玩家真正飞行中显示;落地、禁用飞行、时长耗尽都会自动收起。不想要就把
gui.yml里的bossbar.enabled设false。 - Boss 条满了/一直是满的? 进度条长度按
gui.yml的bossbar.capacity-seconds算,0= 用每日基础时长。想让它一直满格就写个很大的数(例如86400)。 - 菜单中心那个按钮是干什么的? 是飞行功能总开关:点一下把"飞行功能"整体禁用 / 启用(绿玻璃 = 已启用、灰玻璃 = 已禁用)。禁用后即使还有剩余时长也不能飞(正在飞的话立刻落地),时长不会被扣;这个状态会持久保存,重启服务端后仍然有效。
- 为什么要禁用飞行功能? 比如玩家自己想省着用、或者只想在特定时段飞 —— 关掉就不会误触发扣时长,随时点回来即可。
- 禁用了会不会掉时长? 不会。禁用期间时长原封不动,重新启用后接着用。
- 和别的飞行插件冲突吗? 只对
rptfe.use白名单内的玩家生效,白名单外的玩家本插件一点不碰。 - 数据在哪、怎么备份?
plugins/RptFlightEnergy/flight.db,复制该文件即可备份全部剩余时长与飞行功能开关状态。
声明
- 本插件为原创作品,保留所有权利,默认不允许转载与整合。如需转载或整合进服务端整合包,请先通过上方交流群或作者 QQ 联系获取授权。
- 本插件未使用任何混淆手段,欢迎安全审查。
- 本插件不含任何后门、病毒或远程控制代码,不含任何联网校验,所有数据仅保存在服务器本地
plugins/RptFlightEnergy/目录中。