LySuitReload
LySuitReload 是一个 Minecraft 套装收集与套装属性插件。插件会读取玩家指定槽位中的物品,根据物品名称、Lore、NBT、PlaceholderAPI 条件和权限条件匹配套装部件,并按照已激活的部件数量发放套装属性与药水效果。
插件信息
| 项目 | 内容 |
|---|---|
| 插件名 | LySuitReload |
| 插件版本 | 1.1.3 |
| 作者 | Liyuan |
| 主命令 | /lsr |
| 配置文件 | plugins/LySuitReload/config.yml |
| 额外套装目录 | plugins/LySuitReload/extra/ |
玩法与机制
- 在
plugin-slot中指定需要参与统计的物品槽位。 - 在
suit或extra目录的 YAML 文件中创建套装。 - 使用
set为套装定义多个部件及其匹配条件。 - 玩家满足套装的权限和变量条件后,插件会检查指定槽位中的物品。
- 每个部件最多计入一次,已激活部件数量就是当前套装层数。
- 插件根据当前层数选择最高的
sx属性层和effect药水效果层。 - 套装 Lore 可以显示当前进度、已激活部件、当前属性和下一层属性。
玩家加入服务器、关闭背包、切换快捷栏物品或交换主副手物品后,插件会刷新套装匹配结果。属性和药水效果任务会定时检查玩家当前套装状态。
依赖与联动
软依赖
项目 plugin.yml 中登记的软依赖如下:
| 插件 | 用途 |
|---|---|
PlaceholderAPI | 注册 lsr 变量,并处理套装中的 papi 条件 |
SX-Attribute | 提供 SX-Attribute2 或 SX-Attribute3 属性处理方式 |
AttributePlus | 提供 AttributePlus 属性处理方式 |
DZ_Status | 项目登记的软依赖 |
ProtocolLib | 项目登记的软依赖 |
GermPlugin | 读取萌芽槽位 |
DragonCore | 读取龙核槽位,并处理龙核提示交互 |
LyInventory | 读取离渊背包 1.0 槽位 |
可选属性实现
attribute-plugin 支持以下配置值:
| 配置值 | 说明 |
|---|---|
AttributePlus | 使用 AttributePlus 下发属性 |
AttributePlus2 | 使用 AttributePlus 的删除后重新下发方式 |
SX-Attribute2 | 使用 SX-Attribute 2 的属性接口 |
SX-Attribute3 | 使用 SX-Attribute 3 的属性接口 |
ItemLoreOrigin | 通过 ItemLoreOrigin 的虚拟物品 Lore 提供属性 |
AttributeCompatibleAPI | 通过属性兼容接口下发属性 |
AttributeSystem | 使用 AttributeSystem 下发属性 |
属性插件配置发生变化时,项目注释要求重启服务器。
如果使用 ItemLoreOrigin,还需要安装对应的 ItemLoreOrigin 插件。如果使用某一种外部属性实现,需要确保对应插件及其 API 可用。
支持版本
项目代码明确提供了以下 Minecraft 版本的 NBT 检测实现:
| Minecraft 版本 | NBT 检测 |
|---|---|
1.7.10 | 支持,使用 NbtUtil_1_7_R4 |
1.12.2 | 支持,使用 NbtUtil_1_12_R1 |
| 其它版本 | 插件会提示当前版本不支持 NBT 检测 |
项目构建配置使用 Java 8,并以 Paper API 1.16.5-R0.1-SNAPSHOT 作为编译依赖;项目代码没有提供其它 Minecraft 版本的 NBT 实现,因此不能仅根据编译依赖认定其它版本完整支持。
主要功能
| 功能 | 说明 |
|---|---|
| 多来源槽位统计 | 支持原版背包、原版装备栏、主手、副手、DragonCore、GermPlugin、APInventory、LyInventory、LyInventoryReload 和 YeeJewelry |
| 名称匹配 | 检查物品显示名称是否包含指定文本 |
| Lore 匹配 | 检查物品任意 Lore 行是否包含指定文本 |
| NBT 匹配 | 支持按点号路径检查字符串型 NBT 值 |
| 多条件匹配 | 一条部件规则可以使用分号连接多个条件,全部满足后才算激活 |
| 权限条件 | 支持套装级激活权限、部件级 permission 和 nopermission 条件 |
| PlaceholderAPI 条件 | 支持套装级 papi 条件和部件级 papi 条件,并可使用逻辑与数学比较表达式 |
| 套装层数属性 | 根据激活部件数量选择最高可用的属性层 |
| 套装药水效果 | 根据激活部件数量选择最高可用的药水效果层 |
| Lore 展示 | 支持显示套装总进度、当前层数、下一层属性和部件激活状态 |
| PlaceholderAPI 变量 | 支持单行、自动换行、指定套装详情、套装层数和激活状态变量 |
| 额外套装文件 | 自动读取 extra 目录及其子目录中的 YAML 套装文件 |
| DragonCore 提示联动 | 可根据 DragonCore 的 lysuitreload 数据记录鼠标指向的套装部件,并配合变量显示详情 |
指令
| 指令 | 使用条件 | 说明 |
|---|---|---|
/lsr | OP | 显示当前可用的管理提示 |
/lsr reload | OP | 重载配置和套装数据 |
项目未在 plugin.yml 中声明独立权限节点,指令执行权限由 OP 判断。
配置与套装
插件启动或执行 /lsr reload 时会重新读取主配置,并加载 extra 目录中的 YAML 文件。extra/示例套装.yml 是插件自动保存的示例文件,不会作为实际套装重复加载。
配置内容请查看:
PlaceholderAPI 变量
插件注册的 PlaceholderAPI 标识符为 lsr。变量详情请查看插件变量。
当前代码提供以下变量类型:
| 变量格式 | 说明 |
|---|---|
%lsr_show% | 返回所有已激活套装的 Lore,并使用换行符连接 |
%lsr_show-数字% | 返回所有套装 Lore 中指定序号的一行;当前代码按 1 开始读取 |
%lsr_suit1-套装ID% | 返回指定套装 Lore,并使用 <> 作为行分隔符 |
%lsr_suit2-套装ID% | 返回指定套装 Lore,并使用 \n 作为行分隔符 |
%lsr_suit3-套装ID% | 返回指定套装是否激活至少一个部件,结果为 true 或 false |
%lsr_layer-套装ID% | 返回指定套装当前激活的部件数量 |
%lsr_mouse_info% | 返回 DragonCore 当前鼠标指向套装的 Lore,并使用换行符连接 |
%lsr_mouse_width% | 返回当前鼠标指向套装 Lore 的最大文本长度 |
%lsr_mouse_height% | 返回当前鼠标指向套装 Lore 的行数 |
%lsr_mouse_info%、%lsr_mouse_width% 和 %lsr_mouse_height% 需要 DragonCore 通过 lysuitreload 交互数据设置当前鼠标指向的物品。
API
插件提供 LySuitAPI 接口,包含以下方法:
| 方法 | 返回值 | 说明 |
|---|---|---|
getEnableSuits(Player player) | Map<String, Integer> | 获取玩家启用的套装及对应数量 |
getEnableSuitLayer(Player player, String suit) | int | 获取玩家指定套装的当前层数 |
项目同时提供 LySuitAPIServer 实现类,但当前证据中的实现方法返回空映射或 0,使用前需要确认实际运行版本是否完成 API 注入和实现。
常见问题
常见配置和兼容性问题请查看常见问题。重点检查以下内容:
plugin-slot是否填写了正确的槽位格式。- 使用
papi条件或 PlaceholderAPI 变量时,PlaceholderAPI是否已安装并启用。 - 使用 NBT 匹配时,服务器是否为项目提供实现的
1.7.10或1.12.2。 - 使用外部背包、饰品栏或界面槽位时,对应联动插件是否已安装并启用。
- 修改
attribute-plugin后是否按要求重启服务器。
页面导航
| 页面 | 内容 |
|---|---|
| 配置说明 | 全局配置、属性插件和槽位写法 |
| 套装配置 | 套装节点、匹配条件、层数属性、药水效果和 Lore 模板 |
| 插件变量 | PlaceholderAPI 变量、换行方式和 DragonCore 提示变量 |
| 常见问题 | 配置、版本和联动问题 |
| 更新日志 | 文档记录 |