Skip to content

飞行命令功能文档

功能概述

飞行命令是 EsbpmPlugin 提供的核心功能之一,允许玩家在游戏中切换飞行状态。此功能特别适用于需要在生存模式下提供便捷移动方式的服务器。

配置项

飞行功能的配置位于插件配置文件 plugins/EsbpmPlugin/config.yml 中的 flight 部分:

yaml
# 飞行设置
flight:
  # 是否允许在生存模式下飞行
  allow-in-survival: true

配置说明

  • flight.allow-in-survival:设置为 true 时,允许玩家在生存模式下使用飞行命令;设置为 false 时,即使玩家拥有权限,也无法在生存模式下飞行

命令使用

命令格式

/fly

命令效果

  • 当玩家执行 /fly 命令时,系统会检查玩家当前状态和配置
  • 如果条件满足,玩家的飞行状态将被切换(开启或关闭)
  • 命令执行成功后,玩家会收到相应的提示消息

使用条件与限制

飞行命令的使用受到以下条件和限制:

  1. 权限要求:玩家必须拥有 esbpm.fly 权限(默认所有玩家都拥有)
  2. 游戏模式限制
    • 在创造模式和旁观模式下,此命令无效,因为这些模式下已经允许飞行
    • 在生存模式下,需要配置文件中 flight.allow-in-survival 设为 true
  3. 服务器规则:服务器管理员可能会通过配置调整飞行功能的可用性

技术实现细节

飞行状态管理

  • 插件使用 HashSet<UUID> 存储当前正在飞行的玩家的唯一标识符
  • 当玩家执行 /fly 命令时,系统会检查玩家是否已在飞行列表中
  • 如果在列表中,系统会移除玩家并禁用飞行;如果不在列表中,系统会添加玩家并启用飞行

事件处理

  • 玩家加入事件:玩家加入服务器时,不会自动恢复之前的飞行状态
  • 玩家离开事件:玩家离开服务器时,系统会从飞行列表中移除该玩家,确保下次加入时飞行状态重置
  • 世界切换事件:玩家在不同世界间切换时,飞行状态会保持,但速度效果会重新应用

最佳实践

  1. 权限管理:对于需要限制飞行权限的服务器,可以通过权限插件修改 esbpm.fly 权限的分配
  2. 平衡考虑:在生存模式服务器中启用飞行功能时,请注意维持游戏平衡性
  3. 配置建议
    • 对于生存服务器,可考虑设置 allow-in-survival: false 或仅向特定玩家组授予飞行权限
    • 对于创造或建筑服务器,建议设置 allow-in-survival: true 方便玩家移动

常见问题

Q: 为什么我在生存模式下无法使用飞行命令? A: 请确认配置文件中 flight.allow-in-survival 是否设置为 true,以及您是否拥有 esbpm.fly 权限。

Q: 为什么我重新加入服务器后飞行状态会重置? A: 这是插件的设计,为了保持服务器平衡和防止滥用,玩家离开时飞行状态会自动取消。

Q: 如何让特定玩家能够在任何模式下飞行? A: 除了确保 esbpm.fly 权限外,在创造和旁观模式下,玩家本身就可以飞行,无需额外设置。