• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
MeowFloatingText-调用DebugShape-Protocol的高性能悬浮字系统

LSE MeowFloatingText-调用DebugShape-Protocol的高性能悬浮字系统 1.0.3

完成注册/登录后下载
版权类型
原创
版权链接
#
前置组件
DebugShape-Protocol https://www.minebbs.com/resources/debugshape-protocol.16859/
适配版本(基岩)
  1. 全版本
[MD] # MeowFloatingText 悬浮字插件 基于 DebugShape-Protocol API 的悬浮字插件,使用 TextShape 实现一个完整文本一个对象的高效渲染。 ## 功能特性 - 使用 TextShape API,一个完整文本一个对象(非每字一个框) - 支持 Minecraft 颜色代码(§ 代码) - 支持多行文本 - 持久化存储,服务器重启自动恢复 - 兼容旧格式配置(staticTexts / dynamicTexts) - 提供表单 UI 和命令行两种管理方式 - 提供 API 供其他插件调用 ## 命令 | 命令 | 别名 | 权限 | 说明 | |------|------|------|------| | `/mft` | `/meowft` | GameMasters | 打开主菜单 | | `/mftcreate` | - | GameMasters | 在当前位置创建悬浮字 | | `/mftlist` | - | GameMasters | 列出所有悬浮字 | | `/mftreload` | - | GameMasters | 重新加载所有悬浮字 | | `/mftdelete <名称>` | - | GameMasters | 删除指定悬浮字 | | `/mfttp <名称>` | - | GameMasters | 传送到指定悬浮字 | ## 配置文件 配置文件路径: `./Meowdata/MeowFloatingText/floating_texts.json` ### 新格式(推荐) ```json { "texts": [ { "name": "spawn_welcome", "x": 100.5, "y": 64.0, "z": -200.5, "dimId": 0, "enabled": true, "lineSpacing": 0.3, "lines": [ { "text": "§l§b欢迎来到服务器", "colorMode": "custom", "color": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 1.0 }, "scale": 1.0 }, { "text": "§7当前在线: §e%online%", "colorMode": "custom", "color": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 1.0 }, "scale": 1.0 } ] } ], "staticTexts": [], "dynamicTexts": [] } ``` ### 配置字段说明 | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | `name` | string | 是 | 悬浮字唯一标识名称 | | `x` | number | 是 | X 坐标 | | `y` | number | 是 | Y 坐标 | | `z` | number | 是 | Z 坐标 | | `dimId` | number | 否 | 维度 ID(0=主世界, 1=下界, 2=末地),默认 0 | | `enabled` | boolean | 否 | 是否启用,默认 true | | `lineSpacing` | number | 否 | 行间距,默认 0.3 | | `lines` | array | 是 | 文本行数组 | ### lines 数组元素字段 | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | `text` | string | 是 | 文本内容,支持 § 颜色代码 | | `colorMode` | string | 否 | 颜色模式 | | `color` | object | 否 | RGBA 颜色值(r, g, b, a 范围 0.0-1.0) | | `scale` | number | 否 | 文本缩放比例,默认 1.0 | ### 旧格式兼容 插件兼容以下旧格式配置: ```json { "staticTexts": [ { "pos": { "x": 100, "y": 64, "z": -200, "dimid": 0 }, "text": "§a静态悬浮字" } ], "dynamicTexts": [ { "pos": { "x": 100, "y": 65, "z": -200, "dimid": 0 }, "text": "§b动态悬浮字", "updateRate": 1000 } ] } ``` > 注意:旧格式悬浮字仅在 `texts` 数组为空时加载。 ## 颜色代码 支持 Minecraft 标准颜色代码: | 代码 | 颜色 | 代码 | 颜色 | |------|------|------|------| | `§0` | 黑色 | `§a` | 亮绿 | | `§1` | 深蓝 | `§b` | 亮青 | | `§2` | 深绿 | `§c` | 亮红 | | `§3` | 深青 | `§d` | 亮粉 | | `§4` | 深红 | `§e` | 黄色 | | `§5` | 深紫 | `§f` | 白色 | | `§6` | 金色 | `§l` | 粗体 | | `§7` | 灰色 | `§o` | 斜体 | | `§8` | 深灰 | `§n` | 下划线 | | `§9` | 深蓝 | `§r` | 重置 | ## API 插件导出以下 API 供其他插件调用: ```javascript const MeowFloatingText = ll.imports("MeowFloatingText"); // 检查 API 是否可用 if (MeowFloatingText && MeowFloatingText.isAvailable()) { // 创建悬浮字 const success = MeowFloatingText.create({ name: "myText", x: 100, y: 64, z: -200, dimId: 0, text: "§l§b欢迎" }); // 删除悬浮字 MeowFloatingText.remove("myText"); // 获取所有悬浮字名称 const names = MeowFloatingText.getAllNames(); // 获取悬浮字数据 const data = MeowFloatingText.getData("myText"); // 重新加载所有悬浮字 MeowFloatingText.reload(); } ``` ### API 方法 | 方法 | 参数 | 返回值 | 说明 | |------|------|--------|------| | `create(data)` | Object | boolean | 创建悬浮字 | | `remove(name)` | string | void | 删除悬浮字 | | `reload()` | - | number | 重载所有悬浮字,返回加载数量 | | `getAllNames()` | - | string[] | 获取所有悬浮字名称 | | `getData(name)` | string | Object\|null | 获取悬浮字数据 | | `isAvailable()` | - | boolean | 检查 API 是否可用 | ### create(data) 参数 ```javascript { name: string, // 必填,悬浮字名称 x: number, // 必填,X 坐标 y: number, // 必填,Y 坐标 z: number, // 必填,Z 坐标 dimId: number, // 可选,维度 ID,默认 0 text: string, // 可选,文本内容 lines: array, // 可选,多行文本数组 lineSpacing: number // 可选,行间距,默认 0.3 } ``` ## 依赖 - DebugShape-Protocol 插件 - DebugShapeAPI 模块 (`./src/DebugShapeAPI`) ## 表单功能 通过 `/mft` 命令打开主菜单,提供以下功能: 1. **创建悬浮字** - 在当前位置创建新悬浮字 2. **悬浮字列表** - 查看/管理所有悬浮字 3. **从旧配置导入** - 从 `plugins/config.json` 导入旧格式配置 4. **重载所有悬浮字** - 重新加载配置文件 5. **帮助** - 查看命令说明 ## 技术实现 - 使用 `DebugShapeAPI.ShapeFactory.createText()` 创建 TextShape 对象 - 悬浮字实例存储在 `Map<name, {shape, data}>` 中 - 玩家加入时自动发送所有悬浮字(延迟 2 秒) - 插件卸载时自动清理所有悬浮字 ## 作者 伊希娅 ## 版本 v1.0.1 [/MD]
作者
伊希娅
下载
21
查看
191
首次发布
最后更新

评分

0.00 星 0 次评分

伊希娅 的其他资源

最新更新

  1. 适配最新的DebugShape-Protocol

    支持上了MeowPapi 修复了部分bug
  2. 修复bug与更新

    修复删除悬浮字客户端需重新进入的bug 增加移动悬浮字的功能
后退
顶部 底部