飞行命令功能文档
功能概述
飞行命令是 EsbpmPlugin 提供的核心功能之一,允许玩家在游戏中切换飞行状态。此功能特别适用于需要在生存模式下提供便捷移动方式的服务器。
配置项
飞行功能的配置位于插件配置文件 plugins/EsbpmPlugin/config.yml 中的 flight 部分:
yaml
# 飞行设置
flight:
# 是否允许在生存模式下飞行
allow-in-survival: true配置说明
- flight.allow-in-survival:设置为
true时,允许玩家在生存模式下使用飞行命令;设置为false时,即使玩家拥有权限,也无法在生存模式下飞行
命令使用
命令格式
/fly命令效果
- 当玩家执行
/fly命令时,系统会检查玩家当前状态和配置 - 如果条件满足,玩家的飞行状态将被切换(开启或关闭)
- 命令执行成功后,玩家会收到相应的提示消息
使用条件与限制
飞行命令的使用受到以下条件和限制:
- 权限要求:玩家必须拥有
esbpm.fly权限(默认所有玩家都拥有) - 游戏模式限制:
- 在创造模式和旁观模式下,此命令无效,因为这些模式下已经允许飞行
- 在生存模式下,需要配置文件中
flight.allow-in-survival设为true
- 服务器规则:服务器管理员可能会通过配置调整飞行功能的可用性
技术实现细节
飞行状态管理
- 插件使用
HashSet<UUID>存储当前正在飞行的玩家的唯一标识符 - 当玩家执行
/fly命令时,系统会检查玩家是否已在飞行列表中 - 如果在列表中,系统会移除玩家并禁用飞行;如果不在列表中,系统会添加玩家并启用飞行
事件处理
- 玩家加入事件:玩家加入服务器时,不会自动恢复之前的飞行状态
- 玩家离开事件:玩家离开服务器时,系统会从飞行列表中移除该玩家,确保下次加入时飞行状态重置
- 世界切换事件:玩家在不同世界间切换时,飞行状态会保持,但速度效果会重新应用
最佳实践
- 权限管理:对于需要限制飞行权限的服务器,可以通过权限插件修改
esbpm.fly权限的分配 - 平衡考虑:在生存模式服务器中启用飞行功能时,请注意维持游戏平衡性
- 配置建议:
- 对于生存服务器,可考虑设置
allow-in-survival: false或仅向特定玩家组授予飞行权限 - 对于创造或建筑服务器,建议设置
allow-in-survival: true方便玩家移动
- 对于生存服务器,可考虑设置
常见问题
Q: 为什么我在生存模式下无法使用飞行命令? A: 请确认配置文件中 flight.allow-in-survival 是否设置为 true,以及您是否拥有 esbpm.fly 权限。
Q: 为什么我重新加入服务器后飞行状态会重置? A: 这是插件的设计,为了保持服务器平衡和防止滥用,玩家离开时飞行状态会自动取消。
Q: 如何让特定玩家能够在任何模式下飞行? A: 除了确保 esbpm.fly 权限外,在创造和旁观模式下,玩家本身就可以飞行,无需额外设置。