💡注意
此插件已停止开发。它仍存在一些错误,但应能在 1.18 版本的服务器上相对稳定地运行。欢迎任何人在 GitHub 上 Fork 其代码仓库并制作重生版本。
SMP Spectator Mode 插件让玩家可以充分利用旁观者模式的所有优势,无论是拍摄新建筑的电影镜头,还是检查刷怪塔。与原版旁观者模式不同,SMP Spectator 具有以下特点:
🎮核心特性
- 安全传送:当你从生存模式切换到旁观者模式后,会传送回切换前的位置,防止利用此能力传送到其他玩家身边。
- 状态保留:在游戏模式切换时,保留所有药水效果(包括凋零效果)以及当前的气泡数量。
- 夜视效果:在旁观者模式下自动获得夜视效果。
- 管理员控制:
- 可设置玩家在旁观者模式下不能低于的 Y 轴高度。
- 可禁止玩家穿墙。
- 可设置插件生效的世界黑名单。
- 可禁止使用旁观者模式物品栏的传送功能。
- 完整状态保存:几乎完整保留玩家切换到旁观者模式前的全部游戏状态。
🔧使用方法
/s:在旁观者模式与生存模式之间切换。/s enable:启用插件。/s disable:禁用插件。/s reload:重新加载配置文件。/s effect:开关旁观者模式下的夜视效果和潮涌核心效果。
✨权限节点
- **
smpspectator.***:授予所有权限。 smpspectator.use:允许使用 /s 命令。smpspectator.enable:允许通过 /s 命令启用或禁用旁观者模式。smpspectator.speed:允许在旁观者模式下更改飞行速度。smpspectator.bypass:允许绕过 Y 轴高度和方块穿行限制。smpspectator.force:允许强制其他玩家进入或退出旁观者模式。smpspectator.toggle:允许使用 /seffect 命令。smpspectator.reload:允许重新加载配置文件。
快速权限配置
若希望所有玩家无需权限插件即可使用 /s、/speed 和 /seffect 命令,可将以下内容设置为你的 permissions.yml 文件:
server.basics:
description: Default permission for the server
default: true
children:
# /s
smpspectator.use: true
# /seffect
smpspectator.toggle: true
❓更多信息
- 配置文件:查看默认的
config.yml,请访问插件文档或 GitHub 页面。 - 功能建议:欢迎在此处提交新功能建议!
- 安装要求:安装此插件需要 Bukkit。具体安装说明可在此处找到。
- 问题反馈:请在此处报告 Bug。
- 参与开发:欢迎在 GitHub 上帮助我们。
- 版本支持:1.17 以下版本可能不受支持。
SMP Spectator 插件配置说明
SMP Spectator 是一款用于管理玩家旁观者模式的插件,通过丰富的配置选项,你可以自定义旁观者模式的启用条件、限制规则以及相关提示信息。以下是对 config.yml 配置文件的详细说明。
💡核心功能开关
- enabled: 插件总开关。设为
true 以启用旁观者模式(/s enable 命令可以覆盖此设置)。 - night-vision: 玩家在旁观者模式下是否获得夜视效果。
- conduit: 玩家在旁观者模式下是否获得潮涌核心效果。
- teleport-back: 玩家在旁观者模式下重新登录时,是否传送回原位置。
- update-checker: 是否启用更新检查器,以显示新版本或已是最新版本的信息。
- debug: 是否启用调试日志。
🎮世界与移动限制
世界限制
- enforce-worlds: 是否启用世界限制。设为
true` 后,旁观者模式仅在指定世界内可用。 - worlds-allowed: 允许使用旁观者模式的世界名称列表。例如:
[world, world_nether, world_the_end]。
高度与距离限制
- enforce-y: 是否启用最低高度限制。设为
true 后,玩家在旁观者模式下无法低于指定 Y 坐标。 - y-level: 最低允许的 Y 坐标值(双精度浮点数)。
- enforce-distance: 是否启用最大移动距离限制。拥有
smpspectator.bypass 权限的玩家可绕过此限制。 - distance: 允许玩家在旁观者模式下移动的最大距离(整数,单位:方块)。
- enforce-world-border: 是否阻止玩家在旁观者模式下越过世界边界。
穿墙限制
- disallow-non-transparent-blocks: 是否禁止玩家穿过非透明方块。
- disallow-all-blocks: 是否禁止玩家穿过所有方块。
- disallowed-blocks: 禁止穿过的特定方块 ID 列表。
- bubble-size: 玩家靠近方块的判定距离(整数,百分比)。用于配合
disallow-all-blocks,可根据服务器延迟调整。
🔧进入与退出条件
健康与状态
- minimum-health: 玩家执行
/s 命令进入旁观者模式所需的最低生命值。设为 0 则无限制。 - closest-hostile: 敌对生物接近距离限制(整数,单位:方块)。如果范围内有敌对生物,则不允许进入旁观者模式。设为
0 则关闭此功能。 - prevent-falling: 是否禁止玩家在下落时进入旁观者模式。
- stand-still-ticks: 玩家执行命令后需要保持静止的时长(整数,单位:游戏刻)。设为
0 则无需静止。
时间与模式监控
- spectator-ticks: 玩家在旁观者模式下允许停留的最长时间(整数,单位:游戏刻)。
-1 表示无限制。 - watch-gamemode: 当其他插件或命令改变处于旁观者模式的玩家的游戏模式时,是否移除旁观者效果。
- only-spectating-no-free-movement: 是否只允许玩家附身旁观实体,禁止自由移动。
✨集成与杂项
命令与交互
- prevent-teleport: 是否禁止玩家使用旁观者模式的传送热键。
- bad-commands: 在旁观者模式下,除非拥有
smpspectator.bypass 权限,否则无法执行的命令列表。例如:[back, return, home, homes, tpaccept, tpyes, warp, warps]。 - detach-leads: 玩家进入旁观者模式时,是否自动解除其拴绳。
- mobs: 是否处理与生物相关的功能。如果服务器有卡顿问题,建议关闭此项。
消息与隐身
- disable-switching-message: 是否隐藏游戏模式切换的提示信息。
- silence-survival-mode-message-on-join: 如果服务器将玩家切回生存模式,玩家加入时是否不显示生存模式提示信息。
- supervanish-hook: 是否在玩家进入旁观者模式时使其隐身(与 SuperVanish 插件联动)。启用后,玩家退出旁观者模式时将自动解除隐身。如果玩家通过
/gamemode 命令进入旁观者模式时不想触发隐身,请将 watch-gamemode 设为 false。
⭐消息自定义
所有消息均支持颜色代码(使用 & 符号)。在消息前添加 /actionbar/ 可使其显示在动作栏而非聊天栏。
- spectator-mode-message: 切换到旁观者模式时的提示。
- survival-mode-message: 切换到生存模式时的提示。
- falling-message: 玩家在下落时尝试执行命令的错误提示。
- world-message: 玩家在未授权世界尝试执行命令的错误提示。
- health-message: 玩家生命值低于要求时的错误提示。
- disabled-message: 旁观者模式被禁用时执行命令的提示。
- disable-message: 旁观者模式被禁用时的广播消息。
- enable-message: 旁观者模式被启用时的广播消息。
- reload-message: 重载配置文件时的提示。
- invalid-player-message: 尝试强制一个无效玩家进入旁观者模式时的错误提示。
- force-success: 成功强制玩家进入旁观者模式时的提示。
/target/ 将被替换为目标玩家名。 - no-spectator-message: 玩家未处于旁观者模式时尝试使用
/s 效果的提示。 - bad-command-message: 玩家在旁观者模式下尝试执行禁用命令时的提示。
- not-in-state-message: 玩家未使用
/s 命令进入旁观者模式时,尝试使用 /s 的提示。 - mob-too-close-message: 玩家因附近有敌对生物而无法进入旁观者模式的提示。
- unallowed-teleport-message: 玩家尝试进行未允许的传送时的提示。
- y-level-limit-message: 玩家低于最低高度限制时的提示。
- stand-still-message: 要求玩家保持静止的提示。
- moved-message: 玩家移动导致旁观者模式被取消的提示。
- times-up-message: 玩家旁观者模式时间耗尽,被切回生存模式的提示。