插件变量
LySuitReload 通过 PlaceholderAPI 注册变量,变量标识符为 lsr。只有服务器安装并启用 PlaceholderAPI 后,以下变量才会注册并生效。
变量返回内容基于玩家当前已缓存的套装匹配结果。玩家加入服务器后会建立缓存,库存关闭、切换快捷栏物品或切换副手物品时会刷新套装匹配结果。
套装展示
| 变量 | 返回内容 |
|---|---|
%lsr_show% | 汇总玩家当前已匹配到部件的所有套装展示内容,并使用换行符连接。适合支持多行文本的界面或文本组件。 |
%lsr_show-行号% | 获取汇总展示内容中的指定行。行号从 1 开始,例如 %lsr_show-1% 表示第一行。行号超出范围时返回空文本。 |
%lsr_suit1-套装ID% | 获取指定套装的完整展示内容,并使用 <> 连接多行。适合写入会将 <> 识别为换行符的物品 Lore。 |
%lsr_suit2-套装ID% | 获取指定套装的完整展示内容,并使用 \\n 连接多行。适合写入会将 \\n 识别为换行符的物品 Lore。 |
%lsr_suit3-套装ID% | 判断指定套装是否至少匹配到一个部件,返回 true 或 false。 |
套装展示内容
%lsr_suit1-套装ID% 和 %lsr_suit2-套装ID% 会按照套装配置中的 lore 模板生成文本,并处理以下套装占位符:
| 套装占位符 | 返回内容 |
|---|---|
<now> 或 %now | 当前匹配到的部件数量。 |
<max> | 套装配置中的部件规则数量。 |
<now-layer> | 当前已达到的属性层数。 |
<next-layer> | 下一层属性对应的层数。 |
<state-部件ID> | 根据部件是否匹配,替换为配置中的已收集前缀或未收集前缀。 |
<sx> | 插入当前属性层对应的属性 Lore。 |
<next-sx> | 插入下一层属性对应的属性 Lore。 |
套装配置中的 <state-部件ID> 会使用以下配置项对应的文本进行替换:
yaml
# 套装已匹配部件的前缀
have-item-replace: '&a'
# 套装未匹配部件的前缀
no-item-replace: '&7'如果没有匹配到当前属性层,<sx> 默认显示 §7无。如果没有找到下一层属性,<next-sx> 不会插入内容。
套装状态
| 变量 | 返回内容 |
|---|---|
%lsr_layer-套装ID% | 返回指定套装当前匹配到的部件数量。没有玩家缓存、套装不存在或没有匹配部件时返回 0。 |
%lsr_suit3-套装ID% | 指定套装至少匹配到一个部件时返回 true,否则返回 false。 |
%lsr_layer-套装ID% 返回的是匹配部件数量,不是配置中已达到的最高属性层数。例如,套装匹配到 3 个部件,但属性只配置到第 2 层时,该变量仍返回 3。
鼠标悬停信息
以下变量用于读取当前鼠标悬停物品对应的套装信息。相关数据由 DragonCore 的 lysuitreload 数据包事件更新,通常用于 DragonCore 界面中的物品提示。
| 变量 | 返回内容 |
|---|---|
%lsr_mouse_info% | 当前鼠标悬停物品匹配到的套装完整展示内容,使用换行符连接多行。没有可用悬停套装信息时返回空文本。 |
%lsr_mouse_width% | 当前鼠标悬停套装信息的最大行宽。计算时会移除颜色代码,返回最大行的字符长度。没有可用信息时返回 0。 |
%lsr_mouse_height% | 当前鼠标悬停套装信息的行数。没有可用信息时返回 0。 |
使用这些变量时,服务器需要启用 DragonCore,并由 DragonCore 界面发送对应的 lysuitreload 悬停信息事件。LySuitReload 本身不会从普通聊天或其他界面自动推断当前鼠标悬停物品。
变量行为说明
- 变量中的
套装ID必须与套装配置中的 ID 完全一致。 - 套装 ID 可以来自主配置文件的
suit节点,也可以来自插件目录extra文件夹中的其他.yml文件。 %lsr_show%只汇总至少匹配到一个部件的套装。%lsr_suit1-套装ID%和%lsr_suit2-套装ID%会按指定套装生成展示内容,即使该套装当前没有匹配部件,也可以返回其模板内容。- 玩家对象为空时,所有变量都会返回空文本。
- PlaceholderAPI 未启用时,LySuitReload 不会注册
lsr变量。
常用场景
| 使用场景 | 推荐变量 |
|---|---|
| 多行菜单或界面文本 | %lsr_show% |
| 菜单中只显示一行 | %lsr_show-1% |
物品 Lore 中显示指定套装,并使用 <> 换行 | %lsr_suit1-套装ID% |
物品 Lore 中显示指定套装,并使用 \\n 换行 | %lsr_suit2-套装ID% |
| 判断玩家是否匹配到指定套装部件 | %lsr_suit3-套装ID% |
| 显示指定套装的当前匹配部件数量 | %lsr_layer-套装ID% |
| DragonCore 中显示悬停套装提示 | %lsr_mouse_info% |
| DragonCore 中计算悬停提示尺寸 | %lsr_mouse_width%、%lsr_mouse_height% |