OpenComputers 命令
基本信息
| 属性 | 值 |
|---|---|
| 类型 | 指令(command) |
| 服务器命令数 | 8 |
| 客户端命令数 | 1 |
| 注册入口 | server/command/CommandHandler.scala:6-15(FMLServerStartingEvent.registerServerCommand) |
| 客户端入口 | client/CommandHandler.scala:13 |
⚠️ 没有 /oc 或 /opencomputers 这样的总入口命令。 OC 的每条命令都是独立顶层命令,名字以 oc_ 开头。wiki 原有「主命令 /oc / /opencomputers」一行是虚构的。
服务器命令
| 命令 | 别名 | 权限等级 | 参数 | 描述 | 源码 |
|---|---|---|---|---|---|
oc_debugNanomachines |
oc_dn |
2 | — | 调试纳米机械 | DebugNanomachinesCommand.scala:11-12,35 |
oc_nanomachines |
oc_nm |
2 | [player] |
查看纳米机械日志 | LogNanomachinesCommand.scala:11-12,37 |
oc_profileNetwork |
oc_pn |
3 | <boolean> |
开关网络性能分析 | NetworkProfilingCommand.scala:8-9,27 |
oc_preventDisassembling |
oc_nodis、oc_prevdis |
2 | <boolean> |
全局禁止拆卸 | NonDisassemblyAgreementCommand.scala:11-13,47 |
oc_renderWirelessNetwork |
oc_wlan |
2 | <boolean> |
客户端渲染无线网络 | WirelessRenderingCommand.scala:8-9,27 |
oc_spawnComputer |
oc_sc |
2 | — | 在玩家附近生成计算机 | SpawnComputerCommand.scala:19-20,99 |
oc_debugWhitelist |
无 | 0 | — | 调试白名单管理 | DebugWhitelistCommand.scala:8,13 |
oc_sendDebugMessage |
oc_sdbg |
2 | <destinationAddress> [message...] |
向指定地址计算机发调试消息 | SendDebugMessageCommand.scala:9-10,25 |
客户端命令
| 命令 | 权限 | 参数 | 描述 | 源码 |
|---|---|---|---|---|
oc_setclipboard |
0 | <value> |
把字符串写入系统剪贴板 | client/CommandHandler.scala:13-18 |
使用说明
oc_profileNetwork <boolean>
传 true 启用、false 关闭网络性能分析。这是全部 8 条服务器命令里权限要求最高的一条(等级 3,等同 /op 级别)。
oc_preventDisassembling <boolean>
全局开关:是否禁止玩家用扳手拆卸 OC 机器。传 true 保护,启用后所有机器都无法被拆卸。
oc_renderWirelessNetwork <boolean>
客户端视觉效果开关,切换是否绘制无线网络连线。
oc_spawnComputer
在玩家附近生成一台计算机。源码注释给出的 OP 等级参考表见 SpawnComputerCommand.scala:92-96;该命令要求等级 2。
oc_setclipboard <value>
把参数写入系统剪贴板,随后在 OC 的终端 / 屏幕输入框里按住粘贴热键即可注入。粘贴热键见 从剪贴板粘贴。
mod 自身缺陷:权限检查被单人模式绕过
common/command/SimpleCommand.scala:17:
override def canCommandSenderUseCommand(source: ICommandSender) =
super.canCommandSenderUseCommand(source) ||
(MinecraftServer.getServer != null && MinecraftServer.getServer.isSinglePlayer)
getRequiredPermissionLevel 决定的 OP 等级会被 canCommandSenderUseCommand 的第二个分支整体覆盖:只要服务端处于单人模式,任何玩家都能执行全部 8 条服务器命令,包括等级 3 的 oc_profileNetwork 和等级 0 本不该受限的 oc_debugWhitelist。等级设置在多人服务器上才生效。
这是 mod 自身的设计缺陷(权限体系与单人模式豁免冲突),不是 wiki 记录错误。
相关条目
- Drone - 唯一注册的实体
- 专用服务器(server 成就) - 服务器物品
- 引导启动(openOS 成就) - 操作系统
- 从剪贴板粘贴 - 消费
/oc_setclipboard内容的热键
已订正:
- 原「主命令
/oc//opencomputers」—— 源码中不存在。CommandHandler.register只注册 8 个独立顶层命令,没有前缀式父命令。已删除该行。- 原表
/oc_profileNetwork权限写「OP 2」—— 实际getRequiredPermissionLevel = 3(NetworkProfilingCommand.scala:27)。- 原表
/oc_preventDisassembling权限写「OP 0」—— 实际为 2(NonDisassemblyAgreementCommand.scala:47)。- 原表
/oc_debugWhitelist权限写「OP 0/2」—— 实际为 0(DebugWhitelistCommand.scala:13),没有「或 2」这种双档。- 原「权限 | 因子命令而异」是残缺句子(应为「因命令而异」),已改为指向完整权限表。
- 原条目完全没提
/oc_setclipboard之外的 8 条服务器命令的别名与参数签名,已按SimpleCommand(common/command/SimpleCommand.scala:10-15,别名由aliases +=逐条追加)补全。- 原条目遗漏了「客户端命令 vs 服务器命令」的分界(
oc_setclipboard走client/CommandHandler,其余走server/command/CommandHandler),已分开列。- 原条目「与 Server 成就」等跨维度链接混在「相关条目」但未说明关系,已改为说明性描述。