-
📗 绑定传送之书 - 将特定玩家绑定到传送书,快速传送到好友身边
- 支持快速传送模式(无需对方确认)
- 自定义绑定数量限制
- 在线状态实时显示
- 跨服传送支持
-
📕 全局传送之书 - 传送到服务器内任意在线玩家
- 支持跨服玩家列表
- 传送请求系统
- 防骚扰保护
-
📘 家之书 - 管理和传送到你的家点
- 多个家点支持
- 图形化家点管理
- 家点重命名和删除
- 权限分组限制家点数量
-
📙 坐标传送之书 - 传送到指定坐标
- 精确坐标输入
- 安全检查和自动调整
- 费用预览
-
多种消息代理
- BungeeCord/Velocity 插件通道
- Redis 消息代理(推荐大型服务器)
- 集群ID隔离
-
多数据库支持
- SQLite(单服默认)
- MySQL(跨服推荐)
- MariaDB
- PostgreSQL
-
经济系统
- 基于距离的传送费用
- 跨维度额外费用
- 权限组费用折扣
- 免费传送次数系统
-
传送控制
- 传送延迟(Warmup)系统
- 移动/受伤取消传送
- 冷却时间系统
- 权限组差异化配置
-
安全保护
- 传送位置安全检查
- 自动调整到安全位置
- 世界边界检查
- 窒息/岩浆/虚空检测
-
用户体验
- 基于 FancyDialogs 的精美GUI
- 双语支持(中文/英文)
- 声音和标题提示
- ActionBar 消息显示
- 服务器核心: Paper 1.20+ / Purpur 1.20+ / Folia(推荐 Paper)
- Java 版本: Java 17 或更高
- 必需插件: FancyDialogs v0.0.25+
- 可选插件:
- Vault(用于经济系统)
- 经济插件(如 EssentialsX)
-
下载插件
- 从 Releases 下载最新版本
- 确保同时下载
FancyDialogs-x.x.x.jar
-
安装到服务器
# 将插件放入 plugins 文件夹 server/ └── plugins/ ├── FancyDialogs-0.0.25.jar └── TpBook-1.0.0.jar -
重启服务器
# 停止服务器 stop # 启动服务器 # Windows: start.bat # Linux: ./start.sh
-
验证安装
# 在控制台执行 plugins # 应该看到: # [✓] FancyDialogs v0.0.25 # [✓] TpBook v1.0.0
-
配置插件(可选)
- 编辑
plugins/TpBook/config.yml进行个性化配置 - 编辑
plugins/TpBook/lang/zh_CN.yml或en_US.yml自定义消息
- 编辑
# 支持的语言: zh_CN (简体中文), en_US (English)
language: zh_CN
message:
# 消息显示模式: chat (聊天栏) 或 actionbar (快捷栏上方)
display-mode: actionbar单服模式(默认)
database:
type: SQLITE # 使用 SQLite,无需额外配置跨服模式(MySQL)
database:
type: MYSQL
mysql:
host: localhost
port: 3306
database: tpbook
username: root
password: 'your_password'
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000cooldown:
default: 60 # 普通玩家 60 秒
vip: 30 # VIP 玩家 30 秒
svip: 10 # SVIP 玩家 10 秒
admin: 0 # 管理员无冷却warmup:
enabled: true
default: 5 # 普通玩家 5 秒延迟
vip: 3 # VIP 玩家 3 秒
svip: 1 # SVIP 玩家 1 秒
admin: 0 # 管理员无延迟
cancel-on-move: true # 移动取消传送
cancel-on-damage: true # 受伤取消传送
sound-enabled: true # 播放提示音
title-enabled: true # 显示 Titlepay-to-teleport:
enabled: true # 启用付费传送
default:
per-block: 0.1 # 每格 0.1 金币
cross-dimension: 100.0 # 跨维度 100 金币
minimum-cost: 1.0 # 最低 1 金币
maximum-cost: 1000.0 # 最高 1000 金币
vip:
per-block: 0.05 # VIP 享受 50% 折扣
cross-dimension: 50.0
minimum-cost: 0.5
maximum-cost: 500.0safety-check:
enabled: true
check-lava: true # 检查岩浆
check-void: true # 检查虚空
check-suffocation: true # 检查窒息
check-world-border: true # 检查世界边界| 命令 | 描述 | 权限 |
|---|---|---|
/tpbook get |
领取传送书 | tpbook.command.get |
/tpbook info [玩家] |
查看传送书信息 | tpbook.command.info |
/tpbook accept |
接受传送请求 | tpbook.command.accept |
/tpbook deny |
拒绝传送请求 | tpbook.command.deny |
/tpbook acceptbind |
接受绑定请求 | tpbook.command.acceptbind |
/tpbook denybind |
拒绝绑定请求 | tpbook.command.denybind |
/tpbook checkfreetps [玩家] |
查看免费传送次数 | tpbook.command.checkfreetps |
| 命令 | 描述 | 权限 |
|---|---|---|
/tpbook give <玩家> |
给予传送书 | tpbook.command.give |
/tpbook unlock <玩家> <功能> |
解锁功能 | tpbook.command.unlock |
/tpbook lock <玩家> <功能> |
锁定功能 | tpbook.command.lock |
/tpbook setuses <玩家> <功能> <次数> |
设置使用次数 | tpbook.command.setuses |
/tpbook adduses <玩家> <功能> <次数> |
增加使用次数 | tpbook.command.adduses |
/tpbook addfreetps <玩家> <次数> |
增加免费传送次数 | tpbook.command.addfreetps |
/tpbook setfreetps <玩家> <次数> |
设置免费传送次数 | tpbook.command.setfreetps |
/tpbook reload |
重载配置 | tpbook.command.reload |
功能类型: bound, global, home, coord
| 权限 | 描述 | 默认 |
|---|---|---|
tpbook.* |
所有权限 | OP |
tpbook.admin |
管理员权限 | OP |
tpbook.bypass.* |
绕过所有限制 | OP |
| 权限 | 描述 | 默认 |
|---|---|---|
tpbook.feature.* |
解锁所有功能 | false |
tpbook.feature.bound |
解锁绑定传送 | false |
tpbook.feature.global |
解锁全局传送 | false |
tpbook.feature.home |
解锁家传送 | false |
tpbook.feature.coord |
解锁坐标传送 | false |
| 权限 | 冷却时间 | 默认 |
|---|---|---|
tpbook.cooldown.default |
60秒 | true |
tpbook.cooldown.vip |
30秒 | false |
tpbook.cooldown.svip |
10秒 | false |
tpbook.cooldown.admin |
0秒 | OP |
tpbook.bypass.cooldown |
无冷却 | OP |
| 权限 | 延迟时间 | 默认 |
|---|---|---|
tpbook.warmup.default |
5秒 | true |
tpbook.warmup.vip |
3秒 | false |
tpbook.warmup.svip |
1秒 | false |
tpbook.warmup.admin |
0秒 | OP |
| 权限 | 费率 | 默认 |
|---|---|---|
tpbook.cost.default |
0.1/格 | true |
tpbook.cost.vip |
0.05/格 | false |
tpbook.cost.svip |
0.02/格 | false |
tpbook.cost.admin |
免费 | OP |
tpbook.teleport.free |
完全免费 | OP |
家点数量
| 权限 | 数量 | 默认 |
|---|---|---|
tpbook.homes.limit.3 |
3个 | true |
tpbook.homes.limit.5 |
5个 | false |
tpbook.homes.limit.10 |
10个 | false |
tpbook.homes.unlimited |
无限 | OP |
绑定数量
| 权限 | 数量 | 默认 |
|---|---|---|
tpbook.bindings.limit.5 |
5个 | true |
tpbook.bindings.limit.10 |
10个 | false |
tpbook.bindings.limit.20 |
20个 | false |
tpbook.bindings.unlimited |
无限 | OP |
# 玩家领取传送书
/tpbook get
# 管理员给予传送书
/tpbook give PlayerName初次获得的传送书所有功能都是锁定的,需要管理员解锁或玩家自行获得权限。
方式一:权限节点(推荐)
# 在 LuckPerms 或其他权限插件中给予权限
# 给予玩家绑定传送功能
lp user PlayerName permission set tpbook.feature.bound true
# 给予 VIP 组所有传送功能
lp group vip permission set tpbook.feature.* true方式二:管理员命令
# 解锁单个功能
/tpbook unlock PlayerName bound
/tpbook unlock PlayerName home
# 设置使用次数(-1 表示无限)
/tpbook setuses PlayerName bound -1
/tpbook setuses PlayerName home 100-
绑定玩家
- 手持传送书
- 准星对准要绑定的玩家
- 按住
Shift + 右键 - 对方接受后绑定成功
-
传送到绑定玩家
- 手持传送书右键打开菜单
- 点击玩家名称
- 等待对方接受(或使用快速传送模式)
- 传送成功!
-
快速传送模式
- 打开绑定玩家菜单
- 点击 "⚙ 管理"
- 点击 "✓ 请求启用快速传送"
- 对方同意后,以后传送无需确认
-
设置家点
- 手持家之书
- 走到想设为家的位置
左键点击方块或左键点击空气- 输入家点名称
- 家点设置成功!
-
传送到家
- 手持家之书右键打开菜单
- 点击家点名称
- 等待传送延迟
- 传送成功!
-
管理家点
- 打开家之书菜单
- 点击家点旁边的 "管理" 按钮
- 可以重命名或删除家点
- 手持全局传送之书右键
- 查看所有在线玩家(包括跨服)
- 点击玩家发送传送请求
- 等待对方接受
- 传送成功!
- 手持坐标传送之书右键
- 依次输入 X、Y、Z 坐标
- 确认坐标和费用
- 点击 "确认传送"
- 等待传送延迟
- 传送成功!
适用场景: 中小型服务器,简单部署
配置步骤:
-
在每个子服安装插件
# 每个子服的 plugins 文件夹都需要 server1/plugins/TpBook-1.0.0.jar server2/plugins/TpBook-1.0.0.jar server3/plugins/TpBook-1.0.0.jar -
配置 MySQL 数据库(所有子服使用同一个数据库)
# config.yml (所有子服相同配置) cross-server: enabled: true broker-type: PLUGIN_MESSAGE cluster-id: default # 相同集群ID才能通信 database: type: MYSQL mysql: host: mysql.example.com port: 3306 database: tpbook_network username: tpbook password: 'strong_password'
-
配置 server.yml
# 每个子服都需要配置自己的服务器名称 # server1/plugins/TpBook/server.yml server-name: lobby # server2/plugins/TpBook/server.yml server-name: survival # server3/plugins/TpBook/server.yml server-name: creative
-
重启所有服务器
适用场景: 大型服务器群,高并发
优势:
- 更低的延迟
- 更高的性能
- 更可靠的消息传递
配置步骤:
-
安装 Redis 服务器
# Ubuntu/Debian sudo apt install redis-server sudo systemctl start redis # 或使用 Docker docker run -d -p 6379:6379 redis:latest
-
配置插件
# config.yml (所有子服) cross-server: enabled: true broker-type: REDIS # 使用 Redis cluster-id: default redis: host: redis.example.com port: 6379 password: 'your_redis_password' # 如果没设密码则留空 use-ssl: false channel: tpbook database: type: MYSQL mysql: # ... MySQL 配置
-
验证连接
# 在任意子服控制台查看日志 [TpBook] Redis connection established [TpBook] Cross-server mode enabled
如果你有多个独立的服务器群组,可以使用不同的 cluster-id 隔离:
# 生存服务器群组
cluster-id: survival_cluster
# 创造服务器群组
cluster-id: creative_cluster
# 小游戏服务器群组
cluster-id: minigame_cluster-
安装 Vault 和经济插件
- Vault
- 经济插件(如 EssentialsX)
-
启用付费传送
# config.yml pay-to-teleport: enabled: true
-
配置费用
pay-to-teleport: default: per-block: 0.1 # 每格 0.1 金币 cross-dimension: 100.0 # 跨维度固定 100 金币 minimum-cost: 1.0 # 最低费用 maximum-cost: 1000.0 # 最高费用
示例 1: 同维度传送
距离: 1000 格
费率: 0.1 金币/格
费用 = 1000 × 0.1 = 100 金币
示例 2: 跨维度传送
距离: 500 格
费率: 0.1 金币/格
跨维度: 100 金币
费用 = (500 × 0.1) + 100 = 150 金币
示例 3: 最大费用限制
距离: 50000 格
费率: 0.1 金币/格
理论费用 = 50000 × 0.1 = 5000 金币
最大限制 = 1000 金币
实际费用 = 1000 金币 ✓
管理员可以给予玩家免费传送次数:
# 增加 10 次免费传送
/tpbook addfreetps PlayerName 10
# 设置为 50 次
/tpbook setfreetps PlayerName 50
# 查看剩余次数
/tpbook checkfreetps PlayerName使用优先级:
tpbook.teleport.free权限(完全免费)- 免费传送次数(有次数则使用)
- 根据权限组扣费
# ===== 默认玩家 =====
lp group default permission set tpbook.feature.bound true
lp group default permission set tpbook.homes.limit.3 true
lp group default permission set tpbook.bindings.limit.5 true
lp group default permission set tpbook.cooldown.default true
lp group default permission set tpbook.warmup.default true
lp group default permission set tpbook.cost.default true
# ===== VIP 玩家 =====
lp creategroup vip
lp group vip parent set default
lp group vip permission set tpbook.feature.* true
lp group vip permission set tpbook.homes.limit.5 true
lp group vip permission set tpbook.bindings.limit.10 true
lp group vip permission set tpbook.cooldown.vip true
lp group vip permission set tpbook.warmup.vip true
lp group vip permission set tpbook.cost.vip true
# ===== SVIP 玩家 =====
lp creategroup svip
lp group svip parent set vip
lp group svip permission set tpbook.homes.limit.10 true
lp group svip permission set tpbook.bindings.limit.20 true
lp group svip permission set tpbook.cooldown.svip true
lp group svip permission set tpbook.warmup.svip true
lp group svip permission set tpbook.cost.svip true
# ===== 管理员 =====
lp group admin permission set tpbook.* true
lp group admin permission set tpbook.homes.unlimited true
lp group admin permission set tpbook.bindings.unlimited true| 功能 | 默认玩家 | VIP | SVIP | 管理员 |
|---|---|---|---|---|
| 解锁功能 | ||||
| 绑定传送 | ✓ | ✓ | ✓ | ✓ |
| 全局传送 | ✗ | ✓ | ✓ | ✓ |
| 家传送 | ✗ | ✓ | ✓ | ✓ |
| 坐标传送 | ✗ | ✓ | ✓ | ✓ |
| 限制 | ||||
| 家点数量 | 3 | 5 | 10 | 无限 |
| 绑定数量 | 5 | 10 | 20 | 无限 |
| 冷却时间 | 60秒 | 30秒 | 10秒 | 0秒 |
| 传送延迟 | 5秒 | 3秒 | 1秒 | 0秒 |
| 费用 | ||||
| 每格费用 | 0.1 | 0.05 | 0.02 | 免费 |
| 跨维度 | 100 | 50 | 20 | 免费 |
A: 检查以下几点:
- 确保安装了 FancyDialogs 前置插件
- 确保使用 Java 17+
- 确保使用 Paper 1.20+ 核心(不支持 Spigot)
- 查看控制台错误日志
A: 检查配置:
- 所有子服都安装了插件
- 所有子服使用相同的 MySQL 数据库
- 所有子服的
cluster-id必须相同 - 每个子服的
server-name必须不同 - BungeeCord 配置了
ip_forward: true
A:
- 检查是否安装了 Vault 和经济插件
- 检查玩家的权限组(
tpbook.cost.*) - 检查是否有
tpbook.teleport.free权限 - 检查免费传送次数(
/tpbook checkfreetps)
A:
-- 使用 MySQL 客户端
DELETE FROM tpbook_players WHERE player_uuid = 'uuid-here';
DELETE FROM tpbook_homes WHERE owner_uuid = 'uuid-here';
DELETE FROM tpbook_bindings WHERE player_uuid = 'uuid-here';A:
- 使用 Redis 而不是 PLUGIN_MESSAGE
- 使用 MySQL 而不是 SQLite
- 调整数据库连接池大小:
database: mysql: pool: maximum-pool-size: 20 # 根据服务器调整 minimum-idle: 5
- 启用调试模式排查问题:
debug: enabled: true
A: 编辑 plugins/TpBook/lang/zh_CN.yml 或 en_US.yml
# 修改前缀
prefix: "&7[&6我的传送&7]&r "
# 修改传送成功消息
teleport:
success: "&a✓ 传送成功!欢迎来到新世界!"
# 修改书本名称
book:
bound-player-book: "&d我的好友传送书"保存后执行 /tpbook reload 重载配置。
欢迎提交建议: Issues
- QQ: 3323911737
欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
- 使用 Java 17 特性
- 遵循 Google Java Style Guide
- 添加必要的注释
- 编写单元测试
Copyright © 2025 TpBook Team. All Rights Reserved.
本软件及相关文档文件(以下简称"软件")的版权归 TpBook Team 所有。
您可以:
- ✓ 在您的 Minecraft 服务器上使用本软件
- ✓ 修改配置文件以适应您的需求
- ✓ 在服务器内部分享配置经验
您不得:
- ✗ 未经许可修改、反编译或逆向工程本软件
- ✗ 出售、转售或商业化本软件
- ✗ 移除或修改版权声明
- ✗ 在未经授权的情况下重新分发本软件
本软件按"原样"提供,不提供任何明示或暗示的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责。
- FancyDialogs - 提供精美的对话框系统
- Paper - 高性能 Minecraft 服务器核心
- HuskHomes - 传送系统设计参考
- 所有测试人员和反馈者
⭐ 如果这个插件对你有帮助,请给个 Star!⭐