常见问题
有没有做 X 事情的命令?
可能有。CMI 9.2.x 版本有约 300 个命令,很可能已经存在。
不想创建工单或等待回复?使用 **/cmi checkcommand [关键词]** 搜索相关命令。
玩家可以使用命令?怎么回事?
默认玩家没有任何命令权限。你需要为每个命令定义权限节点。所需权限节点可以通过悬停在错误消息上或查看控制台输出来获取。如果悬停看不到缺失权限,说明你缺少 cmi.permisiononerror 权限(默认已授予所有人,可能是你特别移除了)。
默认格式:cmi.command.[命令名],例如 cmi.command.heal
如何从 Essentials 转换旧玩家数据?
从 Essentials 迁移到 CMI 时可使用专用命令导入玩家信息,不需要安装 Essentials 插件:
- home — 导入家位置
- nick — 导入玩家昵称
- logoutlocation — 导入最后登出位置
- money — 导入玩家余额
- mail — 导入玩家邮件
- warp — 导入传送点
可同时使用多个变量或全部:/cmi importfrom essentials home warp nick logoutlocation money mail
处理速度约每秒 200 个用户,会有进度反馈消息。
如果要使用旧的 worth.yml 文件,直接复制到 CMI 文件夹即可。
如何使用短命令?
默认只有少量命令启用了别名。要启用短命令有两个选项:
通过 alias.yml 启用: 在 alias.yml 中找到想要的别名,设置 /heal: true。
创建自定义别名: 使用游戏内命令 /cmi aliaseditor:
1. 一行创建:/cmi aliaseditor new heal-cmi heal $1 创建 /heal 命令
2. 点击聊天中的 + 号 → 输入 heal → 回车 → 再点 + → 输入 cmi heal $1 → 回车
变量说明:
- $1 — 替换第一个参数(如 /heal Zrips → /cmi heal Zrips)
- $2 $1 — 交换参数顺序(/tps Zrips Zhax → /cmi tp Zhax Zrips)
- $1- — 替换某位置后的所有参数(/ms Zrips Hello World! → /cmi msg Zrips Hello World!)
如何重置特定字段或整个数据库?
使用 /cmi resetfields [列名] (-w:[世界名]) (-p:[玩家名]) 可重置特定列。
新服务器想删除所有数据?MySQL 删除 CMI 表,SQLite 重命名文件。无法删除 MySQL 表时,修改配置中的表前缀即可创建新表。
玩家卡在飞行模式?
玩家换世界或重登后仍在飞行?尝试:
在 eventcommands.yml 中添加加入事件和传送事件的命令:
perm:cmi.command.fly@! check:%cmi_user_gamemode%==Survival! asConsole! cmi fly [playerName] false -s
另一个方案是检查 config.yml 的 WorldLimits 设置,确保玩家/组没有通配符或 OP 权限(可能授予 .bypass 权限节点)。