配置迁移
保留菜单 ID,逐项整理配置位置、打开入口、动作与主配置行为。
Invero 不提供把其他菜单插件配置自动转换成可运行菜单的命令。迁移时保留需要继续使用的菜单 ID,分别整理窗口、面板、动作和打开入口,不把原文件改个扩展名就当作完成。
旧 Invero 配置
保留 ID 与结构
顶层 id 省略时使用文件名去掉最后扩展名,移动目录不加分类前缀。要改文件名而保持 /invero menu open <ID> 与旧跳转有效,先在原文件顶层明确填写原 ID,见文件目录。
单面板简写仍可使用,不必仅为统一外观而重写整个菜单。整理时遵守两个边界:
- 没有
menu对象时,顶层title、rows、virtual、type、hide-player-inventory、override-player-inventory可作为窗口简写。已经写了menu时,将窗口字段全部放到它下面,不依赖顶层同名字段补入。 - 已经使用
panels/panel时,将布局与图标写在对应面板中;不要再期待顶层layout、icons自动合并进已有面板。
打开入口与权限
| 原有写法或预期 | 迁移处理 |
|---|---|
binding / activator / activators | 都可作为菜单顶层 bindings 的别名 |
commands / cmd / cmds | 都能作为 bindings.command 别名,定义可合并注册 |
items、chats、ady | 能读取但事件不触发,分别改为 item、chat、adyeshach |
给绑定命令填写 permission | 只约束该命令;共同打开条件移到 events.pre_open |
| 将管理员权限交给普通玩家打开菜单 | 改用绑定命令或交互入口;主命令权限也会开放其管理与诊断分支 |
| 把某个入口变量当作始终存在 | 只在对应入口使用,或显式传值;命令参数不输入且无 default 时不会提供变量 |
参数字段、所有别名与限制见菜单打开入口;独立命令和主命令分支的权限不同,见命令与权限。
主配置与全局节点
把旧主配置中需要保留的值逐项写回 plugins/Invero/config.yml,然后完整重启,不是执行菜单重载。
Workspaces.paths与GlobalNodes.paths必须显式保留要使用的路径;删掉字段得到空列表,不会自动回到随附目录。- 需要 TOML 菜单时保留包含
toml的Workspaces.filter。HOCON 用.conf;.hocon不是实际 HOCON 格式识别入口。 - 全局节点直接放入
GlobalNodes.paths的目录中,顶层使用nodes,每个节点写成对象;不会递归扫描或自动监听。priority使用精确的menu-first或global-first。 - 标题开关读
Menu.enable-raw-title-in-vanilla-inventory,不是Patch下同名字段;Menu.default-name-color与Menu.default-lore-color不生效,颜色写进文字本身。 - 数据库只实现
SQLITE与 MySQLSQL;MONGODB不会连接 MongoDB。SQL 必须填写自己的连接信息与非空表名;切换存储类型不会自动迁移数据。 - 随附 Paste 选择
lucko,省略service-type却会回退到pastegg。Pastebin 使用自己的密钥,不复制其他配置中的凭据。
实际省略行为与示例占位值见主配置。
其他插件的点击命令
将原来放在物品下的点击命令改为图标的 action。玩家身份执行:
action: 'command "spawn" as player'控制台身份执行:
action: 'command "say @p 打开了菜单" as console'上例玩家身份执行 spawn,控制台执行的 say 中 @p 替换为点击玩家名。命令字符串不带开头 /;原插件的 [player]、[console] 动作前缀不能原样沿用。身份关键字还支持 op / operator、console / server,连接词支持 as / by / with;省略身份时以玩家执行。OP 身份仅在执行期间临时设置,执行后恢复原状态。玩家和 OP 身份下 @sender 替换为玩家名;控制台身份下 @sender 为 console、@p 为点击玩家名。具体动作见点击动作。
需要沿用上一个菜单的变量时,用 menu switch <ID> 或 menu open_ctx <ID>,而不是普通 menu open <ID>。显式传值使用 with '键=值;键=值',JSON 对象形式当前不能按预期传入。
配置对应关系
| 功能 | Invero 配置与行为 |
|---|---|
| 物品名称与描述 | name 与 lore,可放在 display 中;不由主配置默认颜色字段补色 |
| 附魔与发光 | enchantments 与 glow;等级必须是整数 |
| 左右键等点击类型 | action 下的 left、right 等 |
| 每次点击都执行的动作 | def;它会和对应点击类型一起执行,不是其他类型都未匹配时才执行 |
| 打开条件 | events.pre_open,适用于各种打开入口 |
| 分类与内容翻页 | pages 或生成器配合 page;页码索引从 0 开始,见翻页指南 |
| 条件外观与点击许可 | 外观用 sub,许可放点击条件中;见状态指南 |
| 旧插件物品来源 ID | 根据实际来源配置 source / value,不是所有来源名都支持图标顶层简写 |
| 可点击、悬停聊天 | fmsg 或 mmsg,不是图标 action 的同一种配置 |
| 保存玩家数据 | player@ 前缀,或持久化语句的个人范围;见持久数据 |
| 输入后返回菜单 | 成功可用 reopen;取消由 onCancel 明确处理 |
对照完成后先执行 /invero menu reload,用 menu list 核对 ID,再分别用原命令、交互入口和菜单跳转打开。全局节点另用 /invero gnode reload;它会先清空旧定义,不能当成菜单重载的附带动作。发现旧效果还存在时,按问题排查确认新文件是否真正加载成功。
Last updated on