Skip to content

插件变量

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%判断指定套装是否至少匹配到一个部件,返回 truefalse

套装展示内容

%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%