Skip to content
iPlugin

配置迁移

保留菜单 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 与 MySQL SQL;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