MeowMenu 一款现代化的高性能菜单

原生 MeowMenu 一款现代化的高性能菜单 26.40.1

完成注册/登录后下载
版权类型
原创
版权链接
#
Wiki/文档
https://github.com/Ieckseyr/MeowMenu
前置组件
可选前置
HologramLib https://github.com/Ieckseyr/HologramLib
MeowPAPI https://www.minebbs.com/resources/meowpapi-papi.17017/
[MD] # MeowMenu BDS / LeviLamina 服务器菜单插件(C++ 实现,替代早期 JS 版 —— 旧版见 `legacy-js` 分支)。 菜单数据与早期 JS 版格式兼容,可直接沿用 `Meowdata/MeowMenu/data/*.json`。 ## 功能 - **表单菜单**:LeviLamina Form API 渲染,每菜单可独立配置 DogeUI 标识符前缀 - **NPC 对话菜单**:菜单可呈现为原版 NPC 对话框(多层级、逐层进入/返回、超过 6 个按钮自动分页) - **箱子界面**:菜单可呈现为虚拟容器(物品格 = 按钮,翻页/进子菜单就地刷新,无延迟无闪烁) - **触发物品**:手持指定物品右键打开菜单;主菜单的"钥匙"(默认钟)进服自动发放一次 - **自定义触发**:LSE / 其它插件可注册"某物品 → 某菜单"的绑定 - **游戏内编辑器**:`/mmenu admin` 可视化增删改菜单、按钮、图标、分级、触发物品 - **玩家界面偏好**:玩家可用 `/mmenu ui` 自选喜欢的呈现方式(表单 / NPC 对话 / 箱子) - **RemoteCall 导出**:全部能力经 RemoteCall 暴露给 LSE(Node.js)与其它插件,见 [API.md](./API.md) - **迁移导入**:自动识别并导入 PMenu / CMENU / CD 旧新格式的菜单文件 - **玩家进服发放记录**:发放成功即记账(`players.json`),之后进服直接跳过,失败自动重试 ## 环境要求 - BDS **1.26.40**(协议 2168)+ **LeviLamina 26.40** - **LegacyRemoteCall**(RemoteCall API) - **HologramLib 26.40.8+**(可选前置)—— NPC 对话菜单 / 箱子界面 / NPC 生成需要;缺失时本插件照常加载,仅这几项功能禁用 - 变量翻译(`%name%` / `{name}` / `{player}`)内置,无需额外安装 ## 安装 把 `MeowMenu.dll` 与 `manifest.json` 放进 `plugins/MeowMenu/`,重启服务器。 首次启动会在 `Meowdata/MeowMenu/` 生成默认配置与主菜单。 ## 命令 | 命令 | 权限 | 说明 | |------|------|------| | `/mmenu` | 所有玩家 | 打开主菜单 | | `/mmenu ui [样式]` | 所有玩家 | 选择界面样式:`auto`(跟随菜单)/ `form` / `npc` / `chest` | | `/mmenu mode` | 所有玩家 | `/mmenu ui` 的兼容别名 | | `/mmenu admin` | OP | 打开菜单编辑器 | | `/mmenu reload` | OP | 热重载配置与菜单数据 | | `/mmgv` | 所有玩家 | 获取菜单触发物品 | | `/clearmmenu` | 所有玩家 | 清除自己的菜单触发物品 | | `/mnpc status / list / open / close` | 所有玩家 | NPC 菜单连接状态 / 绑定列表 / 打开 / 关闭 | | `/mnpc test / spawn / bind / remove / reload` | OP | 测试 NPC / 生成绑定 NPC / 修改绑定 / 重载重建 | ## 数据目录(`Meowdata/MeowMenu/`) | 文件 | 说明 | |------|------| | `config.json` | 全局配置(触发物品、进服发放、菜单分级默认值、消息文案) | | `data/<菜单id>.json` | 菜单数据(标题/内容/按钮/分级/触发物品/NPC 模式/界面样式) | | `players.json` | 玩家进服发放记录(`firstJoin` / `menuGiven` / `menuGivenAt`) | | `item_triggers.json` | LSE 注册的自定义物品触发绑定 | | `player_ui.json` | 玩家自选的界面样式偏好 | | `npc_menus.json` | 已生成菜单 NPC 的位置/绑定/皮肤快照 | | `migrations/` | 外部格式菜单文件投放目录(启动时自动导入,成功者移入 `done/`) | ## 菜单数据要点 ```jsonc { "id": "main", "title": "§l§b服务器菜单", "content": "欢迎来到服务器!", "level": 1, // 1 = 一级菜单(可被触发物品打开), 2 = 二级菜单(只能从别的菜单进入) "triggerItem": { "type": "minecraft:compass", "displayName": "商店菜单" }, "renderMode": "default", // default(表单) / npc(NPC 对话) / chest(箱子) "npc": { "enabled": false, "name": "", "dialogue": "", "avatarType": "", "avatarVariant": -1 }, "buttons": [ { "text": "开始游戏", "type": "command", "value": "say hi" }, { "text": "子菜单", "type": "submenu", "value": "shop" }, { "text": "标题行", "type": "header" } ] } ``` - **按钮类型**:`command` / `admin_command` / `submenu` / `admin_submenu` / `folder` / `npc_menu`(NPC 对话形态打开)/ `npc_spawn`(生成可右键打开的 NPC)/ `header` / `label` / `divider` / `spacer` - **触发物品**:`triggerItem.type` 按**物品类型**匹配(不看 NBT),只有一级菜单生效; 主菜单的触发物品由 `config.json` 的 `triggerItem` 决定(默认钟,进服发放一次) - **头像/载体**:`npc.avatarType` 换载体实体类型(如 `minecraft:zombie`)、 `npc.avatarVariant` 换 NPC 内置皮肤变体(0..59) ## 文档 - API文档详情见github ## 构建 ```bash xmake build MeowMenu ``` 产物在 `build/windows/x64/release/`(`bin/` 为打包输出)。 图标库 `src/embedded_texture_path.h` 已随源码提供,开箱即可构建; 需重新生成时运行 `gen_texture_path_embed.ps1`。 [/MD]
作者
伊希娅
下载
3
查看
145
首次发布
最后更新

评分

0.00 星 0 次评分

伊希娅 的其他资源

后退
顶部 底部