ChatNotify
当你的名字被提及时播放提示音,并提供创建自定义提醒的选项。
[]()
功能
- 自定义触发器——再也不用担心错过消息!
- 可从完整的内置音效和资源包音效中选择通知声音。
- 可为每条通知单独调整音量和音调。
- 使用取色器和格式控制来自定义消息高亮。
- 使用正则表达式模式、包含触发器和排除触发器,实现更精细的控制。
- 添加自动回复消息,或触发 CommandKeys 宏。
工作原理
- ChatNotify 有一个
Notifications列表,其中每条通知都拥有一个或多个Triggers。 - 当聊天中出现新消息时,ChatNotify 会开始检查每条通知的触发器。
- 如果某个触发器与聊天消息匹配,则对应的通知会被激活。默认情况下:
- 消息会被编辑,以高亮触发该通知的触发器。
- 会播放一个声音。
- 你可以通过选项界面创建并自定义自己的通知。该界面可在 Fabric 上通过 ModMenu 打开,或在 NeoForge 上通过模组列表打开。
设置
打开选项界面后,你会看到一个通知列表。你可以在这里设置通知的触发器、颜色和声音。
触发器类型
要更改触发器类型,请点击文本框左侧的 ~ 按钮。
- 普通
- 这大概是你一开始最想使用的类型。普通触发器不区分大小写(因此触发器
hello也能匹配包含HELLO的消息),并且不会匹配部分单词(因此触发器rock会匹配rock!,但不会匹配rocket或rock932)。 - 键
- 在原版中,每种聊天消息类型都有不同的翻译键(例如
chat.type.text或chat.type.advancement.task)。你可以使用键类型触发器来匹配该类型的所有消息。 - 注意:许多服务器会从消息中移除键,这会导致此类型触发器无法工作。要检查一条消息是否有键,请使用触发器编辑器(见下文)。
- 正则
- 如果你想要更精确的控制,可以切换到此类型,并在文本框中输入正则表达式模式。
- 建议结合使用触发器编辑器(见下文)和/或诸如 regex101 之类的工具来帮助创建正则表达式模式。
触发器编辑器
点击文本框左侧的 ✎ 按钮以打开触发器编辑器。
在触发器编辑器中,最近的聊天消息会显示在列表中(最新的在最前)。使用 Filter 和 Restyle 按钮来预览你的触发器效果。
点击一条消息以查看其文本和翻译键(如果有),这样你就可以复制它们。
此外,Key Selector 中还提供了一些常见键供选择。
触发器列表
如果你想添加更多触发器,请返回 Notifications 并点击颜色按钮左侧的选项按钮。现在你将看到一个触发器列表,并可按需编辑。
样式目标
有时对于键类型和正则类型触发器,你可能想高亮消息中与触发器实际匹配部分不同的内容。
添加样式目标后,你可以指定消息中应被高亮的部分。如果样式目标与消息不匹配,则仍会正常使用触发器本身。
格式
声音
所有内置声音和资源包声音都可使用(点击文本框即可)。此外,还有一些声音可供快速选择。
声音来源决定了除这里提供的音量滑块外,Minecraft 的哪个音量控制滑块也会影响通知声音。
包含
包含触发器本身不会单独生效,但如果 Triggers 列表中的某个触发器匹配了一条消息,ChatNotify 会检查此列表中的所有触发器,并且只有在它们全部匹配时才会激活该通知。
排除
排除触发器与 Inclusion 触发器相反;在激活通知之前,ChatNotify 会检查此列表中的所有触发器,并且只有当它们都不匹配该消息时才会继续激活。
回复
当通知被激活时,回复消息会发送到聊天中。
请谨慎使用,因为你很容易让某条通知发送出一条会再次触发该通知的回复,从而形成循环,刷爆聊天并最终导致游戏崩溃。
自定义消息
这些是显示通知的特殊方式,可作为普通“播放声音并高亮消息”的替代方案。
控制
这些选项适用于所有通知,并控制 ChatNotify 行为的各个方面。通常你不需要更改它们(当然,如果你愿意也可以),但在与其他模组发生冲突的某些情况下,Detect 和 Send Mode 选项会很有用。
默认值
如果你希望新通知默认具有某种颜色或声音,可以在这里设置。
前缀
当 ChatNotify 不使用 Chat Heads 来检测消息发送者时,它会存储你发送过的消息,并将它们与收到的消息进行比较,以判断哪些消息是你自己发送的。如果你所在的服务器会修改你的消息,那么这个系统可能无法正常工作,因此前缀会有所帮助。
如果你发送的每条消息仍然都会触发通知(因为其中包含你的名字),请尝试安装 Chat Heads,并在 Controls 选项卡中将 Sender Detection Mode 设置为 Combined。
GUI 微调
特殊控件
ChatNotify 使用了一系列自定义 GUI 控件,其行为与 Minecraft 的普通控件不同。
- 选项界面中的颜色(
🌢)和声音(🔊)状态按钮支持右键单击切换状态。 - 文本框已修改为支持双击、三击,或点击并拖动来选择文本。
- 文本框还已修改为支持
CTRL+Z撤销和CTRL+Y重做编辑。请注意,每当 GUI 刷新时,编辑历史都会被清除,而这通常会在你点击其他控件时发生。 - 颜色选择器和下拉文本框等全屏覆盖控件支持点击外部区域以取消并关闭。
聊天高度滑块
- ChatNotify 修改了聊天高度滑块(位于 Minecraft 的
Chat Settings中),将最大值提高到500px。 - 你现有的设置会保持不变,除非你决定手动修改它。
依赖
Fabric: Fabric API, ModMenu
NeoForge: 无
兼容性
如果你遇到问题,请在 Discord 或 GitHub 上反馈。