- 支持核心
- Mohist/Spigot/Paper/Purpur
- 原创/转载
- 原创
- 作者
- MistCloud
- 前置
- ArcartX
- 支持版本
- 1.20.1
MistGPS
本插件使用了AI辅助进行开发插件开放测试阶段,如遇到问题,请贴内留言
AI 工具:Cursor
AI 生成部分:基础插件框架、部分辅助函数与样板代码(约 30%-40%)
人工修改:需求设计、核心业务逻辑实现、问题排查修复、性能与兼容性优化(约 60%-70%)
由于插件比较简单,一些东西就交由AI去写了
内容:
- 路线会话与状态流转重构:新增/优化 PathSession 与 PathManager 的推进、完成、取消、跨世界隐藏与恢复逻辑。
- 持久化机制优化:实现内存缓存 + 延迟刷盘,玩家退出/完成/取消等关键节点立即落盘,修复离线会话误删问题。
- 指令系统完善:补全 <span>add/multi/list/status/save/load/delsaved/reload 的权限校验、参数校验、错误反馈与 Tab 补全。
- 反馈系统改造:移除 AX 音乐兼容链路,改为 Bukkit 原版音效,并支持config.yml 可配置。
- PAPI 扩展增强:补充进度、距离、世界一致性、节点文案等占位符并处理空会话/跨世界边界。
- 稳定性与性能修复:修复路点计数不刷新、ax reload 后路标丢失、重进图标丢失等问题,并加入路点保活重发间隔配置
1) 基础前提
- 服务端:Spigot/Paper/Mohist 1.20+
- 依赖:ArcartX 必装
- 可选:PlaceholderAPI(装了才会启用 %mistgps_xxx% 占位符)
1. 插件简介
MistGPS` 是一个多点路径导航插件,支持:
通过命令创建单点/多点导航路线
导航进度显示(如 `1/3`)
玩家退出后未完成路线持久化恢复
到点/完成标题、ActionBar、音效反馈
PlaceholderAPI 占位符输出导航状态
2. 命令说明
主命令:
- `/mistgps`
- `/mistgpt`(与 `mistgps` 相同)
子命令:
- `/mistgps help`
- 查看帮助
- `/mistgps add <x> <y> <z> [到点提示]`
- 追加一个导航点(自己)
- `/mistgps add <玩家名> <x> <y> <z> [到点提示]`
- 给指定玩家追加导航点(需管理权限)
- `/mistgps multi <x y z [msg] : x y z [msg] : ...>`
- 一次性设置多点路线(自己)
- `/mistgps multi <玩家名> <x y z [msg] : ...>`
- 给指定玩家设置多点路线(需管理权限)
- `/mistgps cancel`
- 取消当前导航
- `/mistgps status [玩家名]`
- 查看自己或指定玩家导航状态
- `/mistgps list`
- 查看当前有导航的在线玩家(需管理权限)
- `/mistgps save <名称>`
- 将当前路线保存为命名路线
- `/mistgps load <名称>`
- 加载命名路线
- `/mistgps delsaved <名称>`
- 删除命名路线
- `/mistgps reload`
- 重载配置与语言(需管理权限)
---
3. 权限说明
- `mistgps.use`
- 使用基础导航命令,默认 `true`
- `mistgps.admin`
- 管理功能(给他人设点、list、reload、查看他人状态),默认 `op`
- `mistgps.named`
- 命名路线保存/加载/删除,默认 `true`
4. PlaceholderAPI 占位符
前缀:`mistgps`
示例:`%mistgps_current%`
可用占位符:
- `%mistgps_has_route%`
- `%mistgps_current%`
- `%mistgps_total%`
- `%mistgps_remaining%`
- `%mistgps_current_index%`(同 `%mistgps_index%`)
- `%mistgps_progress%`(同 `%mistgps_progress_percent%`)
- `%mistgps_next_x%` / `%mistgps_next_y%` / `%mistgps_next_z%`
- `%mistgps_next_world%`
- `%mistgps_same_world%`(同 `%mistgps_next_world_same%`)
- `%mistgps_distance%`(两位小数)
- `%mistgps_distance_int%`(整数)
- `%mistgps_next_reach%`(同 `%mistgps_reach%`)
- `%mistgps_next_hud%`(同 `%mistgps_hud%`)
5. 常见问题
1) 路标在 `ax reload` 后消失
- 已支持保活重发,确认 `waypoint-keepalive-interval-ticks` 大于 `0`。
2) 玩家重进后导航没恢复
- 确认 `persist-unfinished-routes: true`。
3) 路线显示跨世界异常
- 检查 `limits.allow-cross-world-waypoints` 配置。
4) 音效没播放
- 确认 `feedback.reach.sound-enabled` 或 `feedback.complete.sound-enabled` 为 `true`,并检查 `sound-bukkit` 名称是否有效。
6. 快速示例
给自己设置 2 点路线:
/mistgps add 25 71 17 测试1`
/mistgps add 25 71 40 测试2
保存并加载:
/mistgps save test_route`
/mistgps load test_route
3) PAPI 占位符(前缀
例如:%mistgps_has_route%- 路线状态:has_route, current, total, remaining, current_index
- 目标点:next_x, next_y, next_z, next_world
- 世界/距离:same_world/next_world_same, distance, distance_int
- 进度:progress/progress_percent
- 文案:next_reach/reach, next_hud/hud