Appearance
指令详解
文档版本:基于 2026-06-01 代码分析
概述
本文档提供 /nfa 指令树中所有指令的完整详细说明:语法、参数、权限、实现类、执行逻辑和反馈消息格式。
权限体系和指令树结构见 指令总览。本文专注每个指令的操作级细节。
指令总数约 100 个独立指令(NfaCommand.java 作为根入口注册 6 个一级分支)。
1. reload
/nfa reload| 属性 | 值 |
|---|---|
| 权限 | GAME_ADMIN_OR_CB |
| 类 | NfaReloadCommand |
| 参数 | 无 |
| 执行 | ConfigManager.reloadCommon() → ConfigManager.reloadServer() → LogFilterBootstrap.reloadNow() |
| 反馈 | info(source, "配置已重新加载") |
2. permission set
/nfa permission set <target> <level>| 属性 | 值 |
|---|---|
| 权限 | PERMISSION_SET(特殊规则) |
| 类 | PermissionSetCommand |
| 参数 | target: EntityArgument.player();level: StringArgument(建议值: master_admin / game_admin / player) |
| 执行 | NfaPermissionService.setPermission(server, uuid, level, caller) → 成功则 PacketDistributor.sendToPlayer(target, SyncPermissionLevelPayload) |
| 反馈 | info(source, "已将 <displayName> 的权限设置为 <level>") |
| 限制 | 设置新主控时旧主控自动降级 GAME_ADMIN |
3. phone 系列
| 指令 | 权限 | 类 | 参数 | 执行 | 反馈 |
|---|---|---|---|---|---|
phone hand_id | PLAYER_ONLY | PhoneHandIdCommand | 无 | 读取主手 NFA_PHONE_ID 组件 | 显示 phoneId |
phone rate <value> | PLAYER_ONLY | PhoneRateCommand | int | 设置手机UI比例 | "手机UI高度率已设为..." |
phone clean <target> | GAME_ADMIN_OR_CB | PhoneCleanCommand | 玩家 | 清空目标手机注册数据 | "已清空..." |
phone clear_call_history | GAME_ADMIN_OR_CB | PhoneClearCallHistoryCommand | 无 | 清空全部通话记录 | "已清空..." |
phone list <target> | GAME_ADMIN_PLAYER_ONLY | PhoneListCommand | 玩家 | 列出目标名下所有手机ID | 逐行列表 |
phone del <target> <phone_id> | GAME_ADMIN_OR_CB | PhoneDelCommand | 玩家 + 字符串 | 删除指定手机注册 | "已删除..." |
4. basic 系列(游戏流程控制)
| 指令 | 权限 | 类 | 参数 | 执行 |
|---|---|---|---|---|
basic start | MASTER_OR_CB | BasicStartCommand | 无 | RfmGameSessionManager.startGame(server) |
basic pause | MASTER_OR_CB | BasicPauseCommand | 无 | RfmGameSessionManager.pauseGame(server) |
basic resume | MASTER_OR_CB | BasicResumeCommand | 无 | RfmGameSessionManager.resumeGame(server) |
basic stop | MASTER_OR_CB | BasicStopCommand | 无 | RfmGameSessionManager.terminateGame(server) |
所有反馈使用 info/warn/error(source, text, ALL) 全服广播。
5. test ring
| 指令 | 权限 | 类 | 参数 | 执行 |
|---|---|---|---|---|
test ring start | MASTER_OR_CB | TestRingCommand | 无 | PhoneServerSoundScheduler.startTypeOneTestLoop(server) |
test ring stop | MASTER_OR_CB | TestRingCommand | 无 | PhoneServerSoundScheduler.stopTypeOneTestLoop() |
6. rfm 系列(核心游戏管理,按功能分组)
6.1 游戏控制
| 指令 | 权限 | 类 | 参数 | 执行 | 反馈 |
|---|---|---|---|---|---|
rfm manager | GAME_ADMIN_PLAYER_ONLY | RfmManagerCommand | 无 | 发送 OpenRfmManagerPanelPayload | 打开中控面板 |
rfm hub mode world|local | MASTER_PLAYER_ONLY | RfmHubModeCommand | 字面量 | 切换 HUD 坐标模式 | — |
rfm hub set | MASTER_PLAYER_ONLY | RfmHubSetCommand | 无 | 设置本地坐标中心为当前站立位置 | — |
rfm prison | GAME_ADMIN_PLAYER_ONLY | RfmPrisonCommand | 无 | 将当前站立位置设置为监狱坐标 | — |
6.2 金币
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm coin rate <value> | MASTER_OR_CB | RfmCoinRateCommand | int(50/100/200/500) | 设置逃走币每秒产出率 |
rfm coin clear all|<targets> | MASTER_OR_CB | RfmCoinClearCommand | 目标选择器 | 清零指定玩家本轮逃走币 |
rfm coin add <targets> <value> | MASTER_OR_CB | RfmCoinAddCommand | 玩家集 + int | 增加逃走币总额(总币+回合币) |
rfm coin sub <targets> <value> | MASTER_OR_CB | RfmCoinSubCommand | 玩家集 + int | 减少逃走币总额 |
rfm coin set <targets> <value> | MASTER_OR_CB | RfmCoinSetCommand | 玩家集 + int | 设置逃走币总额 |
rfm coin clear_total <targets> | MASTER_OR_CB | RfmCoinClearTotalCommand | 玩家集 | 清零总逃走币 |
云存储子命令:
| 指令 | 类 | 说明 |
|---|---|---|
rfm coin storage status | RfmCoinStorageStatusCommand | 显示云数据库连接状态和模式 |
rfm coin storage enable | RfmCoinStorageEnableCommand | 启用云模式(需先设置完整参数) |
rfm coin storage disable | RfmCoinStorageDisableCommand | 切回本地模式 |
rfm coin storage sethost <host> | RfmCoinStorageSetHostCommand | 设置数据库主机 |
rfm coin storage setport <port> | RfmCoinStorageSetPortCommand | 设置数据库端口 |
rfm coin storage setuser <username> | RfmCoinStorageSetUsernameCommand | 设置数据库用户名(加密存储) |
rfm coin storage setpass <password> | RfmCoinStorageSetPasswordCommand | 设置数据库密码(加密存储) |
rfm coin storage sync up|down|now | RfmCoinStorageSyncCommand | 同步方向 |
所有 coin 子命令权限均为
MASTER_OR_CB。
6.3 猎人箱
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm box place a|a2 <pos> [facing] [minutes] | GAME_ADMIN_OR_CB | RfmBoxPlaceCommand | BlockPos + 可选朝向 + 可选分钟 | 放置 3 格高猎人箱结构 |
rfm box time set <pos> <minutes> | GAME_ADMIN_OR_CB | RfmBoxTimeCommand | BlockPos + int | 设置 A2 猎人箱释放时间 |
rfm box time clear <pos> | GAME_ADMIN_OR_CB | RfmBoxTimeCommand | BlockPos | 清除 A2 猎人箱释放时间 |
rfm boxlock set <pos> <locked> | GAME_ADMIN_OR_CB | RfmBoxLockSetCommand | BlockPos + bool | 设置猎人箱 A 锁定状态 |
rfm boxlock clear all|<targets> | GAME_ADMIN_OR_CB | RfmBoxLockClearCommand | 玩家集 | 清空封锁卡使用记录 |
6.4 回合管理
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm round resurrect [start|stop] | MASTER_OR_CB | RfmRoundResurrectCommand | 可选字面量 | 第一类复活环节 |
rfm round resurrect_special [start|stop] | MASTER_OR_CB | RfmRoundSpecialResurrectCommand | 可选字面量 | 第二类特殊复活(自动冻结倒计时) |
rfm round resurrect_device [start|stop|target] | MASTER_OR_CB | RfmRoundHunterDeviceCommand | 可选字面量/int | 猎人装置复活 |
rfm round countdown_freeze start | MASTER_OR_CB | RfmRoundCountdownFreezeStartCommand | 无 | 手动冻结倒计时 |
rfm round countdown_freeze stop | MASTER_OR_CB | RfmRoundCountdownFreezeStopCommand | 无 | 手动解冻倒计时 |
6.5 侦测方块
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm detect start | MASTER_OR_CB | RfmDetectStartCommand | 无 | 快照 + 激活侦测 |
rfm detect stop | MASTER_OR_CB | RfmDetectStopCommand | 无 | 停用侦测 |
rfm detect range <value> | MASTER_OR_CB | RfmDetectRangeCommand | int(1-512) | 设置基础范围 |
rfm detect status | MASTER_OR_CB | RfmDetectStatusCommand | 无 | 查看状态 |
rfm detect destroy <pos> | MASTER_OR_CB | RfmDetectDestroyCommand | BlockPos | 破坏侦测方块(+3 范围) |
6.6 警报
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm alarm list add <targets> [confirm] | MASTER_OR_CB | RfmAlarmListCommand | 玩家集 + 可选确认字面量 | 添加玩家(@a 全选需 confirm) |
rfm alarm list delete <targets> | MASTER_OR_CB | RfmAlarmListCommand | 玩家集 | 从列表移除 |
rfm alarm list clear | MASTER_OR_CB | RfmAlarmListCommand | 无 | 清空警报列表 |
rfm alarm start <minutes> <seconds> | MASTER_OR_CB | RfmAlarmStartCommand | int + int | 启动响铃(0-120 分钟) |
rfm alarm stop | MASTER_OR_CB | RfmAlarmStopCommand | 无 | 停止并清空列表 |
6.7 追踪
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm track list add <targets> | MASTER_OR_CB | RfmTrackListCommand | 玩家集 | 添加到追踪列表 |
rfm track list delete <targets> | MASTER_OR_CB | RfmTrackListCommand | 玩家集 | 从追踪列表移除 |
rfm track list clear | MASTER_OR_CB | RfmTrackListCommand | 无 | 清空追踪列表 |
6.8 猎人出生点
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm hunterspawn list add | MASTER_OR_CB | RfmHunterSpawnListAddCommand | 无 | 添加当前站立位置 |
rfm hunterspawn list delete <index> | MASTER_OR_CB | RfmHunterSpawnListDeleteCommand | int | 按索引删除 |
rfm hunterspawn list show | MASTER_OR_CB | RfmHunterSpawnListShowCommand | 无 | 粒子效果展示所有出生点 |
rfm hunterspawn list clear | MASTER_OR_CB | RfmHunterSpawnListClearCommand | 无 | 清空出生点列表 |
rfm hunterspawn start | MASTER_OR_CB | RfmHunterSpawnStartCommand | 无 | 启用随机出生模式 |
rfm hunterspawn stop | MASTER_OR_CB | RfmHunterSpawnStopCommand | 无 | 禁用随机出生模式 |
6.9 猎人管理
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm huntertype <targets> [type] | GAME_ADMIN_PLAYER_ONLY* | RfmHunterTypeCommand | 玩家集 + 可选字面量(invisible/clear) | 不传 type → 查询;传 type → 设置 |
rfm hunterentity a spawn <count> [pos] | MASTER_OR_CB | RfmHunterEntitySpawnCommand | int + 可选 BlockPos | 生成 A 型猎人 |
rfm hunterentity a areagen <x1> <y1> <z1> <x2> <y2> <z2> <dir> | MASTER_OR_CB | RfmHunterEntityAreaGenCommand | 6个int + 字面量 | 区域内批量生成 |
rfm hunterentity a start | MASTER_OR_CB | RfmHunterEntityStartCommand | 无 | 激活全部 AI |
rfm hunterentity a pause | MASTER_OR_CB | RfmHunterEntityPauseCommand | 无 | 暂停全部 AI |
rfm hunterentity a destroy [count] | MASTER_OR_CB | RfmHunterEntityDestroyCommand | 可选 int | 销毁指定数量 |
rfm hunterentity b ... | MASTER_OR_CB | RfmHunterEntityB*Command 等 | 同 A 型 | B 型指令结构相同 |
*:写操作内部二次检查 MASTER_ADMIN
6.10 身份与状态
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm resurrect <targets> | MASTER_OR_CB | RfmResurrectCommand | 记分板名(带建议) | 复活逃走者 |
rfm abstain <target> | MASTER_OR_CB | RfmAbstainCommand | 玩家 | 设目标弃权 + 传送监狱 |
rfm identity <targets> [identity] [state] | GAME_ADMIN_PLAYER_ONLY* | RfmIdentityCommand | 玩家集 + 可选身份 + 可选子状态 | 查询/设置身份 |
rfm identity cancapture <targets> [value] | GAME_ADMIN_PLAYER_ONLY* | RfmIdentityCommand | 玩家集 + 可选 bool | 查询/设置抓捕权限 |
rfm identity canbecaptured <targets> [value] | GAME_ADMIN_PLAYER_ONLY* | RfmIdentityCommand | 玩家集 + 可选 bool | 查询/设置被抓权限 |
*:写操作内部二次检查 MASTER_ADMIN
identity 参数值:
identity:runner/hunter/npcstate(Runner):alive/out/abstained/traitor_locked/traitor_unlockedstate(Hunter):catchable/locked
6.11 叛节者
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm traitor set <targets> | MASTER_OR_CB | RfmTraitorCommand | 玩家集 | 设为叛节者 |
rfm traitor clear <targets> | MASTER_OR_CB | RfmTraitorCommand | 玩家集 | 取消叛节 |
rfm traitor eliminate <targets> | MASTER_OR_CB | RfmTraitorCommand | 玩家集 | 手动淘汰叛节者 |
rfm traitor unlock <targets> | MASTER_OR_CB | RfmTraitorCommand | 玩家集 | 解锁叛节者抓捕 |
6.12 标题打字机
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm titlewriter start <targets> <file_id> <group> | MASTER_OR_CB | RfmTitleWriterStartCommand | 玩家集 + 字符串 + int(带建议) | 播放打字机标题动画 |
rfm titlewriter stop <targets> | MASTER_OR_CB | RfmTitleWriterStopCommand | 玩家集 | 停止打字机标题 |
6.13 结对
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm pairing mode off|coin|life | MASTER_OR_CB | RfmPairingModeCommand | 字面量 | 设置结对模式 |
rfm pairing a <target> | MASTER_OR_CB | RfmPairingACommand | 玩家 | 设置 A 槽位(B 已填则自动完成结对) |
rfm pairing b <target> | MASTER_OR_CB | RfmPairingBCommand | 玩家 | 设置 B 槽位(A 已填则自动完成结对) |
6.14 通知
| 指令 | 权限 | 类 | 参数 | 说明 |
|---|---|---|---|---|
rfm notice clear | MASTER_OR_CB | RfmNoticeCommand | 无 | 清空全部手机通知 |
反馈消息系统
所有指令反馈通过 NfaCommandMessages 输出,格式为 [NFA] <消息文本>,使用彩色文本组件(不使用颜色代码):
| 方法 | 颜色 | 默认目标 | 格式 |
|---|---|---|---|
info(source, text) | 绿色 | ALL_ADMINS | [NFA] text |
warn(source, text) | 黄色 | ALL_ADMINS | [NFA] text |
error(source, text) | 红色 | ALL_ADMINS | [NFA] text |
目标可通过第三个参数覆盖:
| 枚举值 | 行为 |
|---|---|
SELF | 仅发送给执行者 |
ALL_ADMINS | 发送给执行者 + 所有在线 >= GAME_ADMIN 权限的玩家(即管理员及以上) |
ALL | 发送给所有在线玩家 |
注意事项
- basic 指令全服广播:start/pause/resume/stop 的消息目标为 ALL,全服可见
- @a 全选需 confirm:alarm list add 和部分指令对全选操作要求追加 confirm 参数
- 命令方块无条件通过:所有包含
_OR_CB的谓词对命令方块返回通过 - 写操作双重守卫:identity 和 huntertype 的写操作执行前二次检查 MASTER_ADMIN
- 不使用 sendCommandFeedback:所有指令反馈绕过
sendCommandFeedback游戏规则,直接向聊天栏输出