Skip to content

LySuitReload

LySuitReload 是一个 Minecraft 套装收集与套装属性插件。插件会读取玩家指定槽位中的物品,根据物品名称、Lore、NBT、PlaceholderAPI 条件和权限条件匹配套装部件,并按照已激活的部件数量发放套装属性与药水效果。

插件信息

项目内容
插件名LySuitReload
插件版本1.1.3
作者Liyuan
主命令/lsr
配置文件plugins/LySuitReload/config.yml
额外套装目录plugins/LySuitReload/extra/

玩法与机制

  1. plugin-slot 中指定需要参与统计的物品槽位。
  2. suitextra 目录的 YAML 文件中创建套装。
  3. 使用 set 为套装定义多个部件及其匹配条件。
  4. 玩家满足套装的权限和变量条件后,插件会检查指定槽位中的物品。
  5. 每个部件最多计入一次,已激活部件数量就是当前套装层数。
  6. 插件根据当前层数选择最高的 sx 属性层和 effect 药水效果层。
  7. 套装 Lore 可以显示当前进度、已激活部件、当前属性和下一层属性。

玩家加入服务器、关闭背包、切换快捷栏物品或交换主副手物品后,插件会刷新套装匹配结果。属性和药水效果任务会定时检查玩家当前套装状态。

依赖与联动

软依赖

项目 plugin.yml 中登记的软依赖如下:

插件用途
PlaceholderAPI注册 lsr 变量,并处理套装中的 papi 条件
SX-Attribute提供 SX-Attribute2SX-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 值
多条件匹配一条部件规则可以使用分号连接多个条件,全部满足后才算激活
权限条件支持套装级激活权限、部件级 permissionnopermission 条件
PlaceholderAPI 条件支持套装级 papi 条件和部件级 papi 条件,并可使用逻辑与数学比较表达式
套装层数属性根据激活部件数量选择最高可用的属性层
套装药水效果根据激活部件数量选择最高可用的药水效果层
Lore 展示支持显示套装总进度、当前层数、下一层属性和部件激活状态
PlaceholderAPI 变量支持单行、自动换行、指定套装详情、套装层数和激活状态变量
额外套装文件自动读取 extra 目录及其子目录中的 YAML 套装文件
DragonCore 提示联动可根据 DragonCore 的 lysuitreload 数据记录鼠标指向的套装部件,并配合变量显示详情

指令

指令使用条件说明
/lsrOP显示当前可用的管理提示
/lsr reloadOP重载配置和套装数据

项目未在 plugin.yml 中声明独立权限节点,指令执行权限由 OP 判断。

配置与套装

插件启动或执行 /lsr reload 时会重新读取主配置,并加载 extra 目录中的 YAML 文件。extra/示例套装.yml 是插件自动保存的示例文件,不会作为实际套装重复加载。

配置内容请查看:

  • 配置说明:全局配置、属性插件和物品槽位格式。
  • 套装配置:套装 ID、部件匹配、层数属性、药水效果和 Lore 模板。

PlaceholderAPI 变量

插件注册的 PlaceholderAPI 标识符为 lsr。变量详情请查看插件变量

当前代码提供以下变量类型:

变量格式说明
%lsr_show%返回所有已激活套装的 Lore,并使用换行符连接
%lsr_show-数字%返回所有套装 Lore 中指定序号的一行;当前代码按 1 开始读取
%lsr_suit1-套装ID%返回指定套装 Lore,并使用 <> 作为行分隔符
%lsr_suit2-套装ID%返回指定套装 Lore,并使用 \n 作为行分隔符
%lsr_suit3-套装ID%返回指定套装是否激活至少一个部件,结果为 truefalse
%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.101.12.2
  • 使用外部背包、饰品栏或界面槽位时,对应联动插件是否已安装并启用。
  • 修改 attribute-plugin 后是否按要求重启服务器。

页面导航

页面内容
配置说明全局配置、属性插件和槽位写法
套装配置套装节点、匹配条件、层数属性、药水效果和 Lore 模板
插件变量PlaceholderAPI 变量、换行方式和 DragonCore 提示变量
常见问题配置、版本和联动问题
更新日志文档记录