Skip to content

常见问题

LyOptimize 用于控制玩家看到的玩家、模型、粒子和自定义消息。玩家的开关状态会被保存;数据库相关功能需要额外满足数据库依赖和连接条件。

指令切换后状态没有保存

插件会保存玩家的开关状态。出现重启后状态未保留时,请先确认玩家数据是否正常保存。

如果启用了 MySQL 存储:

  • 必须安装 LyMySQLCore
  • LyMySQLCore 必须成功连接数据库。
  • 数据库连接未成功时,相关数据功能不会生效。
  • 修改 mysql.enable 后必须重启服务器。

如果没有启用数据库,则使用插件本地数据保存玩家状态。

/lo 指令可以做什么

插件在 plugin.yml 中注册的主指令是 /lo。当前已确认的切换指令如下:

指令作用
/lo par [玩家]切换原版粒子屏蔽状态;可指定玩家
/lo player [玩家]切换其他玩家显示状态;可指定玩家

指令中的 [玩家] 是可选的玩家名称占位符,实际输入时不要保留方括号。

原版粒子没有全部屏蔽

/lo par [玩家] 只处理服务端发送的原版粒子效果。客户端本地生成的部分效果不一定能被插件屏蔽。

原版粒子开关与暴雪粒子开关是不同功能。原版粒子对应变量 %lo_par%,自身、其他玩家和怪物的暴雪粒子分别由 %lo_sbp%%lo_obp%%lo_mbp% 表示。

暴雪粒子没有按预期屏蔽

插件分别处理以下暴雪粒子类型:

  • 自身暴雪粒子
  • 其他玩家相关的暴雪粒子
  • 怪物暴雪粒子

请确认切换的是对应类型的开关,而不是原版粒子开关。相关状态可以通过以下变量查看:

变量含义
%lo_obp%其他暴雪粒子是否屏蔽
%lo_sbp%自身暴雪粒子是否屏蔽
%lo_mbp%怪物暴雪粒子是否屏蔽
%lo_par%原版粒子是否屏蔽

这些变量返回 屏蔽显示 状态。

自定义消息屏蔽不生效

插件匹配的是消息 JSON 文本中的关键词,不一定等于玩家最终看到的彩色文本。建议使用消息中稳定且不会变化的文字,不要把颜色符号作为关键词的一部分。

配置中的 hide-custom-messageplayer-hide-custom-message 都使用关键词规则。例如:

yaml
hide-custom-message:
  - '关键词一|关键词二|关键词三'

同一条规则中的多个关键词使用 | 分隔,表示需要同时匹配这些关键词。只有消息中同时包含所有关键词时,该规则才会处理整条消息。

如果关键词写入后仍然无法屏蔽,请尝试替换为消息 JSON 中实际存在且更加稳定的文字。

全局消息屏蔽和玩家自定义消息屏蔽有什么区别

两组配置的关键词格式相同,都支持使用 | 匹配多个关键词,但生效条件不同:

配置键作用
hide-custom-message全局自定义消息屏蔽规则
player-hide-custom-message玩家开启自定义消息屏蔽开关后使用的规则

hide-custom-message 用于全局处理配置中指定的消息;player-hide-custom-message 只在对应玩家开关开启后生效。

如何判断自定义消息是否被屏蔽

自定义消息屏蔽针对消息 JSON 文本中的关键词进行匹配。玩家最终看到的文本可能经过颜色、格式或组件处理,因此可见内容与实际匹配文本不一定完全相同。

排查时建议:

  1. 先使用一段不会变化的纯文字作为关键词。
  2. 不要把颜色代码、格式代码或容易变化的内容写入关键词。
  3. 多关键词规则使用 | 分隔。
  4. 确认所有关键词都存在于同一条消息的 JSON 文本中。

隐藏玩家后又显示出来

执行 /lo player [玩家] 会切换其他玩家显示状态。该指令是切换操作,重复执行会在隐藏和显示之间切换。

如果状态反复变化,请确认没有菜单按钮、变量组件或其他插件重复执行显示玩家相关的操作。

