常见问题
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-message 和 player-hide-custom-message 都使用关键词规则。例如:
yaml
hide-custom-message:
- '关键词一|关键词二|关键词三'同一条规则中的多个关键词使用 | 分隔,表示需要同时匹配这些关键词。只有消息中同时包含所有关键词时,该规则才会处理整条消息。
如果关键词写入后仍然无法屏蔽,请尝试替换为消息 JSON 中实际存在且更加稳定的文字。
全局消息屏蔽和玩家自定义消息屏蔽有什么区别
两组配置的关键词格式相同,都支持使用 | 匹配多个关键词,但生效条件不同:
| 配置键 | 作用 |
|---|---|
hide-custom-message | 全局自定义消息屏蔽规则 |
player-hide-custom-message | 玩家开启自定义消息屏蔽开关后使用的规则 |
hide-custom-message 用于全局处理配置中指定的消息;player-hide-custom-message 只在对应玩家开关开启后生效。
如何判断自定义消息是否被屏蔽
自定义消息屏蔽针对消息 JSON 文本中的关键词进行匹配。玩家最终看到的文本可能经过颜色、格式或组件处理,因此可见内容与实际匹配文本不一定完全相同。
排查时建议:
- 先使用一段不会变化的纯文字作为关键词。
- 不要把颜色代码、格式代码或容易变化的内容写入关键词。
- 多关键词规则使用
|分隔。 - 确认所有关键词都存在于同一条消息的 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 格式。
开启数据库后相关状态仍然没有效果
请按以下顺序确认:
mysql.enable已设置为true。- 修改配置后已经重启服务器。
LyMySQLCore已安装。LyMySQLCore已成功连接数据库。- 数据库地址、端口、名称、用户名和密码均正确。
只修改配置但未安装 LyMySQLCore,或者数据库连接失败时,相关数据库功能不会生效。