
没有闲聊
使用简单的客户端JSON规则隐藏选定的聊天/系统消息。
以简洁和模组包沉浸感为设计目标,NoChatter 提供了对不需要的聊天和系统消息的可配置控制,而不会替换聊天界面或改变服务器行为。
NoChatter 面向模组包作者和玩家,他们希望隐藏来自其他模组的特定重复消息,例如设置提示、兼容性警告或破坏沉浸感的通知。
规则定义在一个小型 JSON 配置文件中,并与通常会显示在聊天中的文本进行匹配。
当不需要的杂讯出现时,答案很简单:今天不行。
最新更新 - 版本 1.0.1
NoChatter 1.0.1 添加了便利性、稳定性和游戏体验改进。
亮点
- 添加了可选配置,用于抑制传入的玩家聊天,同时将系统/模组聊天保留给现有规则处理
- 添加了可配置的客户端玩家聊天距离过滤
- 额外的稳定性和游戏体验改进
功能
- 隐藏选定的聊天/系统消息
- 可选地全局屏蔽传入的玩家聊天
- 可选的玩家聊天距离过滤,并可配置范围
- 基于 JSON 的配置
- 支持简单的
contains和startsWith匹配 - 支持使用
containsAll进行粗略短语匹配 - 每条规则可选区分大小写匹配
- 可选记录收到的消息,用于查找精确短语
- 可选记录被抑制的消息,用于测试规则
- 处理直接添加到客户端聊天组件的消息
- 轻量且对模组包安全
- 仅客户端
典型用例
- 隐藏来自客户端实用模组的重复设置提示
- 抑制破坏沉浸感的兼容性警告
- 从聊天中移除嘈杂的模组包启动消息
- 可选地隐藏传入的玩家聊天,同时保留系统消息和模组消息可用
- 帮助模组包作者优化玩家体验
配置指南
NoChatter 使用以下文件进行配置:
config/nochatter.json
该文件会在首次启动时自动创建。
可以在游戏运行时进行更改。NoChatter 会在收到消息时再次检查配置,因此在测试新规则时通常不需要重启。
核心行为
enabled
控制 NoChatter 是否抑制消息。
默认:true
如果禁用,所有抑制规则都会被忽略。
logReceivedMessages
控制是否将每条收到的聊天/系统消息写入日志。
默认:false
当你需要查找要抑制的消息的精确文本时,可临时启用此项。
logSuppressedMessages
控制是否将被抑制的消息写入日志。
默认:true
在测试规则时很有用。一旦你的配置正常工作,可以禁用此项以保持日志安静。
消息规则
规则列在 rules 下。
每条规则可以使用一个或多个匹配选项。
label
规则的友好名称。
仅用于日志。
enabled
控制这条单独规则是否启用。
默认示例规则处于禁用状态。
caseSensitive
控制匹配是否区分大小写。
默认:false
contains
抑制包含此文本的消息。
startsWith
抑制以此文本开头的消息。
containsAll
抑制包含所有列出的文本片段的消息。
当完整消息可能略有变化时,这可用于粗略匹配。
blockAllPlayerChat
抑制所有通过 Minecraft 玩家聊天频道收到的消息。
默认:false
proximityPlayerChat
将收到的玩家聊天消息限制为配置距离范围内的玩家。
默认:false
proximityChatDistance
设置启用距离聊天时,显示玩家聊天消息的最大距离(以方块为单位)。
默认:50.0
注意 - 系统、服务器和模组消息仍会保持可见,除非被配置的规则匹配。
示例配置
{
"enabled": true,
"blockAllPlayerChat": false,
"proximityPlayerChat": false,
"proximityChatDistance": 50.0,
"logReceivedMessages": false,
"logSuppressedMessages": true,
"rules": [
{
"label": "simple_voice_chat_setup_hint",
"enabled": true,
"caseSensitive": false,
"contains": "Press V to set up",
"startsWith": "",
"containsAll": []
},
{
"label": "iv_entity_culling_warning",
"enabled": true,
"caseSensitive": false,
"contains": "IV HAS DETECTED THAT ENTITY CULLING MOD IS PRESENT",
"startsWith": "",
"containsAll": []
}
]
}
匹配示例
隐藏包含特定文本的消息
{
"label": "guide_hint",
"enabled": true,
"caseSensitive": false,
"contains": "Press H to open the guide",
"startsWith": "",
"containsAll": []
}
隐藏来自可见模组前缀的消息
{
"label": "example_mod_prefix",
"enabled": true,
"caseSensitive": false,
"contains": "",
"startsWith": "[ExampleMod]",
"containsAll": []
}
隐藏粗略短语
{
"label": "chapter_unlock_hint",
"enabled": true,
"caseSensitive": false,
"contains": "",
"startsWith": "",
"containsAll": [
"You have unlocked",
"chapter"
]
}
查找要抑制的消息
如果不确定要匹配什么文本,可临时启用:
{
"logReceivedMessages": true
}
然后在游戏内触发该消息,并检查日志中类似以下的条目:
received chat source=chat_component text="[Simple Voice Chat] Press V to set up"
将文本中稳定的部分复制到规则中,然后再次禁用收到的消息日志记录。
兼容性
NoChatter 仅客户端,不需要在服务器安装。
它旨在处理通过 Minecraft 客户端聊天组件添加的消息,包括可能不会经过普通聊天事件的消息。
NoChatter 不会替换聊天界面、全局屏蔽玩家聊天或修改服务器端消息行为。
玩家聊天可以选择通过 blockAllPlayerChat 进行抑制。这仅适用于通过 Minecraft 玩家聊天频道收到的消息;系统、服务器和模组消息仍需遵循配置的规则。
报告问题
如果你遇到与其他模组的兼容性问题,或发现某种机器设置行为不正确,请通过项目问题追踪器报告,以便进行调查。
如果某条消息没有被抑制,请启用 logReceivedMessages,复现该消息,并在报告问题时附上相关的 NoChatter 日志行。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。