玩家显示状态可以通过 %lo_player% 查看。

模型屏蔽状态显示不正确

模型屏蔽状态与粒子屏蔽状态独立处理。请使用 %lo_model% 查看当前模型是否屏蔽,不要使用粒子相关变量判断模型状态。

变量显示为空

玩家数据未加载时,变量可能返回空。请确认:

  • 玩家已经在线。
  • 玩家数据已经完成加载。
  • PlaceholderAPI 已安装并正常运行。
  • 使用的变量名称与插件提供的变量完全一致。

LyOptimize 在 plugin.yml 中将 PlaceholderAPI 声明为软依赖。未安装 PlaceholderAPI 时,相关变量无法正常使用。

当前配置文件中记录的变量如下:

变量含义
%lo_obp%其他暴雪粒子是否屏蔽
%lo_sbp%自身暴雪粒子是否屏蔽
%lo_mbp%怪物暴雪粒子是否屏蔽
%lo_par%原版粒子是否屏蔽
%lo_model%模型是否屏蔽
%lo_message%自定义消息是否屏蔽
%lo_player%其他玩家是否屏蔽

修改数据库配置后没有生效

数据库配置位于 mysql 配置段。修改数据库启用状态后必须重启服务器,不能仅依靠普通配置重载使其生效。

配置项如下:

配置键作用
mysql.enable是否启用数据库存储
mysql.databasename数据库名称
mysql.username数据库用户名
mysql.password数据库密码
mysql.port数据库端口
mysql.ip数据库地址

配置结构示例:

yaml
mysql:
  enable: false
  databasename: mc2
  username: mc2
  password: mc1234
  port: 3306
  ip: 127.0.0.1

使用 MySQL 存储时,必须安装 LyMySQLCore,并确认它已经成功连接数据库;否则相关功能不会生效。

消息提示文字可以修改吗

可以。插件的切换提示位于 message 配置段,分别对应玩家显示状态、全局自定义消息、各类暴雪粒子、原版粒子和模型的启用与屏蔽提示。

可修改的配置键如下:

配置键作用
message.hide-player屏蔽其他玩家时的提示
message.show-player显示其他玩家时的提示
message.hide-custom-message屏蔽全局自定义消息时的提示
message.show-custom-message启用全局自定义消息时的提示
message.hide-other-blizzard-particles屏蔽其他暴雪粒子时的提示
message.show-other-blizzard-particles启用其他暴雪粒子时的提示
message.hide-self-blizzard-particles屏蔽自身暴雪粒子时的提示
message.show-self-blizzard-particles启用自身暴雪粒子时的提示
message.hide-mob-blizzard-particles屏蔽怪物暴雪粒子时的提示
message.show-mob-blizzard-particles启用怪物暴雪粒子时的提示
message.hide-minecraft-particles屏蔽原版粒子时的提示
message.show-minecraft-particles启用原版粒子时的提示
message.hide-model屏蔽模型时的提示
message.show-model启用模型时的提示

修改提示文字时请保留正确的 YAML 缩进,并注意配置中的颜色代码格式。

修改消息关键词后仍然无法屏蔽

请重点检查以下内容:

  • 关键词是否存在于消息 JSON 文本,而不是只存在于最终显示效果中。
  • 是否误将颜色符号或格式内容写入关键词。
  • 使用 | 时,多个关键词是否全部存在于同一条消息中。
  • 是否修改了正确的配置项:全局规则使用 hide-custom-message,玩家开关规则使用 player-hide-custom-message
  • 配置文件是否保持了有效的 YAML 格式。

开启数据库后相关状态仍然没有效果

请按以下顺序确认:

  1. mysql.enable 已设置为 true
  2. 修改配置后已经重启服务器。
  3. LyMySQLCore 已安装。
  4. LyMySQLCore 已成功连接数据库。
  5. 数据库地址、端口、名称、用户名和密码均正确。

只修改配置但未安装 LyMySQLCore,或者数据库连接失败时,相关数据库功能不会生效。