关于这个插件
RptHome 是一套全图形界面的家园系统。玩家输入一条指令打开界面,接下来所有事都在界面里用鼠标完成 —— 存点、回家、改名、删除、更新位置,一个指令都不用记。每个家园格子的鼠标悬停提示里就写着能怎么点,玩家自己就能看明白。
它跟同类插件最大的差别在传送前会先检查落点:不检查的话,玩家把家园设在岩浆边上、或者过了一阵子家园被别的玩家挖空了,传送过去就是直接摔死或掉进岩浆 —— 这种工单最后还是要服主来处理。RptHome 会先看脚下有没有踩实、身体两格能不能站、是不是泡在水或岩浆里,不安全就上下各找 8 格找最近的安全点;实在都没有,就拒绝传送并告诉玩家原因(而不是把人扔过去)。
功能说明
1. 一个界面,管全部操作
输入/rpth(或 /rpthome)打开家园界面。界面里:你想干的事 | 怎么点 |
| 传送回家 | 左键 那个家园格子 |
| 重命名 | 右键 那个家园格子 |
| 更新到当前位置 | Shift + 左键 那个家园格子 |
| 删除 | Shift + 右键,5 秒内再点一次确认 |
| 新建家园 | 点底部的「+ 新建家园」按钮 |
- ★ 这四种点击方式直接写在每个家园格子的说明(lore)里 —— 玩家把鼠标停上去就看到,不用去翻教程、也不用记指令。
- 格子里还显示它的世界名与坐标,一眼知道家在哪。
- 界面底部有一个「+ 新建家园」按钮,旁边显示「当前 2 / 3」;左下角可选一块「家园概览」信息牌(已用数量 / 上限 / 可提升上限的权限档位)。
- 删除有二次确认:第一次 Shift+右键只会提示「再点一次确认删除 家」,5 秒内再点一次才真删 —— 不会手滑删掉。
- 界面里所有点击与拖拽都被拦下,图标拿不走、也塞不进东西。
2. 新建与命名
- 点「+ 新建家园」→ 界面关闭 → 聊天栏提示「请在聊天栏输入新家园的名字」→ 打一句话回车即可;输入
cancel或取消放弃。 - ★ 输入的名字绝对不会发出去:插件用了两道保险(取消聊天事件 + 清空该消息的收件人列表),所以这句话不会出现在任何人的聊天栏、连你自己也看不到,也不会进控制台日志。
- 名字支持中文:默认规则是「中文 / 英文 / 数字 / 下划线,最多 16 个字」,可在
homes.name-regex里改。 - 子命令名(
reload/help)默认被保留,不能拿来当家园名;保留名单可在homes.blocked-names里改。 - 等待输入有超时(
gui.input-timeout-seconds,默认 60 秒),超时作废,不会一直等着把你后面正常聊天的话吃掉。
3. 传送前安全校验
判定一个落点安全的条件(全部满足才算安全):| 条件 | 说明 |
| 脚下是实心方块 | 不会悬空掉落 |
| 身体两格可通行 | 不会卡在方块里 |
| 不泡在液体里 | 水和岩浆默认都算不安全(allow-water / allow-lava 可分别放行) |
| 不是危险方块 | 岩浆 / 火 / 灵魂火 / 岩浆块 / 仙人掌 / 甜浆果丛 / 细雪 / 营火 / 滴水石锥 / 凋灵玫瑰 / 蜘蛛网 / 下界传送门 / 末地传送门 / 末地折跃门 / 幽匿尖啸体 / 幽匿感测体 / 校准幽匿感测体 |
- 原落点不安全时,会在目标点上下各
vertical-search(默认 8)格内找最近的安全点,找到就用它。 - 都没找到 → 取消传送并提示「落点不安全(岩浆 / 水 / 悬空等)」。
- 整套可以关掉(
teleport.safety.enabled: false),关掉后就是原样落点。
4. 跨世界 · 冷却 · 费用
- 跨世界:
teleport.cross-world: true时可以在任意世界之间传送;关掉则跨世界传送会被拒绝并提示。跨世界用的是teleportAsync,在 Folia 这种区域多线程核心上不会踩线程归属问题。 - 冷却:
teleport.cooldown-seconds(默认 5 秒),每个玩家独立计时,0= 不限制;拥有rpth.bypass.cooldown的玩家无视。 - 费用走 Vault(软依赖):
| 配置项 | 默认 | 说明 |
economy.set-cost | 100.0 | 新建 / 覆盖 / 更新位置的花费;0 = 免费 |
economy.teleport-cost | 10.0 | 每次传送的花费;0 = 免费 |
economy.enabled | true | 总开关 |
- 服务端没装 Vault(或装了但没有经济插件)时,费用功能自动失效,家园照常可用 —— 不会因为缺经济而报错或加载失败。拥有
rpth.free的玩家免费。 - ★ 扣费发生在安全校验之后:落点不安全时一分钱都不会扣。
5. 数量上限按权限分组
- 默认每人 3 个(
homes.default-max)。 - 拥有以下任一权限的玩家,上限按最高那一档算:
| 权限 | 上限 |
rpth.limit.10 | 10 |
rpth.limit.25 | 25 |
rpth.limit.50 | 50 |
rpth.limit.100 | 100 |
- 典型用法:普通玩家默认 3 个、VIP 组
rpth.limit.25、管理组rpth.limit.100。 - 上限满了还点「新建」会提示「你的家园数量已达上限(3),请先删除一个」,并且不会被扣费。
6. 数据存储
- 家园数据存在插件自带的 SQLite(
plugins/RptHome/homes.db),不需要 MySQL;驱动已打进 jar,零外部依赖。 - 写入策略:改动先落内存、再异步把该玩家的记录整段写回数据库;关服时在独立线程里做一次阻塞收尾,避免在主线程上做文件 IO。
支持版本与环境
| 项目 | 说明 |
| Minecraft 版本 | 1.21 ~ 26.3(同一个 jar 跨版本,字节码目标 Java 21) |
| 服务端核心 | Paper、Folia(已声明 folia-supported: true) |
| Java 运行环境 | Java 21 及以上 |
| 前置插件 | Vault(可选)。装了才有费用功能,没装则费用自动失效,家园照常可用(softdepend) |
| 数据库 | 无外部依赖,使用内嵌 SQLite,不需要 MySQL |
| 编译基线 | dev.folia:folia-api:26.2.build.1-beta |
目标用户
- 不想再手动帮玩家设传送点的服主 —— 打开界面点几下就完事,玩家根本不需要学指令。
- 玩家群体对指令不熟悉的服主 —— 全 GUI,操作提示就写在格子说明里,新人零门槛。
- 正在用 Folia 核心的服主 —— 传送类插件在 Folia 上最容易踩线程问题(尤其是"读目标点方块"这一步),本插件从设计上就双端兼容。
- 被"传到岩浆里摔死"投诉过的服主 —— 传送前安全校验是本插件的核心功能。
是否付费
付费插件。 具体定价与授权方式以资源页「售价」项为准。- 插件不含任何联网校验、授权服务器或机器绑定,购买后安装即用,离线环境照常运行。
- 不区分免费版 / 高级版,买到的就是完整功能。
- 插件未做任何混淆,欢迎安全审查。
获取作者帮助
途径 | 内容 |
| 交流群 | QQ 群 1124248111 |
| 作者 QQ | 2221899680 |
| 游戏内 | 输入 /rpth help 查看说明 |
使用教程
安装
- 把
RptHome-1.0.0.jar放进服务端plugins/目录。 - (可选)想要收费就装好 Vault 与一个经济插件;不装则费用功能自动关闭。
- 重启服务端(换 jar / 新装插件不支持热加载)。
- 首次启动会生成
plugins/RptHome/config.yml与homes.db,默认配置开箱可用。 - 按需修改
config.yml,然后执行/rpth reload生效,不需要重启服务端。
指令列表
★ 家园的全部操作都在界面里,所以这里只有三条:| 指令 | 权限 | 说明 |
/rpth | rpth.use | 打开家园界面(所有操作都在界面里) |
/rpth help | 免权限 | 显示指令帮助 |
/rpth reload | rpth.admin | 重载 config.yml |
权限节点
| 权限 | 默认值 | 说明 |
rpth.use | 仅 OP | 打开家园界面并使用全部功能 |
rpth.admin | 仅 OP | 重载配置 |
rpth.free | 仅 OP | 新建与传送不收费 |
rpth.bypass.cooldown | 仅 OP | 无视传送冷却 |
rpth.limit.10 | 仅 OP | 家园上限提升到 10 |
rpth.limit.25 | 仅 OP | 家园上限提升到 25 |
rpth.limit.50 | 仅 OP | 家园上限提升到 50 |
rpth.limit.100 | 仅 OP | 家园上限提升到 100 |
主要配置项(config.yml)
| 配置项 | 默认值 | 说明 |
storage.database-file | homes.db | SQLite 数据文件名 |
homes.default-max | 3 | 默认家园数量上限 |
homes.name-regex | 中文/英文/数字/下划线,1~16 位 | 家园名允许的字符规则 |
homes.blocked-names | 子命令名 | 禁止用作家园名的名字 |
gui.title / gui.rows | 见默认文件 / 6 | 界面标题 / 行数 1~6 |
gui.home-icon | ENDER_PEARL | 家园格子的图标 |
gui.home-name / gui.home-lore | 见默认文件 | 家园格子的名称 / 说明(操作提示就在 lore 里) |
gui.new-home.slot / .material / .name / .lore | 见默认文件 | 「+ 新建家园」按钮的槽位与外观 |
gui.info.slot | 45 | 「家园概览」信息牌槽位;-1 = 不显示 |
gui.input-timeout-seconds | 60 | 等玩家在聊天栏输入名字的超时(秒) |
gui.delete-confirm-seconds | 5 | 删除二次确认的有效期(秒) |
teleport.cross-world | true | 是否允许跨世界传送 |
teleport.cooldown-seconds | 5 | 传送冷却(秒,0 = 不限制) |
teleport.safety.enabled | true | 是否做传送前安全校验 |
teleport.safety.vertical-search | 8 | 寻找安全落点的上下搜索范围 |
teleport.safety.allow-water / .allow-lava | false | 是否允许落在水里 / 岩浆里 |
economy.enabled | true | 费用总开关 |
economy.set-cost / .teleport-cost | 100.0 / 10.0 | 设置家园 / 传送的费用 |
messages.* | 见默认文件 | 全部提示文案,支持 MiniMessage |
常见问题
- 玩家不会用怎么办? 不用教 —— 打开界面把鼠标停在家园格子上,说明里就写着「左键传送 / 右键重命名 / Shift+左键更新位置 / Shift+右键删除」。
- 为什么不是
/home? 因为/home通常已经被 Essentials / 其他传送插件占用,强行注册会互相覆盖。本插件用/rpth(别名/rpthome)。 - 输入名字的时候会被别人看到吗? 不会。插件会把那条消息的事件取消并清空收件人,所以既不会广播、也不会进控制台日志,连玩家自己也看不到。
- 点「新建」之后没输入,会怎样? 60 秒(可配)后自动作废;这期间你正常聊天不会被当成名字(只有你主动进过输入流程才会有影响,且随时可以打
cancel取消)。 - 手滑删错了怎么办? 删除有二次确认(5 秒内再点一次才真删)。已经删掉的无法撤销 —— 只能重新站过去新建。
- 提示「落点不安全」传不过去? 家园点后来被改变了(被挖空、灌了水、边上成了岩浆)。站过去用 Shift+左键「更新到当前位置」 重新存一次即可;也可以调大
teleport.safety.vertical-search。 - 服务器没装 Vault,能用吗? 能。费用功能会自动关闭(等于全免费),家园功能完全不受影响。
- 怎么给玩家更多家园? 授予
rpth.limit.25之类的权限节点,上限自动跟着涨(取最高档)。 - 上限满了会扣费吗? 不会 —— 上限检查在扣费之前,直接提示「已达上限」就返回了。
- 能关掉跨世界传送吗? 能,
teleport.cross-world: false。 - 数据在哪、怎么备份?
plugins/RptHome/homes.db。备份时连-wal/-shm一起复制更稳妥。
声明
- 本插件为原创作品,保留所有权利,默认不允许转载与整合。如需转载或整合进服务端整合包,请先通过上方交流群或作者 QQ 联系获取授权。
- 本插件未使用任何混淆手段,欢迎安全审查。
- 本插件不含任何后门、病毒或远程控制代码,不含任何联网校验,所有数据仅保存在服务器本地
plugins/RptHome/目录中。